Guide — Le système d'agents de la GPAO 3DÉCOUPE
Version du 2 octobre 2026. Ce guide explique comment le travail livré les 1er et 2 octobre fonctionne, comment s'en servir au quotidien et comment vérifier qu'il tourne. Une version lisible sur téléphone est dans la GPAO : guide-agents.html.
1. Comment ça marche, en une page
L'intelligence vit dans la GPAO, pas dans le modèle. Tout ce qu'un agent sait, fait ou attend est dans huit tables PostgreSQL. Le modèle (Claude, ou un autre demain) ne garde rien entre deux passages : il lit les tables, agit, écrit.
| Pièce | Rôle | Où |
|---|---|---|
| Fiches agents | mission, périmètre, consignes, motifs d'escalade, heures, plafond, actif/inactif, mode, affectations | table 3dc_agents (définitions de départ dans agents-defs.js) |
| Objectifs chiffrés | formule, cible, réalisé, période, « validée » | 3dc_agents_objectifs |
| État et dossiers | état de chaque agent, un dossier par facture ouverte, verrous « humain a la main » | 3dc_agents_etat |
| Journal | tout message entrant, sortant ou interne, par agent | 3dc_agents_journal |
| Escalades | questions au gérant #E123, réponse, statut | 3dc_agents_escalade |
| Constats RH | faits datés et sourcés du manager, décision du gérant | 3dc_rh_constats |
| Brouillons | messages rédigés par un agent, à valider avant envoi | 3dc_agents_brouillons |
| Numéros masqués | correspondance identifiant WhatsApp → téléphone | 3dc_wa_lid |
Trois moteurs se partagent le travail :
- Le moteur serveur (
agents-engine.js, dans le processus de la GPAO) : toutes les minutes il regarde quels agents actifs doivent tourner. Un cycle examine le périmètre, met à jour les dossiers, calcule les objectifs, prépare les relances dues, lit les réponses du gérant, applique les verrous. Un superviseur relance tout cycle bloqué depuis 15 minutes. Il ne tourne que sur le serveur : aucun PC allumé n'est nécessaire. - La routine cloud « 3DC - Agents GPAO (cycle intelligent) » : toutes les heures, 7h–17h Mayotte, elle lit les consignes des fiches, comprend les réponses des clients rattachées à un dossier, rédige la réponse (brouillon ou envoi selon le mode), applique les réponses du gérant aux escalades.
- Les humains : Julien (décisions, validations, réglages), Lina (validation des brouillons de son périmètre, reprise en main), Amina JULIEN (3DÉCOUPE POSE, pôle Recouvrement, compte « amina » : référente de l'agent Recouvrement depuis le 27/10/2026 — elle reçoit son point du jour et ses escalades, en même temps que Julien ; son écran : Espace Recouvrement).
Règles absolues, appliquées par le code : un agent inactif est muet (aucun message, aucune escalade) ; en mode brouillon rien ne part sans validation humaine ; un agent n'invente aucun chiffre (tout vient des tables) ; un humain qui écrit sur une conversation prend la main 24 h ; une mesure indisponible n'est jamais affichée comme un zéro.
2. Pour démarrer vraiment (trois gestes)
- Redémarrer la GPAO pour charger le moteur. Depuis le PC du bureau : Bureau à distance vers
192.168.1.11, Explorateur, dossierF:\3dc-gpao, double-clic surrestart-gpao.bat. Le script arrête la tâche GPAO-3DC, la relance et vérifie le port 3000 (journal dansrestart-gpao.log). La bannière jaune « moteur pas encore chargé » disparaît ensuite des pages Agents. Vérification depuis n'importe quel PC :node tools/verifier-agents.js --cycle. - Scanner le QR de l'expéditeur WhatsApp (page
whatsapp-connect.html, session « expéditeur »). Sans lui, aucun brouillon validé ne part ; tout reste en file3dc_wa_queueet part dès que la session est prête. - Pointer en comptabilité les factures déjà payées selon Trello ou la caisse (page
secretariat/factures-regul.html). Le recouvrement relance tout ce qui est ouvert dans3dc_factures: une facture payée mais ouverte serait relancée à tort.
3. Les pages
- Page de direction
direction.html(lien « Page de direction » sur la tuile Agents de l'accueil). Pyramide : Julien, le manager et Lina, puis les douze agents par métier. Clic sur un personnage : aperçu (mission, objectif principal, cinq états séparés), « Faire un signe », « Ouvrir l'espace métier », « Configurer cet agent ». Onglet « Mes décisions » : escalades en attente et brouillons à valider, réels. Onglet « Mes objectifs » : objectifs des agents actifs et ta priorité personnelle. - Espace métier
espace.html?agent=…: le poste de travail d'un agent. À gauche, les rubriques du métier (vert : module existant ouvert dans la page ; jaune : partiel ; gris : à créer, affiché « non connecté »), puis le socle commun : tableau de bord sourcé, objectifs, dossiers avec recherche, brouillons, escalades, journal, connexions mesurées, affectations. L'espace reste utilisable par les personnes affectées même si l'agent est désactivé. - Annuaire
agents.html: les douze agents, état, taux d'atteinte, escalades et brouillons en attente. - Fiche
agent.html?id=…: objectifs, périmètre, consignes, dossiers, journal, brouillons, escalades, constats (manager), activation, mode, cycle manuel. - Supervision
agents-supervision.html: conversations WhatsApp du jour rafraîchies toutes les 5 s, brouillons des agents mis en évidence dans la conversation, escalades, objectifs de l'utilisateur connecté, « Reprendre la main », réponse humaine directe, association des numéros masqués.
4. La vie d'une relance (agent recouvrement)
- Référente humaine (amina-27-10) : Amina JULIEN, 3DÉCOUPE POSE (pôle Recouvrement), compte « amina ». L'agent lui adresse son point du jour (messagerie GPAO + WhatsApp, une fois par jour) et ses demandes (« demande_lina » lui est transmise) ; toute escalade du recouvrement (remise ou abandon de créance, échéancier au-delà de 6 mois, litige, client qui dit avoir payé, hors périmètre) part à Amina ET à Julien. Son écran
espace-recouvrement.htmlréunit encours client, factures à relancer, décisions en attente, encaissements à lettrer, réponses clients WhatsApp et échéances du jour ; aucun module RH ni salaire. - À chaque cycle, le moteur crée ou met à jour un dossier par facture ouverte (
montantDu > 0), avec son objectif propre : « Encaisser 829,00 € sur la facture FACT-0025 ». Le téléphone vient de la fiche client (3dc_clients), sinon du devis. - Si la facture a plus de 30 jours, qu'aucune relance n'a été faite depuis 7 jours, qu'on est un jour ouvré entre 7h30 et 17h30, que le plafond quotidien n'est pas atteint, qu'aucun humain n'a la main et que le dossier n'est pas en « stop », le moteur rédige une relance (niveau 1 courtois, 2 relance, 3 ferme) avec la clause « si le règlement a été effectué entre-temps… ».
- Mode brouillon (réglage actuel) : la relance attend dans « Brouillons à valider » (direction, supervision, espace, fiche). Tu la lis, la corriges si besoin, « Valider et envoyer » → elle passe dans la file d'envoi
3dc_wa_queue, le pont serveur l'envoie dès que l'expéditeur WhatsApp est prêt. Mode direct : elle part sans validation. - Le client répond. Le message arrive dans
3dc_wa_inbox, le moteur le rattache au dossier par le numéro. Mots-clés sans ambiguïté (« payé », « virement », « conteste ») : le moteur arrête les relances et crée une escalade. Le reste est compris par la routine cloud, qui rédige la réponse selon les consignes de la fiche (échéancier raisonnable accepté avec clause de déchéance, litige demandé par écrit, hors sujet ramené à l'objectif). - Escalade : tu reçois sur WhatsApp « #E104 — Recouvrement : le client X dit avoir payé la facture… Répondez en commençant par #E104 ». Tu réponds en langage naturel (« #E104 ok, vérifié en compta » ou « #E104 non, relancer »). Le moteur enregistre la réponse ; la routine l'applique au dossier et répond au client. Tu peux aussi répondre depuis « Mes décisions » sur la page de direction.
- La facture passe « réglée » dans Factures : au cycle suivant le dossier est clos, l'objectif « encaissé sur le mois » augmente.
5. Activer, régler, affecter
- Activer / désactiver : page de direction → Configurer cet agent → case « Agent actif », ou bouton sur la fiche. Seuls les rôles admin / direction y ont accès. Un agent désactivé est totalement muet, mais son espace reste ouvert aux personnes affectées.
- Mode :
brouillon(validation humaine avant tout envoi) oudirect. Conseil : une semaine en brouillon avant de passer en direct. - Mission, objectif principal, cible, unité, période, « cible validée par le gérant » : même panneau. Toutes les cibles livrées sont des propositions (10 000 € d'encours, 60 jours, 5 000 €/mois…) : elles s'affichent « proposée » tant que tu n'as pas coché « validée ».
- Affectations : responsable humain, personnes affectées (liste des salariés actifs), sept droits (lecture, création, modification, validation, envoi externe, export, administration). Enregistrées en base et relues. Limite actuelle : ces droits sont enregistrés mais pas encore appliqués par le serveur (voir §9).
- Les consignes détaillées (ce que l'agent peut dire, ce qu'il doit escalader) sont dans la fiche (
consignes,escalade) : les modifier dansagents-defs.jspuisnode tools/seed-agents.js --force(les champs actif / mode / mesures sont conservés), ou directement dans la table.
6. Objectifs chiffrés
Chaque objectif a une formule calculée par le moteur toutes les 30 minutes depuis les tables (encours = somme des montantDu ouverts, factures > 60 jours, OF en retard, articles sous seuil, salariés sans pointage après 9h, véhicules sans relevé depuis 30 jours…). Trois états : mesuré (réalisé + taux), pas encore mesuré (le moteur n'a pas tourné), donnée absente (le champ n'existe pas dans la GPAO, par exemple les échéances d'entretien des véhicules). Le taux global d'un agent est la moyenne de ses objectifs mesurés ; il ne dit pas que toutes ses missions sont atteintes.
7. L'agent manager
Il ne tourne que s'il est activé. Chaque soir (16h30, vendredi 12h15) il lit le pointage et les congés : absence sans justificatif, retard après 7h30, OF en retard → un constat daté, sourcé, horodaté par salarié, avec le nombre de fois en 30 jours. Il écrit un compte rendu au gérant (présents à l'heure, retards, absences, OF en retard, faits pouvant justifier une mesure « à votre seule appréciation ») : en mode brouillon il attend dans « Brouillons à valider », en mode direct il part sur WhatsApp. Il ne génère ni avertissement, ni sanction, ni courrier. La colonne « Décision du gérant » sur la fiche (onglet Constats) ou dans l'espace Manager est à toi seul.
8. Reprendre la main, numéros masqués
- Reprendre la main (supervision, bouton sur la conversation, ou en répondant toi-même) : verrou 24 h sur ce numéro, les agents n'envoient plus rien dessus ; « Rendre la main aux agents » lève le verrou. Tout message envoyé par un humain depuis la GPAO pose aussi ce verrou.
- Numéros masqués : WhatsApp cache parfois le numéro derrière un identifiant long (ex.
257169823908009). Dans la supervision, bloc « Numéros masqués à associer » : saisir le vrai numéro et le nom ; les messages passés et futurs sont reconnus.
9. Ce qui n'est pas fait, et pourquoi
- Les douze espaces métier ne sont pas « complets » : 65 rubriques présentes, 18 à étendre, 21 à créer. La matrice
ESPACES-METIER-MATRICE-2026-10-02.mddit quoi, sur quelle table, avec quel critère de recette. Priorités : carnet d'entretien et pannes des véhicules, échéanciers de recouvrement, demandes salariés, corrections de pointage. - Les droits d'affectation ne sont pas appliqués côté serveur et
/api/allexpose encore des données personnelles : cela passe parserver.js, dont la version en production n'est pas lisible depuis ce dépôt. À planifier en une seule intervention sur la source réellement déployée. - WhatsApp Business API non retenue (modèles payants obligatoires pour toute relance) : le récepteur et l'expéditeur restent whatsapp-web.js sur le serveur.
- Le compte rendu du manager est écrit, pas oral.
- Les anciennes tâches planifiées sur le PC (recouvrement 08h, ops-*, synchro Trello) sont toujours actives : à éteindre une par une quand l'équivalent cloud est stable.
10. Vérifier que tout tourne
node tools/verifier-agents.js --cycle
Affiche : GPAO joignable et depuis quand, moteur chargé (/api/agents = 200), WhatsApp réception/envoi, dernier cycle du recouvrement, puis lance un cycle et montre les objectifs, dossiers, brouillons et escalades.
À l'œil : la bannière jaune a disparu sur agents.html ; sur la fiche Recouvrement « dernier cycle » est renseigné ; dans /api/diag le uptimeProcessSec est petit après un redémarrage.
11. Fichiers et outils
| Fichier | Rôle |
|---|---|
agents-engine.js | moteur serveur (monté par stock-consommation.js, sans modifier server.js) |
agents-defs.js | fiches, personnes, objectifs de départ |
public/espaces-defs.js | rubriques des espaces, connecteurs, planches (source unique) |
public/direction.html, espace.html, agents.html, agent.html, agents-supervision.html, agents-common.js | pages |
public/avatars/agents/ | planches Codex, 58 images découpées, animations.json |
tools/seed-agents.js | initialise ou met à jour les fiches en prod (--force) |
tools/deploy-agents.js | déploie une liste de fichiers (deploy-all base64) |
tools/matrice-espaces.js | régénère la matrice |
tools/verifier-agents.js | contrôle après redémarrage |
restart-gpao.bat | sur le serveur, F:\3dc-gpao : redémarre la GPAO en un double-clic |
| Routine cloud | trig_01FZ4cPdrXaJG2sPddVYsBeg (claude.ai, toutes les heures 7h–17h Mayotte) |
| Worker MCP | gpao-mcp.js v2.4, tables agents déclarées |
AUDIT-PROPOSITION-CODEX-DIRECTION-2026-10-02.md | audit de la proposition et améliorations |