Introduction
L’informatique est un domaine en perpétuelle mutation. En un peu plus de vingt ans, nous avons traversé plusieurs vagues technologiques majeures qui ont profondément transformé la manière dont les logiciels sont conçus, développés et exploités.
Le Web, le Cloud et aujourd’hui l’Intelligence Artificielle ne sont pas de simples évolutions techniques. Ce sont des ruptures successives qui redéfinissent les compétences, les organisations et les modèles économiques.
Ce blog est né de cette réalité, mais aussi d’un parcours personnel marqué par l’émerveillement, l’adaptation constante et le besoin de prendre du recul sur ces transformations.
L’Éveil : De l’écran noir à la poésie numérique
Lorsque je suis entré en école d’ingénieur en tronc commun, mon intention initiale était de m’orienter vers le génie civil. Très rapidement, cependant, mon attention a été captée par un simple écran.
Un écran noir, austère en apparence, mais capable de devenir savant grâce au code, notamment avec Borland Pascal. Puis un écran plus coloré et presque poétique, avec Microsoft Word, où je pouvais rédiger les paroles de Notre-Dame de Paris, entourées de fleurs graphiques.
Cette dualité entre la rigueur de l’algorithme et la liberté de la création ne m’a jamais quitté.
L’informatique a cette capacite unique à transformer des idées abstraites en objets concrets.
Des langages bas niveau aux interfaces riches et modernes
Mon parcours technique s’est construit autour des langages de bas niveau, principalement le C et le C++. Ces technologies m’ont permis de travailler sur :
- des algorithmes de vision par ordinateur,
- des jeux vidéo sur consoles (Wii, Xbox),
- des applications sur appareils mobiles, des premiers iPod Touch jusqu’aux iPhone, iPad et Android.
Si ces langages offraient un contrôle fin de la machine, ils limitaient souvent la richesse des interfaces utilisateur. Il est alors devenu nécessaire d’évoluer vers des langages orientés objet, plus productifs et mieux dotés en bibliothèques comme le C# ou le Java qui permettaient de concevoir des applications modernes, robustes et centrées sur l’expérience utilisateur.
Le Web : la fin de l’installation, le début de l’ubiquité
Dans les années 2010, l’évolution des technologies Web, portée par JavaScript et la montée en puissance des navigateurs, a déclenché une migration massive des applications desktop vers le Web. Désormais, Javascript n’était plus un simple outil d’animation dans du html statique, son pendant TypeScript pour faire du typage facilitera très vite l’adoption par des développeurs OOP réticents comme moi.
Le paradigme changeait :
- une simple URL suffisait pour accéder à une application,
- plus besoin d’installation locale,
- les mises à jour devenaient transparentes pour l’utilisateur.
À cette époque, les serveurs restaient majoritairement hébergés chez les clients ou au sein des entreprises, avec les coûts de maintenance matérielle et humaine que cela impliquait.
Le Cloud : externaliser l’infrastructure pour gagner en agilité
L’arrivée du Cloud a profondément modifié ce modèle. L’objectif était clair : se libérer du matériel, externaliser l’infrastructure et confier les systèmes à de grands acteurs comme Microsoft ou Amazon.
Cette transition a permis :
- l’élasticité et la montée en charge à la demande,
- la centralisation des données dans de grands centres de calcul,
- l’émergence de nouvelles pratiques comme le DevOps et l’automatisation.
Mais elle a aussi déplacé la complexité : gouvernance et sécurité des données, dépendance aux fournisseurs et maîtrise des coûts sont devenues des enjeux centraux. Cela crée actuellement un problème de souveraineté des données à plusieurs entités étatiques.
L’Intelligence Artificielle : l’abstraction absolue
Les années 2020 sont marquées par une accélération sans précédent de l’Intelligence Artificielle. Les avancées théoriques de Yoshua Bengio, Geoffrey Hinton et Yann LeCun dans Nature en 2015 https://www.nature.com/articles/nature14539 , l’abondance des données et la puissance de calcul, notamment grâce aux puces NVIDIA, ont rendu l’IA omniprésente.
Aujourd’hui, il est possible de créer une application sans connaissance approfondie de la programmation, et de l’héberger instantanément dans le Cloud. Cette réalité bouleverse profondément le rôle de l’ingénieur logiciel. On ne manipule plus des pointeurs, ni même des fonctions, mais des idées.
Former sans perdre les fondamentaux
À chaque révolution technologique se pose la même question :
comment former la main-d’œuvre existante ou recruter des profils qualifiés ?
Chaque vague entraîne aussi un risque réel : la dilution des fondamentaux. De nombreux développeurs Web ont émergé sans réelle maîtrise de la programmation orientée objet ou des principes de base de l’ingénierie logicielle.
Avec l’IA, ce phénomène s’amplifie. Le développeur n’est plus uniquement un producteur de code, mais devient celui qui oriente, contraint et valide le travail d’un agent IA.
La question devient alors centrale :
comment traverser chaque vague technologique sans se faire distancer ? Qu’en est’ il de la formation universitaire et de leur capacite d’adaptation a la formation de main d’œuvre qualifiée pour les entreprises?
Les défis pour les entreprises et les leaders technologiques
Pour les entreprises, les enjeux sont multiples :
- intégrer l’IA sans repartir de zéro,
- adapter les méthodologies de développement et de produit,
- migrer rapidement d’une technologie à une autre,
- motiver les équipes à devenir actrices du changement.
En tant que gestionnaire et leader technologique, le changement est brutal. Nous passons du Déterminisme au Probabilisme. En ingénierie logicielle classique, A + B donne toujours C. Le code est prévisible. Avec l’IA, le résultat est une probabilité. Cette incertitude change radicalement notre manière de concevoir, de tester et de valider nos systèmes.
Le défi est permanent et pour ne pas subir ces vagues, il faut transformer chaque montagne technologique en un problème miniature. Il consiste à transformer un problème massif en une série de problèmes plus petits, traitables individuellement, tout en revenant systématiquement aux fondamentaux.
Exemple concret : l’IA appliquée à la revue de code
Un exemple récent illustre bien cette approche.
Une grande partie de l’innovation en IA appliquée au développement logiciel se déroule aujourd’hui sur GitHub. Dans un contexte d’entreprise utilisant Azure DevOps, il a fallu adapter ces avancées.
Le raisonnement a été volontairement simple :
- un pull request est essentiellement un git diff entre deux branches,
- ce diff peut être analysé par une IA,
- le résultat peut être publié via l’API d’Azure DevOps sous forme de commentaires bloquants.
En combinant :
- l’extraction du git diff,
- un appel à l’API d’OpenAI,
- et l’appel à l’API d’Azure DevOps,
nous avons mis en place un outil interne de revue de code automatique par IA, fondé sur des principes simples et maîtrisés.
La vocation de ce blog
Ce blog a pour objectif d’explorer les grandes transformations du développement logiciel avec un regard à la fois technique, stratégique et humain.
J’y partagerai :
- des analyses de fond,
- des retours d’expérience concrets,
- des réflexions sur l’architecture, le leadership technique et l’innovation.
L’ambition n’est pas de suivre les effets de mode, mais de comprendre les mécanismes profonds qui traversent notre industrie.
Conclusion
Les vagues technologiques continueront de se succéder. Les subir est un risque. Les comprendre et les anticiper est un choix.
Ce blog se veut un espace de réflexion pour celles et ceux qui souhaitent rester acteurs du changement, plutôt que simples spectateurs.