Yi SHENDéveloppeur senior full-stack et solutions IA

Paris • Singapour • Shanghai

Laboratoire d’ingénierie IA · Parcours de 19 épisodes

Construire un copilote de support SaaS en lecture seule, épisode par épisode.

SaaS Support Copilot est un parcours complet à suivre en construisant. Pas à pas, vous créez un assistant IA qui répond aux questions d’usage, de bugs et de faisabilité à partir de la documentation, du code, de l’historique Git, de la base de données et des logs, avec citations, contrôle d’accès par rôle et refus honnêtes.

$ course --status
▸ format  construction pas à pas, un changement testé par épisode
▸ volume  19
▸ langues EN · FR · ZH
▸ statut  terminé
● lire → citer → refuser

Programme du cours

Construire un copilote de support en lecture seule, un changement testé à la fois.

SaaS Support Copilot est un parcours auto-rythmé à suivre en construisant. En 19 épisodes et une leçon de méthode, vous développez un copilote pour un SaaS de tickets fictif, du premier modèle de données typé jusqu’à une démonstration finale avec un vrai modèle.

Format
19 épisodes à construire, un changement ciblé et testé par épisode
Langues
Anglais, français et chinois : chaque épisode est entièrement traduit
Stack
Python, FastAPI, SQLite ou MySQL, serveur MCP optionnel
Application d’exemple
Loopline, un SaaS de tickets fictif inventé pour ce cours

Mission du cours

Construire un copilote en lecture seule qui répond aux questions d’usage, de bugs et de faisabilité sur une application SaaS en lisant sa documentation, son code source, son historique Git, sa base de données et ses logs. Les réponses citent leurs sources, respectent le rôle de l’appelant et refusent tout ce que les preuves ne permettent pas d’affirmer. Le copilote n’exécute jamais d’actions ; le cours enseigne l’ingénierie autour de cette frontière.

Déroulement du cours

  1. Lire l’objectif d’apprentissage et les points à aborder de l’épisode.
  2. Implémenter le changement et l’exécuter en local, sans clé API payante.
  3. Observer le cas d’échec, puis lancer les tests qui prouvent la correction.
  4. Faire l’exercice avant de passer à l’épisode suivant.

Ordre recommandé

Chaque épisode s’appuie sur le précédent : l’ordre 0 → 18 est donc le plus simple pour une première lecture. « Prompter cette construction » accompagne l’ensemble du cours : lisez-la une fois quelques épisodes derrière vous.

Phase 1 · Épisodes 0–3

Fondations

Cadrer le problème, poser des fondations Python typées, faire le plus petit appel LLM et transformer la sortie du modèle en données structurées.

Phase 2 · Épisodes 4–7

Routage, outils & boucle d’agent

Classer chaque question, donner à l’agent des outils sûrs en lecture seule, piloter une boucle bornée et conserver l’état de conversation.

Phase 3 · Épisodes 8–13

Preuves & sécurité

Construire le RAG et un graphe d’appels de zéro, appliquer les permissions dès la recherche, planifier les réponses de faisabilité, refuser les commandes et se défendre contre l’injection de prompt.

Phase 4 · Épisodes 14–18

Livrer & prouver

Ajouter la frontière HTTP, l’évaluation et l’observabilité, le déploiement local, une revue de préparation à la production et une démonstration finale.

Ce que vous saurez faire

  • Expliquer quand un workflow suffit et quand un agent en vaut la peine, et concevoir la frontière entre les deux.
  • Construire des outils en lecture seule avec des contrats sûrs et les piloter depuis une boucle d’agent bornée.
  • Combiner recherche par mots-clés, par embeddings et par graphe d’appels, et appliquer le contrôle d’accès par rôle avant que le modèle ne voie un document.
  • Refuser les demandes formulées comme des commandes, traiter le texte récupéré comme des données et tester le copilote sur un jeu de questions de référence.
  • Dire précisément ce qui sépare un prototype d’un déploiement en production.

Bibliothèque d’épisodes

19 épisodes, plus la méthode qui les sous-tend

Chaque épisode s’ouvre sur GitHub, à côté du code qu’il construit, en version française.

00 · Fondations

Ce que nous construisons

Modèle, application et agent ; workflow et agent ; visite guidée de l’application d’exemple Loopline.

Lire l’épisode

01 · Fondations

Fondations du projet Python

Des modèles de données typés et des tests, pour que chaque épisode suivant échange des données sans deviner.

Lire l’épisode

02 · Fondations

Le plus petit appel LLM utile

Une interface de messages indépendante du fournisseur, avec un faux client, avant de toucher à une vraie clé API.

Lire l’épisode

03 · Fondations

System prompts et sortie structurée

Transformer la sortie en texte libre du modèle en valeurs typées et validées, avec une nouvelle tentative si la sortie est malformée.

Lire l’épisode

04 · Routage, outils & boucle d’agent

Décisions, routage et workflows

Décider d’abord de quel type de question il s’agit — usage, bug, fonctionnalité ou ambiguë — puis l’aiguiller.

Lire l’épisode

05 · Routage, outils & boucle d’agent

Outils et contrats d’outils sûrs

Des outils en lecture seule sur la documentation, le code, l’historique Git, la base de données et les logs, appelés via un registre avec délais d’expiration.

Lire l’épisode

06 · Routage, outils & boucle d’agent

La boucle d’agent

Une boucle pilotée par le modèle — observer, décider, agir — qui choisit à chaque étape entre appeler un outil et répondre.

Lire l’épisode

07 · Routage, outils & boucle d’agent

État de conversation et mémoire

Un contexte de conversation borné et une mémoire par session, sans confondre « cette conversation » et « cet utilisateur ».

Lire l’épisode

08 · Preuves & sécurité

Fondamentaux du RAG

Découpage, BM25, embeddings et fusion des classements, construits de zéro pour que le RAG cesse d’être une boîte noire.

Lire l’épisode

09 · Preuves & sécurité

Graphes de connaissances pour les relations de code

Un graphe d’appels qui répond à « que casserait la modification de cette fonction ? », ce que la recherche textuelle ne peut pas faire.

Lire l’épisode

10 · Preuves & sécurité

Recherche consciente des permissions

Faire du rôle de l’appelant une entrée de premier plan de la recherche, appliquée avant que le modèle ne voie un document.

Lire l’épisode

11 · Preuves & sécurité

Planification et travail multi-étapes : la faisabilité des fonctionnalités

Un workflow qui planifie d’abord pour les questions de faisabilité : décider quelles preuves trancheraient avant d’appeler un outil.

Lire l’épisode

12 · Preuves & sécurité

Approbation humaine et refus

Reconnaître les demandes formulées comme des commandes et les refuser honnêtement, sans aucun appel au modèle.

Lire l’épisode

13 · Preuves & sécurité

Défense contre l’injection de prompt et l’exfiltration de données

Traiter le texte récupéré comme des données, pas comme des instructions, et voir une commande injectée bloquée deux fois.

Lire l’épisode

14 · Livrer & prouver

La frontière applicative FastAPI

Une frontière HTTP avec des requêtes validées, des ressources partagées, des identifiants de requête et des erreurs propres plutôt que des tracebacks.

Lire l’épisode

15 · Livrer & prouver

Évaluation et observabilité

Une suite de questions de référence exécutée sur un vrai modèle, avec latence, consommation de tokens et logs structurés pour repérer les régressions.

Lire l’épisode

16 · Livrer & prouver

Déploiement local et reproductibilité

Docker Compose avec MySQL, des secrets tenus hors du dépôt et un serveur MCP autonome pour l’accès à la base de données.

Lire l’épisode

17 · Livrer & prouver

Architecture prototype versus production

Tracer la ligne entre ce que le prototype a et ce que la production exige ; combler une vraie lacune, documenter le reste.

Lire l’épisode

18 · Livrer & prouver

Démonstration du capstone

Un système en fonctionnement et un vrai modèle : la même question reçoit une réponse ou un refus selon le rôle d’un seul en-tête.

Lire l’épisode

Bonus · Méthode

Prompter cette construction : comment ces 19 épisodes ont vraiment été écrits

Comment un agent de codage IA a écrit chaque ligne : un changement ciblé et testé par prompt, vérifié avant d’être consigné.

Lire l’épisode

Statut actuel

Un parcours de 19 épisodes terminé, et un prototype pédagogique.

Terminé : 19 épisodes · code sous licence MIT. Tout s’exécute en local sur des données d’exemple fictives. Loopline est inventé pour ce cours et ne représente le produit, le code ni les données d’aucune entreprise réelle. C’est un prototype pédagogique, pas une garantie de sécurité en production : l’épisode 17 liste précisément ce qu’un vrai déploiement exige encore.