# Projet ARC ```mermaid gantt title Diagramme Gantt du projet ARC dateFormat YYYY-MM-DD axisFormat %d/%m excludes weekends todayMarker on Etape 0 - Initialisation :a1, 2026-06-08, 2026-06-11 Etape 1 - Analyse du Besoin & Qualification :a2, 2026-06-11, 2026-06-27 Etape 2 - Génération de Code :a2, 2026-06-29, 2026-07-15 Etape 3 - Tests et Assurance Qualité :a2, 2026-07-15, 2026-08-01 Etape 4 - Livraison & Feedback Utilisateur :a2, 2026-08-01, 2026-08-13 Etape finale :a2, 2026-08-13, 2026-08-15 ``` --- ```mermaid gantt title Section 0 - Préparation de l'environnement du projet dateFormat YYYY-MM-DD axisFormat %d/%m excludes weekends todayMarker off section Initialisation Créer structure projet :a1, 2026-06-09, 0.5d Backend + structure :a2, 2026-06-09, 0.5d section LangGraph Installer LangGraph :b1, 2026-06-09, 0.5d Créer structure workflow :b2, 2026-06-09, 1d Définir state global :b3, 2026-06-09, 1d section Setup Qdrant Installer Qdrant :c1, after b3, 0.5d Tester connexion Python :c2, after b3, 0.5d section Setup modèle d’embedding Installer Snowflake :d1, after b3, 0.5d Implémenter embedding() :d2, after b3, 0.5d section Setup LLM Installer llama.cpp :e1, after b3, 0.5d Tester appel modèle :e2, after b3, 0.5d section Setup Chainlit Installer Chainlit :f1, after e2, 0.5d Lancer app test :f2, after e2, 0.5d section Organisation du code Créer dossiers agents :g1, after e2, 0.5d Créer dossiers services :g2, after e2, 0.5d section Logging et debug Logs simples :h1, after e2, 0.5d Structuration logs :h2, after e2, 0.5d ``` ```mermaid gantt title Section 1 - Analyse du Besoin & Qualification dateFormat YYYY-MM-DD axisFormat %d/%m excludes weekends todayMarker off section Interface utilisateur Créer interface Chainlit :a1, 2026-06-12, 1d Connecter Chainlit → backend Python :a2, 2026-06-12, 0.5d section Modèle cahier des charges Définir structure JSON :b1, after a2, 0.5d Schéma Pydantic :b2, after a2, 1d section Agent PM Prompt Agent PM :c1, after b2, 0.5d Sortie structurée Pydantic :c2, after b2, 0.5d Gestion erreurs :c3, after c2, 0.5d section Questions clarificatrices Détection champs manquants :d1, after c2, 0.5d Génération questions LLM :d2, after d1, 0.5d Boucle interaction Chainlit :d3, after d1, 1d section Validation du cahier des charges Affichage CDC :e1, after d3, 0.5d Boutons validation/refus :e2, after d3, 0.5d section Qdrant (BDD vectorielle) Installer Qdrant :f1, after e2, 0.5d Créer collection :f2, after e2, 0.5d Structure payload :f3, after f2, 0.5d section Embedding Intégrer Snowflake Arctic :g1, after f2, 0.5d Fonction embedding :g2, after f2, 0.5d section Recherche d'existant Recherche projets similaires :h1, after g2, 0.5d Filtres payload :h2, after g2, 0.5d Formatage résultats :h3, after h2, 0.5d section Proposition utilisateur Affichage résultats Chainlit :i1, after h2, 0.5d Bouton "utiliser projet" :i2, after h2, 0.5d Bouton "continuer génération" :i3, after h2, 0.5d section Redis (optionnel) Cache recherche :j1, after i3, 1d ``` ```mermaid gantt title Section 2 - Génération de Code dateFormat YYYY-MM-DD axisFormat %d/%m excludes weekends todayMarker off section Préparation des entrées Récupérer cahier des charges :a1, 2026-06-29, 0.5d Normaliser / valider données :a2, 2026-06-29, 0.5d section Format de sortie du code Structure projet JSON/Pydantic :b1, after a2, 0.5d Modèle Pydantic sortie code :b2, after a2, 1d section Prompt Agent Dev Prompt génération code :c1, after b2, 1d Contraintes strictes :c2, after b2, 0.5d section Intégration LLM Setup llama.cpp :d1, after c2, 0.5d Connexion LangGraph → LLM :d2, after c2, 0.5d section Arborescence projet Génération structure fichiers :e1, after d2, 0.5d Vérification structure :e2, after d2, 0.5d section Génération code source Génération fichiers Python :f1, after e2, 2d Conformité structure :f2, after f1, 1d section Fichiers complémentaires README.md :g1, after f2, 0.5d requirements.txt :g2, after f2, 0.5d Instructions exécution :g3, after f2, 0.5d section Validation backend Vérification fichiers :h1, after g3, 0.5d Nettoyage output LLM :h2, after g3, 0.5d section Intégration LangGraph Ajouter noeud Agent Dev :i1, after h2, 0.5d Connecter PM → Dev :i2, after h2, 0.5d section Préparation QA Formatter code sandbox :j1, after i2, 0.5d Transmettre au state :j2, after i2, 0.5d ``` ```mermaid gantt title Section 3 - Tests et Assurance Qualité dateFormat YYYY-MM-DD axisFormat %d/%m excludes weekends todayMarker off section Préparation entrées Récupérer projet Agent Dev :a1, 2026-07-15, 0.5d section Sandbox Docker Dockerfile générique :b1, 2026-07-15, 1d Script build/run :b2, after b1, 1d Isolation environnement :b3, after b1, 0.5d section Exécution sandbox Lancer exécution :c1, after b3, 0.5d Capturer logs :c2, after b3, 0.5d section Ruff (qualité) Installer Ruff :d1, after c2, 0.5d Ruff check :d2, after c2, 0.5d section Bandit (sécurité) Installer Bandit :e1, after c2, 0.5d Scan projet :e2, after c2, 0.5d section Semgrep (optionnel) Installer Semgrep :f1, after c2, 0.5d Analyse règles :f2, after c2, 0.5d section Structuration QA Modèle Pydantic rapport :g1, after f2, 1d Parser résultats outils :g2, after g1, 0.5d section Agent QA Prompt Agent QA :h1, after g2, 1d Résumé intelligible :h2, after h1, 0.5d Traduction erreurs → dev :h3, after h2, 1d section Boucle Dev ↔ QA Implémenter boucle LangGraph :i1, after h3, 1.5d Condition stop :i2, after h3, 0.5d Limite itérations :i3, after h3, 1d section Logs pour correction Structurer logs :j1, after i3, 0.5d Injecter logs dans Agent Dev :j2, after i3, 0.5d section Intégration LangGraph Ajouter noeud QA :k1, after j2, 0.5d Connecter Dev → QA → loop :k2, after j2, 0.5d section Sécurisation minimale Limiter temps exécution :l1, after k2, 0.5d Bloquer accès disque/réseau :l2, after k2, 0.5d ``` ```mermaid gantt title Section 4 - Livraison & Feedback Utilisateur dateFormat YYYY-MM-DD axisFormat %d/%m excludes weekends todayMarker off section Préparation affichage Récupérer code validé :a1, 2026-08-03, 0.5d Récupérer rapport QA :a2, 2026-08-03, 0.5d section Affichage Chainlit Afficher code :b1, after a2, 0.5d Afficher rapport QA :b2, after a2, 0.5d Afficher instructions exécution :b3, after a2, 0.5d section Actions utilisateur Bouton valider :c1, after a2, 0.5d Bouton refuser :c2, after a2, 0.5d section Gestion refus Champ feedback :d1, after c2, 0.5d Structuration Pydantic :d2, after c2, 0.5d Injection LangGraph :d3, after c2, 0.5d section Boucle retour PM Transition QA → PM :e1, after d3, 0.5d Conserver contexte + feedback :e2, after d3, 0.5d section Génération ZIP Créer archive :f1, after e2, 0.5d Vérifier structure :f2, after e2, 0.5d section Téléchargement Bouton téléchargement ZIP :g1, after e2, 0.5d section Sauvegarde projet Sauvegarder code + metadata :h1, after g1, 0.5d Flag validated :h2, after g1, 0.5d section Réindexation Qdrant Générer embedding :i1, after h2, 0.5d Ajouter dans Qdrant :i2, after h2, 0.5d section Git (optionnel) Init dépôt :j1, after i2, 0.5d section Intégration finale LangGraph Ajouter noeud Delivery :k1, after i2, 0.5d Connecter QA → Delivery → fin :k2, after i2, 0.5d ``` ```mermaid gantt title Section finale - Rendu dateFormat YYYY-MM-DD axisFormat %d/%m excludes weekends todayMarker off Tests fonctionnels de bout en bout :a1, 2026-08-13, 0.5d Documentation finale :a2, 2026-08-13, 0.5d Présentation :a3, after a2, 1d ```