Dette logicielle avec l’IA

La dette logicielle avec l’IA désigne l’accumulation de risques techniques, fonctionnels ou éthiques résultant de l’intégration non maîtrisée de suggestions ou de code généré par une intelligence artificielle dans un projet logiciel sans validation, documentation, test ou compréhension suffisante.

C’est une forme moderne de dette technique, amplifiée par la vitesse, l’opacité et la fausse confiance que l’IA peut générer.

Pourquoi c’est différent de la dette logicielle classique ?

Dette logicielle classiqueDette logicielle avec l’IA
Résulte de choix conscients (ex. : livrer vite, corriger plus tard)Résulte souvent d’une confiance excessive ou d’une négligence inconsciente
Le code est écrit par un humain → il peut l’expliquerLe code est suggéré par un modèle → personne ne comprend toujours pourquoi il fonctionne (ou pas)
La dette est visible (code mal structuré, commentaires absents)La dette est cachée : le code semble correct, mais recèle des vulnérabilités, des biais ou des dépendances invisibles

Formes concrètes de dette logicielle avec l’IA

  1. Dette de sécurité
    → L’IA génère du code fonctionnel mais vulnérable (ex. : requête SQL non échappée, mot de passe en clair).
    Exemple : cursor.execute("SELECT * FROM users WHERE name = '" + user_input + "'")
  2. Dette de licence
    → L’IA recopie du code sous licence restrictive (GPL, Apache) sans attribution → risque juridique.
    → GitHub Copilot a déjà été mis en cause pour cela (affaire GitHub Copilot vs développeurs open source).
  3. Dette cognitive
    → Le développeur n’a pas compris le code qu’il a accepté → impossible à maintenir, déboguer ou faire évoluer.
    → « Ça marche, mais je ne sais pas pourquoi. »
  4. Dette de performance
    → L’IA propose une solution simple mais inefficace (ex. : boucle O(n²) au lieu d’un dictionnaire O(1)).
  5. Dette éthique / biais
    → L’IA reproduit des schémas biaisés (ex. : commentaires genrés, algorithmes discriminants).

Comment éviter ou réduire cette dette ?

Bonne pratiqueAction concrète
Relire systématiquementNe jamais accepter une suggestion sans la comprendre
Auditer le code généréUtiliser des outils : linters, scanners de vulnérabilités (SonarQube, Snyk), vérification de licence
Documenter l’usage de l’IAAjouter un commentaire : # Généré partiellement par Copilot – vérifié le 08/01/2026
Privilégier l’IA pour le boilerplateUtilisez-la pour les tests, la doc, les getters/setters — pas pour la logique métier
Former à la critique de l’IAApprendre à poser les bonnes questions : « Pourquoi cette solution ? Quels sont les cas limites ? »

L’IA accélère la livraison, mais creuse la dette sauf si l’humain reste le gardien du sens.
La vraie productivité, ce n’est pas coder plus vite : c’est coder juste, compréhensible, et durable.

Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.