Janvier 2026 Archives

lun. 12 janv. 2026 17:42:40 CET

Enseignements Ops à l'ère du déclaratif : entre progrès et dérives

En bref :

  • L'adoption de pratiques déclaratives (YAML, Cloud-init, Incus) améliore considérablement la reproductibilité des travaux pratiques, mais crée un fossé entre les étudiants qui structurent leur démarche et ceux qui se contentent de copier-coller des configurations.
  • L'utilisation non contextualisée de l'IA, comme ChatGPT, conduit certains étudiants à exécuter des commandes incohérentes et déconnectées des énoncés.
  • Dans une logique inspirée de DevOps, les évaluations doivent exiger le contexte complet d'exécution (environnements, déclarations, artefacts de preuve) ainsi que des méthodes de sélection et de validation des sources.

Après avoir migré la gestion des machines virtuelles vers le mode déclaratif basé sur des fichiers YAML (voir le code du script lab-startup.py), j'ai ajouté l'utilisation de Cloud-init en septembre dernier.

La dernière révision du support de travaux pratiques intitulé « Start unprivileged Incus containers on top of Open vSwitch in a few steps » illustre bien cette évolution. Les premières parties proposent de réaliser les opérations de mise en place de la topologie ci-dessous une à une, tandis que la dernière partie les réalise en mode déclaratif.

Incus containers on top of Open vSwitch topology

Les travaux pratiques ont beaucoup gagné en reproductibilité. Cette évolution met toutefois en lumière un écart croissant entre les étudiants qui structurent mieux le développement des déclarations et ceux qui se contentent de copier-coller des configurations sans comprendre les opérations d'administration système attendues.

Le paradoxe de l'abstraction déclarative

Cette approche marque une rupture avec les pratiques impératives classiques. Auparavant, chaque commande était exécutée en observant son effet ; aujourd'hui, les fichiers YAML décrivent un état attendu sans détailler les étapes. Cette abstraction constitue un véritable progrès pour l'industrialisation et la reproductibilité.

Sur le plan pédagogique, elle crée toutefois un piège. Les étudiants les plus investis l'utilisent pour mieux structurer le séquencement des opérations. D'autres, en revanche, utilisent les salons Discord comme des « marketplaces YAML » et récupèrent des configurations toutes faites, au détriment de l'objectif central, à savoir analyser un problème, choisir les actions nécessaires et construire une solution cohérente.

L'IA conversationnelle : un faux ami pédagogique !

L'utilisation d'agents conversationnels tels que ChatGPT amplifie cette dérive. L'analyse des logs des hyperviseurs révèle des tentatives d'exécution de commandes incohérentes, totalement déconnectées des énoncés des travaux pratiques. Le problème n'est pas que les étudiants commettent des erreurs — l'erreur fait pleinement partie du processus d'apprentissage —, mais qu'ils exécutent des instructions sans rapport avec le contexte pédagogique, ce qui témoigne d'une absence totale d'attention et de réflexion.

Au lieu de l'utiliser comme assistant pour approfondir leur compréhension, quelques étudiants sollicitent l'IA sans la moindre contextualisation. Ils obtiennent ainsi des réponses génériques (j'aurais envie d'écrire « hallucinées ») qui ne correspondent ni à l'environnement de formation ni aux objectifs pédagogiques. L'IA devient alors un obstacle à l'apprentissage.

Le contexte de la formation initiale ne facilite pas les choses

Les ressources documentaires sont largement accessibles en ligne, et les solutions aux exercices pratiques sont disponibles publiquement. Cette accessibilité, combinée à la facilité d'interroger des agents conversationnels, supprime toute incitation à fournir un effort de contextualisation et de sélection précise des sources.

Il est donc nécessaire d'insister davantage sur deux points : la sélection des documents et la validation de l'applicabilité des réponses, notamment via des méthodologies telles que la génération augmentée par recherche (RAG), qui ancrent l'IA dans un corpus précis. C'est un axe de progression identifié pour les prochains modules.

Je sais depuis longtemps que l'enseignement des opérations doit privilégier des évaluations en conditions réelles, avec un temps limité. En revanche, je suis beaucoup plus sceptique quant au recours systématique au dépannage de systèmes volontairement altérés. En effet, la restitution basée sur la justification des choix techniques et la résolution de problèmes peut être réalisée en totalité par une IA.

Affaire à suivre...

Dans le prolongement du paradigme DevOps, le code produit par les étudiants dans le cadre d'un projet de développement doit désormais être livré avec son contexte d'exécution complet (environnements virtuels Python, dépendances et paramètres). La restitution des opérations d'administration système doit quant à elle inclure les éléments de preuve (artéfacts) permettant de générer des tests unitaires, ainsi que les sources déclaratives ayant conduit aux résultats observés. Jusqu'à présent, je demande aux étudiants de fournir un compte rendu des résultats importants au format Markdown sur un canal Mattermost. Il faut faire évoluer cette pratique. Affaire à suivre donc.