PROJET – Zelen Zajac, Ollama Client IA
Ce matin un lapin, a tué un chasseur…
Dans mon cas personnel je devrais plutôt dire, Ce matin un prompt Ollama a tué mon serveur…
Toujours dans la dynamique du sujet d’étude en cours « l’IA1 » et l’étude de la solution Ollama, je suis victime du fait de sa causalité de l’ouverture d’un projet et donc de cet article.
Pour reprendre la conclusion de l’article traitant d’Ollama et de la solution OpenWebUI, j’avais émis l’hypothèse de créer mon propre client Ollama en me passant sur l’API2 de ce dernier.
Du fait de la consommation de ressource importante nécessaire au bon fonctionnement d’OpenWebUI et d’Ollama, je voyais plutôt d’un bon œil de créer son propre client. Soit pour faire simple de se passer de la solution OpenWebUI. L’un des arguments complémentaires, l’interface CLI d’Ollama n’est pas hyper user-friendly pour celui qui n’a pas l’habitude des interfaces CLIs. Ce que je souhaite c’est un usage à moyen et grande échelle. Comprendre par là un environnement familial ou pourquoi pas dans une PME ?
Avec l’ensemble de ces réflexions, je me suis dit
« Ok je me lance et si ça les tests sont concluants je fais ma petite application… »
C’est là que ça dérape. Pris d’une creative fever (sans vouloir divulgâcher la suite du billet), le projet SS_0453 va basculer en GS_0454 sous son nom de code Zelen Zajac ou en français Lapin Vert. Cela viendra donc concrétiser la création d’un client multiplateforme CLI5 et GUI6 pour Windows.

Comme quoi, encore une fois d’une petite idée va naitre un projet sympathique. Surement inutile, mais sympathique 🙂 Et je suis certain que le fan club de Chantal Goya sera content #coeur.
Avant-Propos
Contrairement aux projets précédents Green Ray ou Dream Nebula je vais rentrer un peu plus en détail dans la technique et ce pour des raisons simples que j’ai appris et renforcé pas mal de compétence en termes de développement.
Cet article sera donc orienté plus développement qu’infrastructure.
Mon code sera disponible sur GitHub contrairement à d’autres projets.
Pourquoi ce choix et ce revirement de position ?
Parce que je pense que cela peut être profitable à d’autres utilisateurs de la solution Ollama qui veulent se passer d’OpenWebUI. 🙂 Et je pense que là c’est rester dans le monde de l’open-source.
Bref, si votre curiosité est toujours suscitée je pense que le reste de l’article devrait vous satisfaire. Dans le cas contraire, je vous laisse exécuter la combinaison Ctrl+F4 ou Ctrl+W pour fermer cet onglet.
Prérequis
- SE :
- Windows (Server ou Workstation)
- GNU/Linux (RHEL7 ou Debian)
- Apps :
- Ollama
- Autres :
- PowerShell version 5 et supérieur
Guide
- Partie 1 : Théorie
- Définir l’expression du besoin
- Aborder le cahier des charges
- Défendre les solutions techniques retenus
- Partie 2 : Pratique
- Guide de déploiement de la solution
- Paramétrage de l’application
- Partie 3 : Démonstration
- Présentation de la solution dans les différents modes qui ont été développés
Conclusion
Ce petit projet a été source de défis pour ne pas écrire challenges et de montée en compétence sur le code. Oui moi qui ne jure que sur le CLI, je me mets à faire du GUI.
La plus belle satisfaction reste d’avoir fait mon premier code cross-plateform .Net entre les SEs8 Windows et Linux. Le côté agnostique permet donc d’avoir une seule version du code ce qui facilite l’évolution et le maintien du code, mais surtout d’offrir les mêmes services peu importe la nature du système de l’utilisateur. Je me sens à ce moment comme un chevalier ayant réussi ça quête… Ou pas car le démoniaque lapin est toujours là est doit être rassasié (amélioré, je voulais dire <3 ) !

Si je me réfère à l’actualité au moment de la rédaction de ce billet, la volonté du gouvernement français de se libérer des technologies américaines sur les outils informatiques aux détriments de solutions françaises et open source viennent alimenter d’eau mon moulin.
Au-delà de ces derniers points, j’ai trouvé intéressant de manipuler l’API OLLAMA dans le cadre d’un réseau local afin d’offrir une solution viable et fiable dans une PME.
Mon application reste certes à évoluer pour être réellement concurrentiel aux solutions actuellement sur le marché. Toutefois est-ce là mon objectif ? Je ne crois pas, du moins je n’ai pas cette prétention.
Ce qui me rassurer néanmoins, ce que j’ai pu faire nativement peut donc être implémenté comme plugin d’une application, voir encore être utilisé comme une passerelle applicative entre deux applications. Par exemple, j’ai la volonté de reprendre mon projet de passerelle applicative entre VEEAMOne et ITOP pour générer des tickets sur le déclenchement d’une alarme d’exploitation géré par l’IA. Ca, c’est bandant comme projet et serait super faire un pas de plus vers l’efficience !
L’IA que je voyais comme une menace est ennemie au final selon l’usage que nous voulons en faire devient un outil puissant. Certes, j’ai mis du temps à être convaincu par la chose mais il n’est jamais trop tard. Le plus important pour moi est de rester supérieur à l’IA dans l’usage que je vais en faire.
Le mot de la fin :
C’est l’histoire d’un Lama qui rencontre un Lapin, vous buvez un verre ? Puis un homme rentre dans un bar. Stop appelez Brigitte BARDOT ! J’ai mon API qui me dérange ! Je je suis agnostique, je suis un lapin !
Erwan GUILLEMARD
Sources
- Windows : Installer Powershell pour Linux
- Article : OpenWebui
- Article : Ollama
