Introduction
Il se dit beaucoup de choses sur l'IA, mais concrètement à quoi ça sert pour un développeur. Je devrait peut être commencer par présenter mon travail en tant que développeur et administrateur système, afin de mieux expliquer comment je peux utiliser l'IA pour améliorer mon travail, et le service rendu à l'entreprise qui m'emploi ou à mes clients.
pendant ma carrière dans l'informatique, j'ai acquis des connaissances très diverses. Je suis à la fois développeur de logiciels de gestion, d'outils génériques et administrateur système.
Les logiciels de gestion que j'ai développés répondent à tout le spectre de la gestion d'une entreprise. À savoir la comptabilité, la facturation client, y compris la gestion des commandes et livraison, la gestion de stock, la gestion de la fabrication/production (GPAO), la gestion des matières premières, des commandes et livraison fournisseur, le rapprochement des factures fournisseur, la valorisation du stock, le rapprochement bancaire, l'impression de chèques, l'émission de virements. Mais aussi la gestion dans la banque pour les comptes bancaires, les comptes titres, les déclarations règlementaires, la comptabilité. La gestion de documents, que ce soit le suivi de courriers ou le traitement de documents pdf. Tous ces domaines font appels à des connaissances fonctionnelles différentes, mais techniquement les développements peuvent en partie faire appel aux mêmes technologies.
La seconde partie est plus technique et regroupe le développement de framework et d'outils nécessaires au développement informatique. À savoir des outils génériques pour la création de menus, écrans de saisie et de requête, des outils plus spécialisés pour l'impression de documents ou la transformation des impressions en pdf, mais aussi la gestion des livraisons des développements avec un repository (CVS ou git), le transfert de fichiers, l'accès aux données depuis le web. Cette partie fait appel à des technologies et des langages plus divers.
La troisième partie concerne l'administration système. À savoir l'installation système, le contrôle de l'état du serveur, l'installation des applications et leur mise à jour, la gestion des logs, la planification des traitements. Cette partie fait appel à des connaissances plus diverses, mais les langages de développement sont plus simple et en nombre plus réduit que pour la seconde partie.
Ce qu'il faut retenir de cet liste que j'ai souhaité détailler, c'est que j'interviens dans des domaines très divers et qu'il n'ai humainement pas possible de tout savoir faire sans une mise à jour régulière de ses connaissance. Avant internet, il fallait lire la documentation et passer du temps à tester. Avec l'arrivée d'internet et l'amélioration de ses moteurs de recherche, il était possible de trouver plus rapidement l'information. Quand internet a grandi, cette recherche est devenue plus complexe, car il y a beaucoup de sources d'informations qui ne contiennent pas toutes la bonne réponse. L'arrivée de l'IA permet d'obtenir un résumé des informations disponibles. L'IA ne sait pas dire quelle est la bonne réponse, n'indique pas quel niveau de confiance il faut accorder à sa réponse, contrairement à une recherche sur le web lors de laquelle on peut évaluer le nombre de réponse et comparer les différentes sources.
Histoire
Après le lancement des premières IA généralistes, je n'ai pas tout de suite utilisé ces outils. J'ai suivi l'actualité, soit via un magasine scientifique d'information soit via des médias généraliste. J'en ai surtout retenu le manque de compréhension que la communauté scientifique a du fonctionnement intime de l'IA. Les concepteurs ne savent pas pourquoi cela fonctionne dans un cas et pas dans un autre. Ils ne savent pas justifier les réponses. C'est très déroutant pour l'esprit cartésien que je suis. J'ai vu l'IA comme étant le résultat d'un calcul probabiliste, mais sans raisonnement. Devrait-on l'appeler générateur de réponse probabiliste
au lieu d'intelligence artificielle
?
J'ai commencé à utiliser l'IA il y a environ 18 mois. L'entreprise pour laquelle je travaillais venant d'être rachetée par un groupe Américain, le CTO nous a expliqué son expertise en IA et nous a annoncé ces objectifs. L'utilisation de l'IA devait nous permettre de doubler notre productivité tout en générant moins de bug. Ils nous a fait une présentation générale de l'IA, avec ChatGPT, nous montrant comment elle peut extraire des informations, résumer une présentation, traduire un texte et réaliser des développements. Je dois dire que les résultats sont assez impressionnants.
Le seul problème c'est que je suis développeur Pick. Pour développer avec cette base de données multi-dimensionnelle on utilise un Basic de gestion. Ce Basic n'est pas similaire au Basic Microsoft (le Quick-Basic, le Visual-Basic ou le VBA). La première démonstration ne m'a pas convaincu. L'IA ne maitrise absolument pas la déclaration des variables, des routines, l'utilisation des conditions et encore moins l'utilisation des tableaux dynamique. Un tableau dynamique c'est comme un tableau dimensionné, mais il n'y a pas de déclaration à faire et on peut utiliser un nombre de dimensions variable selon la valeur du premier indice. L'IA a tendance à utiliser la syntaxe d'autres langages, à déclarer le tableau. Pour les conditions, le Basic Pick est le seul langage qui nécessite un END avant le ELSE, l'IA n'y arrive pas non plus.
Dans les premier mois, j'ai utilisé l'IA pour les traductions les emails reçus ou envoyés aux équipes Anglophones, et pour développer dans des langages plus courants (pages web - html/css/javascript -, Shell, Perl, C/C++). Avec ces langages, c'est vrai que l'on gagne énormément de temps. Surtout pour la conception de pages web complexes, je connais les principes, mais j'ai du mal à créer le bon rendu rapidement. L'IA permet de réaliser la mise en page beaucoup plus rapidement et le gain de +100% est certainement atteint. La seule contrainte c'est qu'il faut réaliser la mise en page par étape et ne pas demander à l'IA de respecter un modèle avec des zones de taille fixe, l'IA n'a pas de vision
.
J'ai essayé quelques demandes simple en Pick Basic, mais sans arriver à gagner du temps. J'ai essayé, en vain, deux méthodes :
- Fournir à l'IA la documentation de l'éditeur de la BDD Pick, mais j'ai relevé deux problèmes. La documentation est très volumineuse et l'IA ne semble pas arriver à en extraire l'essentiel. Pour cela, il faudrait certainement utiliser d'autres outils pour spécialiser l'IA, lui apprendre comment fonctionne le langage, mais ces fonctions nécessitent d'autres compétences que la simple utilisation du
chat
. La documentation est écrite en anglais et quand je pose une question c'est en Français, il est difficile de faire la correspondance entre les termes utilisés dans la documentation et ma question. - Rédiger un cours de programmation en Basic Pick avec des exemples. Cela donne de bon résultats, mais l'IA n'applique pas les règles à chaque demande. En cas d'erreur, il faut lui indiquer de relire la règle afin qu'elle se corrige.
Pour le Basic Pick j'en suis resté là pendant près d'un an. Ça a été une période décourageante, mais la solution est venue ensuite, un peu par hasard.
Entre temps, j'ai du répondre à un autre challenge. Il a fallu migrer des vieux serveurs. Ils étaient hébergés sur des serveurs physiques chez un FIA local et utilisaient un logiciel de virtualisation du commerce. Il fallait les migrer vers une plateforme cloud, chez un grand fournisseur qui a des centres de données partout dans le monde. Cette migration à nécessité de remplacer le système de virtualisation par un autre et de reconstruire le réseau. Ces deux parties ont nécessité beaucoup de tests, la création des scripts pour automatiser la migration et l'analyse de l'existant pour regrouper les informations qui n'étaient pas bien documentées. Pour toutes ces actions l'IA a été d'un grand secours. Sans IA, il faut rechercher sur le web pour trouver une page qui décrit le même problème, vérifier si elle contient la description d'une solution. Souvent il faut lire de nombreuses pages ou de nombreuses discussions, afin de trouver une solution qui fonctionne. L'IA fourni une réponse synthétique qui permet d'appliquer avec une ou plusieurs solutions. Cela fonctionne assez souvent. Dans ce cas le gain est certainement supérieur à une production doublée.
Ensuite j'ai changé de travail pour devenir prestataire indépendant. Pour présenter mon activité, j'ai créé un nouvelle version du site web dans lequel j'ai décrit mon expertise un peu comme un CV interactif. Cela me permet aussi de montrer que je sais créer un site web dynamique. L'IA m'a bien aidé pour obtenir le rendu et l'interactivités souhaités. Sur mon serveur, j'ai retrouvé un miroir du site du regretté Bruno Béninca, son livre datant de 1994 Advanced Pick & Unix. Ce livre décrit l'utilisation et la programmation de Pick, y compris le Pick Basic. C'est un cours beaucoup plus léger que la documentation de référence et le seul que je connaisse qui soit écrit en Français. Dans un premier temps, j'ai laissé ces pages de coté sans savoir à quoi cela pouvait me servir.
Ma nouvelle mission m'a amené à développer en Python, html/css, puis en Swift et à analyser des applications en Objective C. Pour ces langages l'IA est d'un grand secours. La difficulté est de savoir expliquer l'objectif, d'obtenir un code lisible et d'éviter la duplication de code. J'ai ainsi pu développer des scripts, pages et applications graphiques, rapidement, avec beaucoup de bibliothèques et créer des tests unitaires. Pour ces développements l'IA permet d'avancer très vite. Mais il faut tout de même comprendre le code généré, le relire, tester, et éviter que l'IA ne fasse du copier/coller au lieu de généraliser le code.
Afin de pouvoir former un nouveau développeur, j'ai échangé avec mes collègues et me souvenant du livre Advanced Pick & Unix, je leur ai donné accès à mon site. J'ai aussi essayé d'utiliser Mistral IA avec un pdf issu de ces pages. Le résultat m'a tout de suite étonné. Ce livre étant léger et écrit en Français, je peux facilement échanger avec l'IA en utilisant les termes que je connais. N'ayant jamais développé en Pick avec une équipe de langue Anglaise, je ne sais pas comment nommer les concepts et je pense que c'est un premier barrage à l'utilisation de l'IA dans ce langage peu connu.
Au fil des derniers mois, j'ai pu suivre les évolutions de quelques outils et modèles de développement IA. Les nouvelles fonctions arrivent très vite et permettent d'obtenir des résultats de plus en plus pertinents.
Rôle du développeur IA
Lorsque j'utilise l'IA, je ne suis pas certain que mon travail soit toujours celui d'un développeur. Je vois mon rôle plutôt comme un tech-lead, qui passe son temps à relire du code, à effectuer quelques retouches et à donner des directives.
Comment utiliser l'IA
Pour obtenir un résultat rapidement, qui soit homogène et dont la maintenance sera facilitée, il est nécessaire de prendre en comptes les points suivants :
- Mettre par écrit toutes les consignes à respecter pour le projet. Ces consignes sont appelées instructions.
- Utiliser toujours la même IA. Changer d'IA c'est comme changer de développeur, la nouvelle IA va coder différemment de la précédente et va avoir tendance à réécrire le code au lieu d'effectuer de petites modifications.
- Découper le travail en petites tâches. Il est préférable, même si cela va nécessiter plus d'interactions ou du remaniement de code, de demander à l'IA de commencer l'algorithme, puis de lui donner pas à pas les étapes suivantes. Cette stratégie permet de contrôler le début du travail et évite que le développement parte vers une mauvaise voie.
- Surveiller que les instructions sont appliquées et si ce n'est pas le cas les répéter (ou demander à l'IA de relire les instructions).
- S'assurer que l'IA peut lire les fichiers fournis avec les instructions. Par exemple j'avais un PDF avec une copie du livre Advanced Pick & Unix, j'ai mis un certain temps pour comprendre que l'IA ne pouvait pas lire ce format. J'ai du la questionner, longuement, pour avoir cette information. Il ne suffit pas d'écrire une instructions pour qu'elle soit respectée, l'IA ne semble pas savoir dire "non", ou "je n'ai pas compris".
- Pour des tâches complexes ou difficile à expliquer, les phrases "dis moi si je dois donner plus de détails" ou "dis moi si ma demande n'est pas clair" peuvent permettre d'avoir, de le part de l'IA, une liste de questions ou une analyse à valider.
À suivre...
(dernière mise à jour le 18 décembre 2025)