📖 Glossaire
| Lead | Un contact entrant pas encore client — capturé et scoré dans le Module 1. |
| Score | Note sur 100 calculée à partir du niveau d'intérêt déclaré et de la présence d'un email/téléphone — pas un algorithme de machine learning, une formule simple et transparente. |
| Conversion | Le moment où un lead devient un client (bouton "Convertir" du Module 1) — crée une nouvelle fiche client reliée au lead d'origine. |
| Client | Entité pivot de la base : chaque client peut avoir des actions, des avis et des tickets support qui lui sont rattachés. |
| clientId | Identifiant technique qui relie une action/un avis/un ticket/une commande à son client — c'est ce qui rend la base "vraiment reliée" plutôt que 6 tableurs séparés. |
| Commande | Une ligne produit/quantité confirmée par un client (Module 6) — c'est la seule donnée du CRM qui a une valeur pour la planification de production, contrairement aux actions/avis/tickets. |
| Export CSV | Le Module 6 permet d'exporter les commandes confirmées en CSV (compatible Excel) — pensé pour être repris manuellement par le projet MRP-master. |
| localStorage | Stockage intégré au navigateur — toutes les données de ce CRM y restent, sur cet ordinateur uniquement. |
| Node.js | Requis pour installer Claude Code et lancer test_crm.py n'en a pas besoin (Python suffit) — utile si vous étendez l'app en JS testé via Node. |
| Claude / Claude Code | Claude = l'IA sur claude.ai. Claude Code = la version qui travaille directement sur vos fichiers depuis un terminal. |
🚀 Installer et lancer
☐ Double-cliquez sur Lancer-Application.bat (ou directement sur index.html) — il s'ouvre dans votre navigateur habituel, aucun serveur ni compte requis (contrairement à Pilotage commercial, ce projet n'utilise pas le presse-papiers).
☐ Cliquez sur "🧪 Charger les données de démo" pour valider le parcours complet lead → client → action/avis/ticket avant de saisir vos propres données.
☐ Gardez le dossier assets/ à côté des pages HTML — sans lui, les styles et boutons ne fonctionnent plus.
Pour le modifier avec Claude Code
1
Installer Node.js puis Claude Code
npm install -g @anthropic/claude-code
2
Installer Python (pour les tests)
https://www.python.org/downloads/ — cocher "Add to PATH".
3
Ouvrir PowerShell dans ce dossier, lancer Claude Code
claude
🗺️ Comment c'est construit
💡 Une seule base, 6 modules
Contrairement à un CRM/SAV séparés, tout vit dans le même localStorage du navigateur, avec un champ clientId qui relie les tables entre elles. Ouvrir la fiche d'un client (Module 2) affiche automatiquement ses actions, ses avis et ses tickets — ce n'est pas trois outils qui partagent juste une convention de nommage.
📁 Les fichiers du dossier
| index.html | Hub — KPIs, accès aux 6 modules, chargement des données de démo. |
| m1-leads.html | Capture et scoring des leads, conversion en client. |
| m2-clients.html | Fiche client consolidée (pivot de la base). |
| m3-actions.html | Journal d'actions par client. |
| m4-avis.html | Avis clients et note moyenne. |
| m5-support.html | Tickets support et délai de résolution. |
| m6-commandes.html | Commandes confirmées par produit/quantité, export CSV vers MRP. |
| test_crm.py | Suite de tests de non-régression. |
Ce projet réutilise la logique de scoring/pipeline de
Pilotage commercial (code adapté, pas partagé en direct) et complète le CRM avec avis clients + support, absents de cet autre projet. Aucune lecture de fichier croisée entre les deux dossiers.
Le Module 6 (Commandes) alimente, via un export CSV manuel, le projet
MRP-master, qui transforme la demande par
produit en plan de production et en besoins fournisseurs pour le
SRM —
là encore, aucune lecture de fichier croisée : uniquement des fichiers échangés
manuellement.
✏️ Demander une modification à Claude Code
1️⃣ Précisez le module concerné (Leads, Clients, Actions, Avis, Support, Commandes).
2️⃣ Décrivez le comportement actuel puis voulu.
3️⃣ Une demande à la fois.
4️⃣ Si vous ajoutez un champ texte libre affiché à l'écran, rappelez qu'il doit passer par escapeHtml() — vérifié automatiquement par test_crm.py.
5️⃣ Demandez toujours python3 test_crm.py après coup.
✅ Tests de non-régression
⚠️ Ne considérez jamais une modification terminée juste parce que Claude Code dit "c'est fait" — vérifiez vous-même.
Lancez :
python3 test_crm.py
Vérifie : présence des fichiers, intégrité des liens internes, autonomie (aucune ressource externe), cohérence du modèle de données partagé entre les 6 modules (mêmes clés localStorage, champ clientId utilisé de façon cohérente), échappement anti-XSS des champs texte libre, absence de secret codé en dur, format de l'export CSV du Module 6, autonomie et sécurité de la capture SAV mobile (sav-intervention-mobile.html) et de son import dans le Module 5.
🖱️ Vérification visuelle
☐ Charger les données de démo depuis le Hub, vérifier les 6 KPI
☐ Ouvrir un client (Module 2) et vérifier que ses actions/avis/tickets s'affichent
☐ Convertir un lead (Module 1) et vérifier qu'il apparaît bien dans le Module 2
☐ Exporter la demande (Module 6) et vérifier le contenu du CSV téléchargé
☐ Sur mobile : ouvrir sav-intervention-mobile.html, capturer une intervention, exporter le .json
☐ Importer ce fichier dans le Module 5 et vérifier la création/mise à jour du ticket correspondant
☐ Console (F12) sans message rouge sur les 7 pages
🛠️ Dépannage
| Situation | Solution |
| Un module affiche "Aucun client" | Créez un client via le Module 2 ou convertissez un lead depuis le Module 1. |
| Les données de démo n'apparaissent pas | Rechargement forcé (Ctrl+F5) après avoir cliqué sur "Charger les données de démo". |
| Je veux repartir de zéro | Bouton "🗑️ Réinitialiser" sur le Hub — efface tout, irréversible. |
🔒 Sécurité
🎯 Pourquoi la surface de risque est limitée ici
Application 100% locale, sans serveur, sans compte, sans donnée transmise à un tiers. Les données de démonstration sont explicitement fictives (aucune personne ou entreprise réelle).
✅ Vérifié par test_crm.py
OK Aucune ressource chargée depuis un domaine externe
OK Aucun secret codé en dur
OK Tous les champs texte libre échappés (anti-XSS)
OK Modèle de données cohérent entre les 6 modules (pas de clé localStorage orpheline)
L'usage des outils d'IA sur ce projet est encadré par une charte commune aux projets de
TWIN agents IA — usages/outils autorisés, données interdites, validation humaine avant action, contact référent :
Charte_IA.md.