📖 Glossaire — Outils & IA
Les termes statistiques (IQR, Monte Carlo, Cp/Cpk...) sont déjà expliqués dans l'onglet Glossary du dashboard lui-même — inutile de les dupliquer ici. Ce glossaire couvre uniquement les outils de développement.
| PowerShell / Terminal | Fenêtre où vous tapez des commandes texte pour lancer Claude Code ou Node.js. Sur Windows : Démarrer → taper PowerShell. |
| Node.js | Environnement requis pour installer Claude Code et pour exécuter test_pluto_dashboard.js (les tests de ce projet). Gratuit sur nodejs.org. |
| npm | Gestionnaire de paquets installé avec Node.js — sert à installer Claude Code (npm install -g @anthropic/claude-code). |
| Python | Requis uniquement pour build.py (régénération de la charge "Loading" depuis le xlsx) — pas nécessaire pour simplement ouvrir ou consulter le dashboard. |
| Claude / Claude Code | Claude = l'IA sur claude.ai. Claude Code = la version qui travaille directement sur vos fichiers (lire, modifier, exécuter des scripts) depuis un terminal. |
| Prompt | Le texte que vous écrivez pour demander une modification à Claude Code. Plus il est précis (quel onglet, quelle valeur), meilleur est le résultat. |
| JSON | Format de données structurées, utilisé par build.py pour ses messages de diagnostic. Pas utilisé pour stocker vos données (voir Architecture). |
🚀 Installer et lancer
Beaucoup plus simple que la plupart des outils : un seul fichier, pas de serveur obligatoire
① Consulter le dashboard (aucune installation)
☐ Double-cliquez sur
Lancer-Application.bat (ou directement sur PLUTO_merged_24june24.html) — il s'ouvre dans votre navigateur habituel, aucun serveur ni compte requis.☐ Toutes les données sont déjà dans le fichier — rien à charger, rien à configurer.
② Pouvoir le modifier avec Claude Code
Nécessite Node.js (pour Claude Code et pour les tests). Python est optionnel, seulement si vous voulez utiliser
build.py.1
Installer Node.js
https://nodejs.org — téléchargez la version LTS, installez (Suivant × 3).
2
Installer Claude Code
npm install -g @anthropic/claude-code
3
Ouvrir PowerShell dans le dossier du projet
Dans l'explorateur, ouvrez ce dossier, cliquez dans la barre d'adresse, tapez
powershell, Entrée.4
Lancer Claude Code
claude
Décrivez ensuite votre modification (voir "Exemples de prompts").
Erreurs fréquentes
| Message | Solution |
|---|---|
| 'node' n'est pas reconnu | Node.js pas installé, ou terminal pas rouvert après l'installation. |
| 'python' n'est pas reconnu | Python pas installé (nécessaire seulement pour build.py) — python.org, cocher "Add to PATH". |
| Le dashboard s'ouvre mais reste vide | Rechargement forcé (Ctrl+F5) — le navigateur affiche parfois une ancienne version en cache. |
🗺️ Comment c'est construit
Le minimum à savoir avant de demander une modification
💡 Un seul fichier, tout est dedans
Contrairement à un projet web classique,
PLUTO_merged_24june24.html contient sa mise en page, son style et toute sa logique dans un seul fichier. Les données (151 projets historiques, portefeuille actif, glossaire...) sont codées en dur dans le <script> en fin de fichier — pas de base de données, pas de fichier séparé à charger.📁 Les fichiers du dossier
| PLUTO_merged_24june24.html | Le dashboard complet — le seul fichier nécessaire pour l'utiliser. |
| loading by skills.xlsx | Source de LOAD_DE (charge de ressources, onglet Loading). |
| TnS_PLUTO_PROJECT_3-3_POC.xlsx | Source de LOAD_ABC/LOAD_PLUTO (ajouté le 2026-07-30) — voir CONTEXTE.md. |
| build.py | Régénère LOAD_DE/LOAD_ABC/LOAD_PLUTO depuis les 2 xlsx ci-dessus — optionnel, tout le reste se modifie directement dans le HTML. |
| build_pluto_excel.py | Étape 3 (2026-07-30) — génère pluto_OUT.xlsx, indépendant du HTML (voir "Excel IN/OUT" plus bas). |
| pluto_OUT.xlsx | Classeur d'audit généré (10 onglets, formules vivantes). |
| projets_IN.csv | Entrée optionnelle de build_pluto_excel.py (id,complexite,duree_mois) — absent = repli sur RAW embarqué. |
| Ouvrir-Excel.bat | Ouvre pluto_OUT.xlsx d'un double-clic. |
| help.html | Cette page. |
💾 Où vivent les données
Aucun
localStorage, aucune sauvegarde — le dashboard est un rapport interactif : les curseurs et paramètres (ex. seuil IQR dans l'onglet History) recalculent en direct dans le navigateur, mais rien n'est mémorisé après un rechargement. Pour changer une donnée durablement, il faut éditer le fichier lui-même (ou loading by skills.xlsx + relancer build.py pour l'onglet Loading).🤖 Comment l'IA est utilisée
Comme pour tous les projets de ce dossier
TWIN agents IA : l'application n'appelle jamais Claude depuis le code. Toute la logique (nettoyage IQR, ajustement de distributions, Monte Carlo) est calculée en JavaScript pur dans le navigateur. C'est vous qui utilisez Claude Code en dehors de l'application, pour la faire évoluer.📊 Excel IN/OUT — classeur d'audit
Un fichier séparé, indépendant du dashboard — aucune connexion dans aucun sens
⚠️ Indépendance totale — ce dashboard ne lit jamais
pluto_OUT.xlsx, et ce classeur n'est jamais régénéré automatiquement depuis le dashboard. Modifier l'un ne change pas l'autre.🚀 Générer / mettre à jour le classeur
python3 build_pluto_excel.py
Lit
projets_IN.csv (optionnel, colonnes id,complexite,duree_mois) s'il est présent ; sinon utilise les mêmes 151 projets que RAW du dashboard (copie figée). Backup horodaté à chaque run.📑 Les 10 onglets (strictement ceux du dashboard)
| Overview | Statistiques de référence "DB" (figées) + compteur RAW. |
| History | 151 projets bruts + nettoyage IQR vivant (seuil k modifiable, défaut 2.5) + stats nettoyées par classe. |
| Distributions | Paramètres des 6 lois calculés en formules vivantes (contrairement à Prévision logistique/MEDFRET, ici les formules sont fermées et reproductibles) + grille CDF 60 points + meilleur modèle recalculé. |
| Monte Carlo | 1000 tirages/classe (RAND() + Box-Muller). |
| KPI | Probabilité de succès du projet Pluto, recalculée (NORMDIST + MIN des 4 métriques). |
| Dashboard | Synthèse consolidée. |
| Tech Platform | Comparaison étape actuelle/requise. |
| Loading | Charge trimestrielle (ABC+Pluto décalé+DE) vs plafond 110%, vivant. |
| Recommendation | Scan des 8 premiers trimestres pour le meilleur SoD, vivant. |
| Glossary | 22 termes/définitions, table statique. |
💡 Comparaison croisée avec le vrai moteur JS
test_excel_pluto.py exécute le code JavaScript réel du dashboard (via Node.js, sans réimplémentation) et compare ses résultats aux formules Excel : statistiques nettoyées, erreurs des 6 lois, probabilités KPI. Une divergence trouvée : le moteur JS identifie Log-Normale comme meilleur modèle pour les 3 classes, alors que la référence figée XLS_BEST n'en indique qu'une (le classeur reproduit fidèlement le calcul JS réel, pas la référence figée — un vrai résultat d'audit, pas une erreur).🧭 Ouvrir le classeur
Double-cliquez sur
Ouvrir-Excel.bat, ou utilisez le lien "📊 Télécharger le classeur Excel (audit)" en haut du dashboard.✏️ Demander une modification à Claude Code
Vous n'avez pas besoin de savoir coder — juste de décrire précisément ce que vous voulez
1️⃣ Précisez l'onglet concerné (Overview, History, Distributions, Monte Carlo, Loading, Recommendation, Glossary...) — évite que Claude Code cherche au mauvais endroit.
2️⃣ Décrivez le comportement actuel puis voulu : "Actuellement X affiche Y, je voudrais Z."
3️⃣ Une demande à la fois — plus facile à vérifier et à annuler si besoin.
4️⃣ Si la donnée vient d'un onglet Excel (Loading), précisez si vous voulez éditer
build.py/le xlsx, ou juste la valeur affichée.5️⃣ Demandez toujours une vérification après coup (voir "Tests de non-régression").
💡 Exemples de prompts
À copier-coller dans Claude Code, pas dans claude.ai
📊 Ajouter un projet à l'historique
Dans PLUTO_merged_24june24.html, ajoute un projet au tableau RAW
(section DATA du script) : id 153, complexité "Innovative", durée
30.5 mois. Vérifie ensuite que le total de projets affiché dans
l'onglet Overview passe bien à 152.
🎚️ Changer un paramètre par défaut
Dans l'onglet History, le seuil IQR par défaut est 2.5. Je voudrais
qu'il démarre à 2.0 à l'ouverture de la page, tout en restant
ajustable par l'utilisateur.
🎨 Changer une couleur
Dans PLUTO_merged_24june24.html, la couleur d'accent bleue
(--accent:#4f8ef7) est utilisée partout. Remplace-la par un violet
(#8b5cf6) dans toute l'application.
✅ Tests de non-régression
Deux niveaux complémentaires : vérification automatisée du code, et vérification visuelle par vous
⚠️ Ne considérez jamais une modification terminée juste parce que Claude Code dit "c'est fait" — vérifiez vous-même.
🤖 Niveau 1 — Suite automatisée (exécute le vrai moteur JS)
Demandez à Claude Code de lancer, ou lancez vous-même :
node test_pluto_dashboard.js
Vérifie 21 points : structure des onglets, autonomie (aucune ressource externe), exactitude des 151 projets et du nettoyage IQR, cohérence des statistiques, absence de secret codé en dur. Une modification qui casse un de ces points fait échouer le test avant même d'ouvrir le navigateur.
📊 Niveau 1bis — Classeur Excel (si vous avez modifié build_pluto_excel.py)
python3 build_pluto_excel.py && python3 test_excel_pluto.py
Suite séparée (26 tests) : 0 erreur de formule (recalcul Excel réel), fidélité de RAW/DB/PROJECTS/GLOSSARY au HTML, formules vivantes, et surtout une comparaison croisée avec le vrai moteur JS (via Node.js) — stats nettoyées, erreurs des 6 lois, probabilités KPI.
Si vous avez modifié
build.py (LOAD_DE/LOAD_ABC/LOAD_PLUTO) : python3 test_build.py🖱️ Niveau 2 — Vérification visuelle dans le navigateur
☐ Rechargement forcé (Ctrl+F5), pas un simple F5
☐ Console ouverte (F12) — aucun message rouge
☐ Cliquer sur l'onglet modifié + 2-3 onglets voisins non touchés
☐ Si la modification touche une donnée partagée (RAW, DB, PROJECTS), vérifier les onglets Overview, History et Distributions (ils l'utilisent tous)
🏁 Validation de la version finale
Une fois toutes vos modifications terminées
☐
node test_pluto_dashboard.js → 21/21 tests passés☐ Si
loading by skills.xlsx/TnS_PLUTO_PROJECT_3-3_POC.xlsx a changé : relancer python3 build.py puis python3 test_build.py☐ Si le classeur Excel d'audit a été modifié :
python3 test_excel_pluto.py → tests passés☐ Rechargement forcé, console vide sur les 10 onglets (Overview, History, Distributions, Monte Carlo, Dashboard, KPIs, Tech Platform, Loading, Recommendation, Glossary)
☐ Double-clic direct sur le fichier (pas juste via Claude Code) pour confirmer qu'il s'ouvre normalement en usage réel
🛠️ Dépannage
| Situation | Solution |
|---|---|
| Ma modification n'apparaît pas | Ctrl+F5 plutôt que F5 (cache navigateur) |
| Un onglet reste vide/gelé | F12 → Console → copiez le message rouge et donnez-le à Claude Code |
| build.py écrit LOAD_DE=[0,0,0...] | Signe que PROJECTS n'a pas pu être lu dans le HTML — le script refuse normalement d'écrire dans ce cas (garde-fou), donnez le message d'erreur affiché à Claude Code |
| Je veux une copie de secours avant un gros changement | Copiez le fichier .html (clic droit → Copier/Coller) avant de demander la modification |
🔒 Sécurité
Vérifications automatisées le 2026-07-19 — pas d'audit manuel ponctuel comme sur le projet "Pilotage commercial"
🎯 Pourquoi la surface de risque est limitée ici
Fichier HTML statique, sans serveur, sans stockage de données utilisateur (pas de
localStorage), sans export (pas de CSV, pas de mailto:), sans champ de saisie libre affiché ailleurs que dans le code source lui-même. La plupart des risques classiques d'une application web (injection XSS depuis une donnée externe, fuite de secret, appel réseau non voulu) ne s'appliquent pas à ce modèle.✅ Vérifié par
test_pluto_dashboard.js (21 tests, à chaque modification)OK Aucun
fetch()/XMLHttpRequest — le fichier ne communique avec aucun serveurOK Aucune ressource (script/style/image) chargée depuis un domaine externe
OK Aucun chemin Windows absolu codé en dur (portabilité)
OK Aucun secret codé en dur (clé API, mot de passe, clé privée)
Si une future évolution ajoute un import de données externes (CSV, réponse Claude collée) affiché dans le DOM, appliquez le même principe que le projet "Pilotage commercial" : passer la valeur par une fonction d'échappement HTML avant insertion, puis ajouter un test de non-régression dédié dans
test_pluto_dashboard.js.🔐 Charte d'utilisation de l'IA
L'usage des outils d'IA sur ce projet est encadré par une charte commune aux 6 projets de
TWIN agents IA — usages/outils autorisés, données interdites, validation humaine avant action, contact référent : Charte_IA.md.