Choisir et cadrer l’idée

Le capstone n’est pas un exercice. C’est un produit que tu vas déployer, montrer et utiliser comme preuve de compétence. Le choix du projet détermine tout : faisabilité, impact, crédibilité.

Trois tracks selon ton objectif professionnel.

Track Emploi

Cloner une app IA connue avec ta propre stack pour montrer la maîtrise de l’état de l’art.

Exemples : Perplexity lite (search + RAG + citations), Notion AI (écriture assistée contextuelle), GitHub Copilot pour un domaine précis (génération de code spécialisé).

L’objectif n’est pas de concurrencer le produit original. C’est de prouver que tu comprends l’architecture derrière et que tu sais la reconstruire.

Track Freelance

Outil IA pour une niche professionnelle avec un pain point identifiable.

Exemples concrets :

  • Cabinet d’avocats — Analyse automatique de contrats, extraction de clauses à risque, comparaison avec des templates standards.
  • Agence immobilière — Rédaction d’annonces à partir de fiches techniques, adaptation du ton selon la plateforme de diffusion.
  • RH — Screening de CVs par rapport à une fiche de poste, scoring et résumé des profils pertinents.
  • E-commerce — Génération de fiches produits à partir de photos et spécifications techniques, optimisation SEO automatique.

Pain point réel = pitch facile. Si tu peux expliquer le problème en une phrase à quelqu’un qui ne connaît pas le métier, tu tiens un bon projet.

Track SaaS

Micro-produit sur un problème que tu connais personnellement. Pas besoin d’être rentable dès le départ. Besoin d’être déployé et utilisable par de vraies personnes.

La contrainte “de vraies personnes” change tout. Elle force à gérer l’auth, les erreurs, les cas limites, les coûts — exactement ce qu’on attend d’un développeur IA en entreprise.

Critères de validation

Les quatre critères sont obligatoires. Si un seul manque, change de projet.

  • Faisable seul en 7 jours ? Pas 7 jours à temps plein idéalisé. 7 jours réels avec les imprévus, les bugs et la fatigue.
  • RAG ou Agent (ou les deux) suffit ? Si le projet nécessite du fine-tuning, de l’entraînement custom ou des modèles spécialisés, c’est hors scope.
  • Descriptible en une phrase ? Si tu ne peux pas expliquer ce que fait ton produit en une phrase, le scope est trop large.
  • Au moins un utilisateur potentiel identifié ? Un collègue, un ami dans le métier ciblé, un contact LinkedIn. Quelqu’un qui va réellement tester.
CritèreTrack EmploiTrack FreelanceTrack SaaS
ObjectifDécrocher un poste IATrouver des clientsLancer un produit
Type de projetClone d’app connueOutil de nicheMicro-SaaS personnel
Audience cibleRecruteurs techniquesProfessionnels d’un secteurUtilisateurs avec un pain point
ComplexitéMoyenne — architecture connueMoyenne — domaine à comprendreVariable — dépend du scope

Construction

Stack recommandée

Exemple JavaScript/TypeScript — adaptable à Python ou autre selon tes préférences.

  • Frontend : Next.js 15 App Router + Tailwind + shadcn/ui. App Router pour le streaming natif des Server Components. shadcn/ui pour des composants accessibles sans design system custom.
  • Auth : Clerk ou NextAuth. Clerk pour aller vite avec des composants pré-faits. NextAuth pour plus de contrôle si tu connais déjà.
  • Base de données : Supabase (Postgres + pgvector + storage). Une seule plateforme pour la base relationnelle, les embeddings vectoriels et le stockage de fichiers.
  • LLM : Vercel AI SDK. Abstraction multi-provider (OpenAI, Anthropic, Google), streaming natif, hooks React (useChat, useCompletion), support tool calling.
  • Déploiement : Vercel. Preview deploys automatiques sur chaque PR. Idéal pour itérer vite et montrer l’avancement.

Ordre de construction recommandé

L’ordre est volontaire et contre-intuitif.

J2 — Fondations Scaffold du projet, configuration auth, schéma de base de données. À la fin de la journée : un utilisateur peut se connecter et voir une page vide. Le schéma de base de données est en place avec les tables nécessaires (utilisateurs, documents, conversations, usage).

J3 — Pipeline IA core C’est la journée la plus importante. Le pipeline RAG ou Agent — la partie qui différencie ton produit d’un CRUD classique. Indexation des documents, chaîne de retrieval, orchestration d’agent. Teste avec des requêtes réelles, pas des exemples jouets.

J4 — Interface principale L’UI qui expose le pipeline. Chat, dashboard, formulaire — peu importe le format. L’interface doit être fonctionnelle, pas spectaculaire. Un utilisateur doit pouvoir comprendre quoi faire sans explication.

J5 — Polish et production-readiness Error handling, cas limites, messages d’erreur clairs, loading states, gestion des timeouts LLM. C’est la journée qui fait la différence entre un projet étudiant et un produit professionnel.


Observabilité et contrôle des coûts

Déployer un produit IA sans observabilité, c’est conduire de nuit sans phares. Les LLMs échouent silencieusement — ils retournent des réponses plausibles mais fausses, et personne ne s’en rend compte sans monitoring.

Outils essentiels

Helicone — Proxy transparent qui logge tous les appels LLM. Tu vois les coûts par utilisateur, par endpoint, par jour. Détection d’anomalies (pic de tokens, latence inhabituelle). Gratuit jusqu’à 100k requêtes/mois. Intégration en 2 lignes : changer le base URL de l’API OpenAI.

LangSmith — Plateforme de tracing pour chaînes et agents complets. Chaque étape d’un pipeline RAG ou d’une boucle d’agent est tracée avec ses inputs, outputs, latence et tokens. Tu peux rejouer des traces pour comprendre pourquoi un agent a pris une mauvaise décision ou pourquoi le retrieval a remonté des documents non pertinents.

Braintrust — Évaluation automatisée des outputs LLM. Tu définis un dataset de test (question + réponse attendue), tu lances des évaluations à chaque changement de prompt ou de modèle. Indispensable pour détecter les régressions avant que les utilisateurs ne les remarquent.

Budget guard

Sans contrôle des coûts, un seul utilisateur malveillant ou un bug de boucle peut générer une facture de plusieurs centaines d’euros en quelques heures. Le budget guard est non négociable en production.

async function checkAndConsumeQuota(userId: string, estimatedTokens: number) {
  const today = new Date().toISOString().split('T')[0]
  const usage = await db.query(
    'SELECT total_tokens FROM usage WHERE user_id = $1 AND date = $2',
    [userId, today]
  )

  const current = usage.rows[0]?.total_tokens ?? 0
  if (current + estimatedTokens > MAX_DAILY_TOKENS) {
    throw new Error('QUOTA_EXCEEDED')
  }

  await db.query(
    `INSERT INTO usage (user_id, date, total_tokens) VALUES ($1, $2, $3)
     ON CONFLICT (user_id, date) DO UPDATE SET total_tokens = usage.total_tokens + $3`,
    [userId, today, estimatedTokens]
  )
}

Ce pattern couvre les bases : quota journalier par utilisateur, upsert atomique, erreur explicite quand le quota est dépassé. En production, ajoute une marge de sécurité sur estimatedTokens — les tokens réels dépassent souvent l’estimation.

Comparatif des outils

OutilCe qu’il faitPricingIdéal pour
HeliconeLogging des appels LLM, coûts, latence, anomaliesGratuit jusqu’à 100k req/mois, puis usage-basedMonitoring coûts et performance en production
LangSmithTracing complet des chaînes et agents, replay de tracesGratuit (Developer), payant pour les équipesDebug de pipelines RAG et agents complexes
BraintrustÉvaluation automatisée des outputs sur datasets de testGratuit pour commencer, pricing par évaluationDétection de régressions après changement de prompt

Déploiement, portfolio et pitch

Un produit qui tourne en local n’existe pas. Le déploiement transforme un exercice en preuve de compétence.

Checklist de déploiement

Chaque point est obligatoire avant de partager le lien.

  • Domaine custom — Éviter les URLs .vercel.app pour les démos clients. Un domaine en .dev ou .io coûte moins de 15 euros par an et change la perception immédiatement.
  • Variables d’environnement sécurisées — Jamais de clé API dans le code. Utiliser le dashboard de la plateforme de déploiement. Vérifier que .env est dans .gitignore.
  • Error boundary et pages d’erreur claires — Un utilisateur qui voit une stack trace perd confiance. Des messages d’erreur humains (“Le service est temporairement indisponible, réessayez dans quelques instants”) montrent le professionnalisme.
  • Rate limiting côté serveur — Limiter le nombre de requêtes par utilisateur par minute. Sans ça, un script automatisé peut vider ton budget API en quelques minutes.
  • HTTPS — Automatique sur la plupart des plateformes (Vercel, Cloudflare, Netlify). Vérifier quand même.
  • Budget cap par utilisateur — Le budget guard vu dans la section précédente. Indispensable.

Structure du README

Le README est la première chose que lit un recruteur ou un client potentiel. Il doit répondre à toutes les questions en moins de 2 minutes.

  • Problème résolu (1-2 phrases) — Quel pain point ce produit adresse, pour qui.
  • Démo GIF ou lien live — Un GIF de 15 secondes montrant le flow principal. Le lien live en évidence.
  • Architecture RAG/Agent (schéma simple) — Un diagramme montrant le flux de données : input utilisateur, retrieval, LLM, output. Pas besoin d’un diagramme UML complexe. Un schéma en blocs suffit.
  • Stack technique avec justification des choix — Pas juste la liste des technos. Pourquoi Next.js et pas Remix. Pourquoi Supabase et pas Firebase. Les justifications montrent la maturité technique.
  • Instructions d’installation locale — Clone, install, env vars, run. Testées sur une machine propre.
  • Coûts estimés de fonctionnement — Combien coûte le projet par mois pour 10, 100, 1000 utilisateurs. Cette information est rare dans les README et impressionne systématiquement.

Case study LinkedIn (400-600 mots)

Le case study n’est pas un tutoriel. C’est un retour d’expérience professionnel structuré.

Structure recommandée :

  1. Problème rencontré — Contexte et pain point. Pourquoi ce problème mérite d’être résolu. Données concrètes si possible.
  2. Solution choisie — Ce que fait le produit, pour qui, comment. Une phrase de pitch.
  3. Architecture technique — Les choix structurants : modèle LLM, stratégie de chunking, type d’agent, base vectorielle. Schéma simplifié.
  4. Difficultés et arbitrages — Les problèmes rencontrés et comment tu les as résolus. Les compromis acceptés et pourquoi. C’est la partie qui différencie un junior d’un senior.
  5. Résultat et apprentissages — Métriques si disponibles (latence, coût par requête, satisfaction utilisateur). Ce que tu ferais différemment. Ce que tu as appris.

Pitch 30 secondes

Template à personnaliser et à répéter jusqu’à ce qu’il soit naturel :

“J’ai construit [PRODUIT] qui permet à [CIBLE] de [BENEFICE] sans [FRICTION ACTUELLE]. Le système utilise [RAG/Agent] connecté à [SOURCE DE DONNEES]. Stack : [TECHNOLOGIES CLES]. C’est déployé et utilisable maintenant.”

Ce pitch fonctionne en entretien, en networking, en message LinkedIn. La dernière phrase est la plus importante — elle te distingue de tous ceux qui parlent de projets qu’ils n’ont jamais déployés.


Livrable final

Quatre livrables obligatoires. Chacun a un rôle précis dans ta crédibilité professionnelle.

  • URL live fonctionnelle — Le produit tourne, un utilisateur peut s’inscrire et l’utiliser. C’est la preuve ultime.
  • Repo GitHub public avec README complet — Le code est propre, documenté, et le README suit la structure décrite ci-dessus.
  • Post LinkedIn avec case study — Un retour d’expérience professionnel de 400-600 mots qui montre ta capacité d’analyse et de recul.
  • Pitch de 30 secondes rodé — Testé à voix haute, naturel, mémorable. Prêt pour un entretien ou une conversation networking.

Récapitulatif de la formation

ModuleDuréeCompétence cléLivrableSignal marché
M1 — LLM API5-7 jAppels API, streaming, prompt engineeringLLM PlaygroundRequis partout
M2 — RAG10-12 jEmbeddings, vector DB, pipeline completChatbot sur docsCas d’usage #1 entreprises
M3 — Agents8-10 jTool calling, ReAct, orchestrationAgent web searchProfil rare, très demandé
M4 — Capstone7-10 jProduit complet en productionProjet personnelPortfolio = preuve

La durée totale de la formation est de 30 à 39 jours. A la fin, tu as quatre projets déployés, un portfolio IA solide et les compétences pour construire des produits IA en entreprise, en freelance ou pour toi-même.