[Tech] Mon utilisation professionnelle et privée des IA
Commençons tout de suite par un disclaimer: le but de cet article n'est pas de lancer un débat sur les bienfaits ou les méfaits de l'IA. Nous autres, gens de la tech, sommes suffisamment bombardés d'informations plus ou moins anxiogènes liées à ce sujet. La bulle financière, les problèmes écologiques qu'impliquent les nouveaux datacenters et leurs besoins gargantuesques en eau, la merdification de nombreux services utilisant l'IA de près ou de loin, sont autant de raisons de remettre en cause son utilisation. Pourtant, en tant que geek, je ne peux pas rester en retrait et faire comme si cela n'existait pas. Tout n'est pas à jeter, il n'a, par exemple, jamais été aussi facile pour un sysadmin comme votre serviteur de se lancer dans un nouveau langage qu'il ne maitrise pas, ou de développer un playbook Ansible en quatre heures au lieu de quatre semaines. Ce n'est pas la réalité de tout le monde, mais c'est la mienne et je l'assume.
Ceci étant dit, je souhaite garder une trace, aussi parce que j'ai tendance à tout oublier très rapidement. Je vais donc simplement lister les usages et projets dans lesquels j'implique l'IA.
Si cela ne vous intéresse pas, libre à vous de fermer cet onglet. J'ai toujours écrit pour moi en premier, tant mieux si d'autres y trouvent leur compte, tant pis si ce n'est pas le cas.
Ah et cet article a beau parler d'IA, il est entièrement rédigé à la main, comme tous les articles sur mon site. Je tiens à le préciser.
Setup et principes de base
J'utilise essentiellement Claude Code, soit nativement, soit l'extension dans VS Code. J'ai acheté un abonnement "Pro" il y a six mois, pour voir. Mon employeur ne me force aucunement à utiliser activement l'IA, ce n'est même pas un sujet. J'ai cependant rapidement trouvé des cas d'usages en entreprise, j'utilise donc mon abonnement privé à des fins professionnelles, et je sais que je ne suis pas le seul, c'est pour le moment toléré. Ça ne me dérange pas, car il m'arrive très rarement d'atteindre les limites de mon abonnement. Ces derniers temps, c'est principalement Opus 5 qui est aux commandes, mais les modèles popent tous les jours, on ne sait pas de quoi demain sera fait. J'essaie de rester rationnel dans mon usage, c'est-à-dire que j'essaie de ne jamais m'appuyer essentiellement sur un LLM. Si je mets en place un outil, je ne veux pas qu'il devienne un SPOF (Single Point of Failure). Vous comprendrez mieux en lisant ce que l'IA a pu produire sous mes ordres ci-dessous. Sinon, je connais les MCP, les skills, le fichier CLAUDE.MD. J'essaie de me tenir au courant des derniers outils, même si le FOMO (Fear of Missing Out) n'est jamais loin. L'IA n'est pas encore capable de me remplacer, elle n'est pas encore capable d'effectuer une migration de VMware vers Proxmox par exemple, encore que. C'est plutôt que les gens ne sont pas encore tout à fait prêts à confier ce type de tâche à l'IA, en tout cas dans la sphère professionnelle où j'évolue. Je me fourre peut-être le doigt dans l'œil, mais c'est ma constatation actuellement.
Usage pro
Comme je suis déjà dans le thème, on commence par mon usage pro général, puis quelques outils particuliers. Ici, c'est essentiellement Claude Code dans VS Code que j'utilise, ce qui me permet de commiter facilement sur nos différents projets. Pour mes devs persos que ne nécessitent pas d'être versionnés ou backupés, je dédie un répertoire local sur mon PC. C'est là aussi que je stocke la "mémoire" de Claude sous forme de fichiers .md, par exemple lors d'une longue session de debug, sur laquelle je souhaite capitaliser si cela devait se reproduire ou pour reprendre plus tard. Un exemple concret est un debug SQL, que je ne maitrise absolument pas, ce n'est pas mon métier. Je suis pourtant potentiellement amené à le faire, et cela m'a déjà permis de remonter des informations à des fournisseurs. Sans LLM pour me guider, il y a très peu de chances pour que j'arrive à en faire autant. Je parlais de Ansible en intro, typiquement Claude est très fort pour sortir des scripts PowerShell, m'assister sur HAProxy dès que ça devient compliqué, analyser un docker-compose foireux qu'un collègue ne maitrise pas. Autant d'exemples du quotidien qui font gagner un temps fou. De plus, la plupart du temps, je trouve Claude pertinent dans ses réponses ou ses propositions d'améliorations de code. En tout cas je ne l'ai pas encore regretté, ce qui ne veut pas dire que ça n'arrivera pas. Ah oui, et j'utilise le MCP Atlassian pour lire, éditer ou créer des documentations sur Confluence, notre outil de documentation principal. C'est particulièrement efficace, à tel point qu'un collègue qui avait beaucoup de peine à se lancer dans la création de documentation s'est mis à accoucher de longues pages bien trop fournies... c'est le revers de la médaille, le LLM n'a de limites que celles qu'on veut bien lui donner. Contexte, instructions précises, tout ça.
RDS Manager
Voici le premier outil notable que j'utilise régulièrement. Pour le contexte, je gère une ferme RDS avec des serveurs de session, le tout dédié à un produit essentiel de l'entreprise. Dans le cadre des mises à jour dudit produit, il est préalablement nécessaire d'envoyer des messages à plusieurs dizaines d'utilisateurs puis de les déconnecter. Il est également nécessaire de désactiver les nouvelles connexions des utilisateurs pendant la mise à jour. Quiconque a déjà géré une ferme RDS sait que la GUI de Windows n'est pas très efficace dans ce cas de figure. J'ai donc rapidement mis en place des scripts PowerShell (faits main, je précise) tout simples pour me permettre de faire la même chose sans me taper la GUI. Puis, quand j'ai réalisé qu'à la pression de l'update, qui nécessite des actions manuelles, se rajoutait la pression de lancer le bon script dans le bon ordre, j'ai pris l'initiative de créer un seul script agrégeant ces fonctionnalités, avec une interface à boutons, pour me permettre de réaliser ces actions et de limiter les erreurs humaines. Je l'utilise sans problème depuis plusieurs mois, et le fallback dans ce cas ce sont les scripts originaux, si par malheur mon script à tout faire venait à poser problème. Une autre personne peut aussi réaliser ces actions avec moins de connaissances nécessaires qu'auparavant. Nombre de lignes de code : ~800.
TimeCheat
Mon chef actuel a développé un outil en PHP/HTML nommé TimeSheet, qui permet de noter ses heures et de les envoyer dans une stack ELK pour générer des statistiques, savoir quels projets nous ont occupés, si telle tâche prend plus d'ampleur que l'année précédente, etc. Le problème, c'est qu'il n'a plus le temps de le maintenir et que l'interface, en plus d'être très moche, n'est pas ergonomique pour un sou. Je suis partisan de noter mes heures de manière assidue, car cela me permet de savoir combien de temps j'ai passé sur tel projet, de refacturer nos heures en interne, ou simplement de me souvenir ce que j'ai fait il y a deux semaines ou deux mois. J'ai donc pris l'initiative de développer TimeCheat, une bête page .html qui s'appuie sur TimeSheet, mais avec un affichage et des fonctionnalités modernes. On peut par exemple changer de jour rapidement, recopier ou modifier facilement une entrée passée, ou créer des templates de tâches qu'on utilise souvent. Bref, que des fonctionnalités qui étaient soit bancales, soit inexistantes. Comme pour RDS Manager, cet outil ne fait que vivre à côté du produit original, il ne crée aucune dépendance, je n'ai pas touché à TimeSheet et ceci volontairement. Si mon outil assisté par IA ne marche plus, je ne veux pas qu'il devienne un SPOF, même s'il y a peu de chance, cette chance existe. Aujourd'hui et depuis plusieurs mois, tous mes collègues utilisent TimeCheat y compris mon chef. Nombre de lignes de code : ~2500.
Usage privé
Grosso modo la même, si ce n'est que j'utilise Claude Code en plus de de VS Code, et que je suis moins regardant sur la documentation et les SPOF, mais hey ! C'est dans ma maison, je fais ce que je veux. Plus sérieusement, Claude m'a récemment aidé à mettre à jour Shaarli sans casser les petites modifications que j'ai ajoutées au fil des ans. En documentant tout ça pour son prochain passage, je m'assure de capitaliser sur ce temps passé. Avant lui, j'ai utilisé Windsurf pour migrer ce blog de WordPress vers eleventy: sans cette aide, j'aurai sûrement repoussé cette tâche que je gardais au fond des cartons, sans l'énergie et le temps de m'y lancer concrètement. C'est ainsi que je conçois l'IA, un outil qui permet de parvenir à ses fins ou d'aller plus loin que sans, mais pas une finalité en soi.
Update Tracker
Je n'ai pas trouvé d'outil qui me permette de suivre simplement les updates de plusieurs repos Github. Le RSS ça va deux minutes, mais ça ne me convenait pas de garder en "read later" une entrée pendant trois mois pour me souvenir de mettre à jour un soft... j'ai donc créé "Update Tracker" (oui, pas besoin d'être trop inventif pour un outil utilisé par un seul type), un tableau de bord minimaliste pour suivre les mises à jour logicielles depuis GitHub. Il peut être lancé dans Docker ou un conteneur LXC, c'est cette seconde option que je teste depuis quelques semaines. Je l'attaque depuis mon navigateur, et c'est tout : il se met à jour et je coche une case qui passe la ligne en orange, ainsi, je vois visuellement ce qui doit être mis à jour ou ce qui l'est déjà. On est d'accord, ça ne casse pas trois pattes à un canard : mais je n'ai jamais prétendu le contraire, et ces quelques lignes de JavaScript, que je n'avais aucune chance d'inventer par moi-même, répondent parfaitement à mon besoin précis. Nombre de lignes de code : ~1500.

J'ai quelques updates en retard à gérer...
Baby App
Le meilleur pour la fin, tout du moins celle qui fait le plus sens. Lors de l'arrivée de notre enfant, ma femme et moi utilisions une application Android pour noter quand la dernière couche a été changée, quelle quantité de lait a été ingérée, les durées des phases de sommeil, suivre la courbe du poids, etc. C'est très rassurant et nécessaire quand les nuits sont courtes et hachées pour se souvenir par exemple quand bébé a été changé pour la dernière fois, pour avoir un suivi régulier quand les jours se ressemblent. Cette application, dont les données étaient évidemment hébergées en ligne, a été en très peu de temps décommissionnée par son éditeur. Catastrophe. Nous avons envisagé d'en utiliser une autre, il y en a beaucoup, mais aucune ne nous convenait, notamment à ma femme qui s'était habituée à l'interface et surtout, il aurait fallu entrer à nouveau à la main une tonne d'informations (j'ai retrouvé le fichier, il fait 5000 lignes)... mais par chance, l'éditeur a fait les choses bien, puisqu'il a permis d'exporter en CSV les données ! J'ai donc pu partir du CSV, décrire les différents menus de l'application originale, pour ensuite pouvoir réimporter nos données. Nous avons simplement perdu au passage la synchronisation, car les données sont uniquement locales, mais nous avons gagné en confidentialité, bien que ce ne soit pas des données très confidentielles de mon point de vue. À ce jour, cela fait plus d'un an que l'application tourne comme sur des roulettes ! Et comme la précédente, c'est une application développée en Kotlin, où mes compétences sont encore plus nulles. Nombre de lignes de code : ~4300.
Conclusion
Je pense avoir fait le tour. Ces applications ou bouts de scripts sont cantonnés à une très petite échelle, très peu d'humains l'utilisent, et ils ne sont pas critiques : si demain tout tombe, la vie continue. Je ne cherche pas à me justifier, mais je pense en avoir un usage mesuré et raisonnable des LLM, à mon échelle. J'ai volontairement mis très peu de screenshots, qui ne seraient de toute manière pas très pertinents, rien ne vaut un test. Si vous souhaitez me poser des questions ou me dire tout le mal que vous pensez, vous trouverez un moyen de me contacter, j'en suis persuadé.
Strik-Strak
- ← Précédent
[Rage] Un mystère sauce Qnap
