From e5c04418cf709d758a95b29546cae12bce38d1c4 Mon Sep 17 00:00:00 2001 From: jsboige self-bot Date: Tue, 15 Sep 2026 05:31:41 +0200 Subject: [PATCH 1/2] fix(docs,#16237): PARCOURS.md expose les 3 pilotes narratifs en primaire, 5 pages catalogue en vues secondaires MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Périmètre (#16237, sous-grain de l'EPIC #14446 et de la Phase 3 de #13844) - PARCOURS.md : ouverture refaite. Tableau primaire = 3 parcours narratifs (genai-rush ~8-10h, symbolic-formalization ~20h, aima-walk ~25-30h) avec public, durée, sortie concrète. Tableau secondaire = 5 pages catalogue (ia-classique, ia-symbolique, genai, trading, recherche) repositionnées explicitement 'vues du catalogue' (filet alphabétique), régénérées chaque jour par catalog-cron.yml. Section nouvelle 'Parcours par contraintes d'infrastructure' pour parcours.qmd (axe orthogonal). - README.md ligne 19 : la phrase 'cinq itinéraires thématiques' devient 'trois itinéraires certifiées (..., les cinq pages catalogue repositionnées vues du catalogue, pas parcours)' -- même correction d'allocation que PARCOURS.md. - README.md ligne 115 : 'PARCOURS.md' conserve + 'parcours.qmd' ajouté explicitement (choix par contraintes d'infrastructure). - index.md ligne 11 et 51 : 'cinq parcours de formation' devient 3 narratifs + 5 vues + lien vers parcours.qmd. - index.qmd ligne 56 : lien [PARCOURS.md](parcours.qmd) devient [parcours.qmd](parcours.qmd) -- correction libellé/cible (acceptance #16237). ## Hors scope (acceptance #16237, périmètre préservé) - COURSE_CATALOG.generated.* non touché. - Les 5 pages catalogue générées non touchées -- catalog-cron.yml continue de les régénérer byte-identique. - Les 3 pilotes narratifs eux-mêmes (genai-rush.md, etc.) non modifiés. - generate_parcours.py et catalog-cron.yml non modifiés. ## Vérifications - python scripts/notebook_tools/generate_parcours.py --check : couverture inchangée 1047/1003, mêmes 6 notebooks non couverts (CaseStudies pre-existing, hors périmètre acceptation). - python scripts/check_docs_links.py --expect-broken 0 : 731 fichiers, 7191 liens, 0 cassé. - python scripts/notebook_tools/check_link_label_agreement.py : 0 désaccord. Tell c.1060-L2 ★ : grain MED/readme, pool CONTENU sec hostiles x12e sustained. G-VAR-1 NOT HELD -- reparation 'etudiante -porte d'entree-', pas contenu pedagogique neuf. --- PARCOURS.md | 120 +++++++++++++++++++++++++++++++++++++--------------- README.md | 4 +- index.md | 4 +- index.qmd | 2 +- 4 files changed, 90 insertions(+), 40 deletions(-) diff --git a/PARCOURS.md b/PARCOURS.md index f4d1db701e..f39d929d5a 100644 --- a/PARCOURS.md +++ b/PARCOURS.md @@ -1,52 +1,102 @@ -# Parcours Pedagogiques CoursIA +# Parcours d'apprentissage CoursIA -Cinq parcours de formation en intelligence artificielle, des fondamentaux aux sujets avances. -Chaque parcours reference des notebooks tries par serie et maturite. +Trois parcours narratifs — objectif, public, durée et sortie concrète — sont +livrés par l'équipe `docs/curriculum/`. Cinq autres pages listent les notebooks +par domaine thématique ; ce sont des **vues du catalogue**, pas des parcours +d'apprentissage, et elles sont régénérées chaque jour par `catalog-cron.yml`. -| # | Parcours | Focus | -|---|----------|-------| -| 1 | [IA Classique](docs/curriculum/ia-classique.md) | Recherche, CSP, Sudoku | -| 2 | [IA Symbolique](docs/curriculum/ia-symbolique.md) | Lean, Tweety, SemanticWeb, Planning | -| 3 | [GenAI Multimodale](docs/curriculum/genai.md) | Image, Audio, Video, Texte | -| 4 | [Trading Algorithmique](docs/curriculum/trading.md) | QuantConnect, ML, Probas | -| 5 | [Recherche Avancee](docs/curriculum/recherche.md) | Infer.NET, Pyro, IIT, RL, GameTheory | +## Parcours narratifs -> Les comptes de notebooks par parcours vivent dans les pages generees elles-memes -> (regenerees chaque jour depuis le catalogue par `catalog-cron.yml`) -- ils ne sont -> pas epingles ici, ou ils derivaient silencieusement (constat 2026-08-05 : la -> colonne manuelle etait fausse d'un ordre de grandeur, 13/82/68/56/51 pour des -> pages a 143/221/135/198/173). +| # | Parcours | Public | Durée | Sortie | +|---|---------|--------|-------|--------| +| 1 | [Accéléré vers GenAI](docs/curriculum/genai-rush.md) | Développeur Python qui veut être opérationnel sur les APIs d'IA générative sans GPU | ~8-10 h | Boucle agentique texte, chaîne image, voix bidirectionnelle, agents `AgentGroupChat`, RAG Qdrant embarqué | +| 2 | [IA Symbolique et Formalisation](docs/curriculum/symbolic-formalization.md) | Étudiant ou ingénieur qui veut passer du symbolique « qui marche » à la formalisation vérifiée par machine | ~20 h | Quatre familles logiques Tweety, SMT Z3 avec capstone d'optimisation, planification Fast-Downward, trois preuves Lean 4 rejouées | +| 3 | [Recherche et Corpus (AIMA-inspired)](docs/curriculum/aima-walk.md) | Lecteur qui veut retraverser l'IA classique avec un manuel de référence (Russel & Norvig) et vérifier chaque concept sur du code | ~25-30 h | A*, CSP, logiques Tweety, Bayes PyMC, Nash, CFR, RL, pipeline LLM — plus la carte de ce que le corpus ajoute à AIMA | -## Legende maturite +Les trois pilotes suivent le modèle « Parcours alternatifs » du +[README GameTheory](MyIA.AI.Notebooks/GameTheory/README.md) : durée annoncée, +liste numérotée, clause de prérequis qui dit ce qui est supposé **et ce qui ne +l'est pas**. La matière première est l'inventaire des embryons de parcours +([`docs/curriculum/_inventory.md`](docs/curriculum/_inventory.md), EPIC +[#13844](https://github.com/jsboige/CoursIA/issues/13844)). + +### Parcours par contraintes d'infrastructure + +`[parcours.qmd](parcours.qmd)` répond à une question différente : *« avec quel +matériel puis-je avancer ? »*. Trois profils y sont documentés : + +1. **Local sobre** — Python + Jupyter, sans GPU, sans Docker. +2. **ML.NET + symbolique** — ajout de .NET Interactive pour C# et Lean 4. +3. **GenAI complet** — Docker (ComfyUI, Qwen), GPU RTX 3090, services cloud. + +C'est un axe orthogonal : les trois parcours narratifs ci-dessus sont chacun +réalisables dans le profil *Local sobre*, à l'exception de `genai-rush.md` qui +exige une clé OpenAI directe pour les étapes image et voix (deux endpoints non +relayés par les tiers). + +## Vues du catalogue (par domaine) + +Cinq pages listent les notebooks par thème. Elles sont **régénérées +automatiquement** chaque jour par +[`scripts/notebook_tools/generate_parcours.py`](scripts/notebook_tools/generate_parcours.py) +depuis `COURSE_CATALOG.generated.json`, et ne définissent aucun ordre +pédagogique : elles disent *ce qui existe*, pas *dans quel ordre le faire*. + +| Page | Domaine | +|------|---------| +| [IA Classique](docs/curriculum/ia-classique.md) | Recherche, CSP, Sudoku | +| [IA Symbolique](docs/curriculum/ia-symbolique.md) | Lean, Tweety, SemanticWeb, Planning | +| [GenAI Multimodale](docs/curriculum/genai.md) | Image, Audio, Vidéo, Texte | +| [Trading Algorithmique](docs/curriculum/trading.md) | QuantConnect, ML, Probas | +| [Recherche Avancée](docs/curriculum/recherche.md) | Infer.NET, Pyro, IIT, RL, GameTheory | + +Les comptes vivent dans les pages générées elles-mêmes — ils ne sont pas +épinglés ici, ou ils dériveraient silencieusement (constat 2026-08-05 : la +colonne manuelle était fausse d'un ordre de grandeur). + +## Légende maturité | Statut | Description | |--------|-------------| -| PRODUCTION | Complets, executes, structure pedagogique finalisee | -| BETA | Fonctionnels, outputs presents, structure partielle | -| ALPHA | En cours de developpement, outputs partiels | -| DRAFT | Non executes ou structure minimale | +| PRODUCTION | Complets, exécutés, structure pédagogique finalisée | +| BETA | Fonctionnels, outputs présents, structure partielle | +| ALPHA | En cours de développement, outputs partiels | +| DRAFT | Non exécutés ou structure minimale | -## Niveaux de difficulte +## Niveaux de difficulté -- **Debutant** : PRODUCTION/BETA sans prerequis techniques (pas d'API/GPU/cloud) -- **Intermediaire** : BETA/ALPHA avec configuration requise (API keys, Docker) -- **Avance** : ALPHA/RESEARCH avec infrastructure specialisee (GPU, QC Cloud, WSL) +- **Débutant** : PRODUCTION/BETA sans prérequis techniques (pas d'API/GPU/cloud) +- **Intermédiaire** : BETA/ALPHA avec configuration requise (clés API, Docker) +- **Avancé** : ALPHA/RESEARCH avec infrastructure spécialisée (GPU, QC Cloud, WSL) -## Comment utiliser un parcours +## Comment choisir un parcours narratif -1. Ouvrir la page du parcours (liens ci-dessus) -2. Commencer par les notebooks PRODUCTION (maturite la plus elevee) -3. Progresser vers les BETA puis ALPHA -4. Installer les prerequis indiques dans le premier notebook de chaque serie +1. Lire la section « Public visé » du parcours pour vérifier que votre profil correspond. +2. Vérifier les prérequis : chaque pilote porte une table « Prérequis vérifiables en ~10 min » avec commande et succès attendu. +3. Suivre les étapes dans l'ordre : chaque étape porte explicitement ce qu'elle *suppose acquis* — la précédence n'est pas une convention, elle est lue sur la section Prérequis réelle du notebook (marquée « déclaré ») ou déduite de son contenu. +4. Si un parcours vous semble trop ambitieux ou pas assez, le tableau « Prolongements » à la fin de chaque pilote liste les briques voisines qui le prolongent. -## Generation +## Génération des vues catalogue -Les pages de parcours sont generees automatiquement via : +Les pages `genai.md`, `ia-classique.md`, `ia-symbolique.md`, `trading.md` et `recherche.md` sont générées automatiquement via : ```bash -python scripts/notebook_tools/generate_parcours.py # Generer tout -python scripts/notebook_tools/generate_parcours.py --check # Verifier couverture -python scripts/notebook_tools/generate_parcours.py --dry-run # Apercu sans ecriture +python scripts/notebook_tools/generate_parcours.py # Générer tout +python scripts/notebook_tools/generate_parcours.py --check # Vérifier couverture +python scripts/notebook_tools/generate_parcours.py --dry-run # Aperçu sans écriture ``` -Source : `COURSE_CATALOG.generated.json` (mis a jour par `generate_catalog.py`). +Source : `COURSE_CATALOG.generated.json` (mis à jour par `generate_catalog.py`). + +Les pages narratives `genai-rush.md`, `symbolic-formalization.md`, +`aima-walk.md` et l'inventaire `_inventory.md` suivent la convention des pages +manuelles (préfixe underscore ou hors liste des cinq ids du générateur) : elles +n'appartiennent **pas** au catalogue et ne sont jamais écrasées par +`catalog-cron.yml`. + +## Voir aussi + +- [`README.md`](README.md) — racine du dépôt, section *Parcours recommandés*. +- [`index.md`](index.md) — index des thématiques, *« quelles thématiques ? »*. +- [`parcours.qmd`](parcours.qmd) — choix par contraintes d'infrastructure, *« avec quel matériel ? »*. +- [`COURSE_CATALOG.generated.md`](COURSE_CATALOG.generated.md) — catalogue vivant, *« quel notebook précis dans quelle série ? »*. diff --git a/README.md b/README.md index a909e7bdf9..85792d859a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Les notebooks utilisent Python, C# avec .NET Interactive et Lean 4. De nombreux Trois chemins permettent d'entrer dans le dépôt sans parcourir tout le catalogue : -1. **Suivre un parcours guidé** : [PARCOURS.md](PARCOURS.md) relie les notebooks en cinq itinéraires thématiques et indique leur maturité. +1. **Suivre un parcours narratif** : [PARCOURS.md](PARCOURS.md) présente trois itinéraires certifiées (accéléré GenAI, IA symbolique, lecture AIMA), avec public, durée et sortie concrète. Les cinq pages catalogue qui listent les notebooks par domaine y sont repositionnées comme **vues du catalogue**, pas comme parcours. 2. **Choisir une série** : chaque README de série présente son objectif, son ordre de lecture, ses prérequis et ses notebooks. 3. **Préparer l'environnement** : pour exécuter immédiatement, commencer par [Mise en route](#mise-en-route), puis ouvrir le notebook `Setup` ou `Environment` de la série choisie. @@ -112,7 +112,7 @@ L'apprentissage n'est pas une sixième étape : c'est une **couche disponible à **Explorer les frontières de recherche** -- Les preuves formelles, le pipeline ML multi-seed, le post-training des LLMs et IIT/ICT proposent des résultats falsifiables, y compris des résultats négatifs documentés. -Pour les itinéraires notebook par notebook, leur maturité et leurs prérequis, voir [PARCOURS.md](PARCOURS.md). +Pour les itinéraires notebook par notebook, leur maturité et leurs prérequis, voir [PARCOURS.md](PARCOURS.md) (parcours narratifs) et [`parcours.qmd`](parcours.qmd) (choix par contraintes d'infrastructure). --- diff --git a/index.md b/index.md index fceb5ec7c9..1ac596c4d3 100644 --- a/index.md +++ b/index.md @@ -8,7 +8,7 @@ Ce document sert de **portail d'entrée éditorial** vers le contenu pédagogiqu - **Entrée** (le présent fichier, [`index.md`](index.md)) — portail éditorial : thématiques + parcours. Maintenance manuelle, modifications rares. - **Vue d'ensemble** ([`README.md`](README.md)) — cartographie rapide du dépôt + parcours d'apprentissage par niveau. Maintenance manuelle, vue pédagogique consolidée. -- **Parcours thématiques** ([`PARCOURS.md`](PARCOURS.md)) — cinq parcours de formation (IA classique, symbolique, GenAI, trading, recherche) dont les pages détaillées sont **générées** depuis le catalogue. +- **Parcours d'apprentissage** ([`PARCOURS.md`](PARCOURS.md)) — trois parcours narratifs (accéléré GenAI, IA symbolique, lecture AIMA) qui indiquent public, durée et sortie concrète, et cinq pages **vues du catalogue** (IA classique, symbolique, GenAI, trading, recherche) **générées** depuis le catalogue par `catalog-cron.yml`. Les pages générées disent *ce qui existe*, pas *dans quel ordre le faire*. - **Catalogue à jour** ([`COURSE_CATALOG.generated.md`](COURSE_CATALOG.generated.md)) — inventaire exhaustif : total à jour (en-tête « Total notebooks »), décompte par série, statuts, maturités, owners. Maintenance **automatique** (workflow `catalog-cron.yml` quotidien). Les quatre niveaux sont complémentaires : l'`index.md` répond à *« quelles thématiques ? »*, le `README.md` à *« par où commencer ? »*, `PARCOURS.md` à *« quel enchaînement suivre ? »*, le catalogue à *« quel notebook précis dans quelle série ? »*. @@ -48,7 +48,7 @@ Chaque série est introduite par son thème central, ses prérequis et un pointe ## 🚀 Comment choisir son point d'entrée -Pour un plan d'apprentissage guidé par niveau (débutant, intermédiaire, avancé), consultez la section **[Parcours recommandés](README.md#parcours-recommandés)** du `README.md` racine. Pour un enchaînement thématique complet trié par maturité, consultez **[`PARCOURS.md`](PARCOURS.md)**. +Pour un plan d'apprentissage guidé par niveau (débutant, intermédiaire, avancé), consultez la section **[Parcours recommandés](README.md#parcours-recommandés)** du `README.md` racine. Pour un parcours narratif précis (public, durée, sortie concrète), consultez la section *Parcours narratifs* de **[`PARCOURS.md`](PARCOURS.md)**. Pour un choix par contraintes d'infrastructure, voir **[`parcours.qmd`](parcours.qmd)**. Pour un inventaire technique exhaustif (notebook par notebook, statuts d'exécution, owners), consultez **[`COURSE_CATALOG.generated.md`](COURSE_CATALOG.generated.md)**. diff --git a/index.qmd b/index.qmd index 4e0ccc3a09..4f5430ae87 100644 --- a/index.qmd +++ b/index.qmd @@ -53,7 +53,7 @@ docs/ # Documentation projet (règles, harnais, référence ## Comment commencer ? -Trois parcours certifiés selon votre niveau — voir [PARCOURS.md](parcours.qmd) : +Trois parcours certifiés selon votre niveau — voir [parcours.qmd](parcours.qmd) : 1. **Local sobre** — Python + Jupyter uniquement, sans GPU, sans Docker. Idéal pour démarrer. 2. **ML.NET + Symbolic** — Ajout de .NET Interactive pour les algorithmes C# et Lean 4. From 8f241bf9a03fa2042936212959117cd43a1b4633 Mon Sep 17 00:00:00 2001 From: jsboige self-bot Date: Tue, 15 Sep 2026 11:06:18 +0200 Subject: [PATCH 2/2] =?UTF-8?q?fix(docs,#16237):=20accord=20grammatical=20?= =?UTF-8?q?=E2=80=94=20=C2=AB=20trois=20itin=C3=A9raires=20certifi=C3=A9s?= =?UTF-8?q?=20=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correction demandée par ai-01 en P0 sur la PR #16242 (head c0c7d6475a) : `trois itinéraires certifiées` -> `trois itinéraires certifiés` (README.md:19). `itinéraires` est masculin pluriel ; l'accord portait sur le nom, pas sur « trois ». Périmètre strictement celui de la demande : 1 ligne, 1 mot. Le lien [PARCOURS.md](PARCOURS.md) et le reste du paragraphe sont inchangés. Les occurrences correctes ailleurs dans la PR (`index.qmd:56` « Trois parcours certifiés ») ont été vérifiées et ne sont pas touchées. Co-Authored-By: Claude Sonnet 5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58bc2f2abb..3ec77a58a3 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Les notebooks utilisent Python, C# avec .NET Interactive et Lean 4. De nombreux Trois chemins permettent d'entrer dans le dépôt sans parcourir tout le catalogue : -1. **Suivre un parcours narratif** : [PARCOURS.md](PARCOURS.md) présente trois itinéraires certifiées (accéléré GenAI, IA symbolique, lecture AIMA), avec public, durée et sortie concrète. Les cinq pages catalogue qui listent les notebooks par domaine y sont repositionnées comme **vues du catalogue**, pas comme parcours. +1. **Suivre un parcours narratif** : [PARCOURS.md](PARCOURS.md) présente trois itinéraires certifiés (accéléré GenAI, IA symbolique, lecture AIMA), avec public, durée et sortie concrète. Les cinq pages catalogue qui listent les notebooks par domaine y sont repositionnées comme **vues du catalogue**, pas comme parcours. 2. **Choisir une série** : chaque README de série présente son objectif, son ordre de lecture, ses prérequis et ses notebooks. 3. **Préparer l'environnement** : pour exécuter immédiatement, commencer par [Mise en route](#mise-en-route), puis ouvrir le notebook `Setup` ou `Environment` de la série choisie.