diff --git a/agents.php b/agents.php index 80a29dd..a1e497e 100644 --- a/agents.php +++ b/agents.php @@ -52,7 +52,22 @@ try { // contact_ia_interprete.php) — la clé JSON change de nom avec la colonne, // pas d'alias de compatibilité gardé, pour ne pas laisser deux noms // cohabiter pour la même chose. - $stmt = $pdo->query('SELECT AGN_Incr, AGN_Prenom, AGN_Fonction, AGN_Variantes FROM ASP_Agents ORDER BY AGN_Incr ASC'); + // + // AGN_Photo (9 septembre 2026, écran assistants) : nom de fichier de la + // photo de l'agent (ex. "assistant_matilda.jpg"), colonne éditée à la + // main par Jean-Marc — même principe que AGN_Variantes. Valeur + // vide/absente tolérée côté écran (repli visuel, voir ecran_fond.html) : + // un agent sans photo reste affiché. + // + // AGN_Couleur (9 septembre 2026) : couleur pastel affectée à l'agent (ex. + // "#A6D9F2"), pas encore utilisée par aucun écran à ce stade — récupérée + // ici par anticipation (même table, même endpoint), voir réflexions + // stratégiques pour son usage prévu (post-its par assistant notamment). + // + // ORDER BY AGN_OrdreAffichage (9 septembre 2026) remplace AGN_Incr : + // Jean-Marc pilote désormais l'ordre d'affichage indépendamment de + // l'ordre de création des agents (ex. écran assistants). + $stmt = $pdo->query('SELECT AGN_Incr, AGN_Prenom, AGN_Fonction, AGN_Variantes, AGN_Photo, AGN_Couleur FROM ASP_Agents ORDER BY AGN_OrdreAffichage ASC'); echo json_encode(['agents' => $stmt->fetchAll()]); } catch (PDOException $e) { http_response_code(500); diff --git a/assistant_leon.jpg b/assistant_leon.jpg new file mode 100644 index 0000000..6b32693 Binary files /dev/null and b/assistant_leon.jpg differ diff --git a/assistant_matilda.jpg b/assistant_matilda.jpg new file mode 100644 index 0000000..bc438a2 Binary files /dev/null and b/assistant_matilda.jpg differ diff --git a/assistant_nikita.jpg b/assistant_nikita.jpg new file mode 100644 index 0000000..ffedb92 Binary files /dev/null and b/assistant_nikita.jpg differ diff --git a/assistant_sophia.jpg b/assistant_sophia.jpg new file mode 100644 index 0000000..79aa145 Binary files /dev/null and b/assistant_sophia.jpg differ diff --git a/assistant_viktor.jpg b/assistant_viktor.jpg new file mode 100644 index 0000000..21c7820 Binary files /dev/null and b/assistant_viktor.jpg differ diff --git a/ecran_fond.html b/ecran_fond.html index b5532d9..cc57158 100644 --- a/ecran_fond.html +++ b/ecran_fond.html @@ -455,6 +455,90 @@ } .postit .pastille-urgence-postit.rouge{ background:#c0392b; } .postit .pastille-urgence-postit.orange{ background:#ff5a1f; } + + /* Portraits des assistants, écran 2 (9 septembre 2026 — voir journal). + Même principe d'attachement que #postits-layer pour le fond liège : + #assistants-layer est déplacé (au sens JS) à l'intérieur de la slide du + fond "tasseaux gris" (index 1) à chaque fois qu'elle existe, voir + creerFondSlide()/changerFond() plus bas — invisible tant qu'un autre + fond est affiché, sans dupliquer sa logique de position. position:absolute + (pas fixed) : positionné par rapport à ce conteneur local (lui-même + inset:0 dans la slide, elle-même calée sur le rectangle "contain"), pas + par rapport à la fenêtre — voir positionner(). + Nombre de colonnes non codé en dur (décision de Jean-Marc, 9 septembre + 2026) : une carte par agent réellement renvoyé par agents.php, largeur + de colonne = largeur totale / nombre d'agents — s'adapte donc tout seul + si un agent est ajouté ou retiré, sans repasser par ce fichier. */ + #assistants-layer{ + position:absolute; + inset:0; + } + .assistant-carte{ + position:absolute; + display:flex; + flex-direction:column; + align-items:center; + pointer-events:none; /* purement visuel pour l'instant, comme les post-its */ + } + .assistant-cadre{ + background:#fff; + box-shadow:2px 4px 8px rgba(0,0,0,.35); + box-sizing:border-box; + display:block; + } + .assistant-photo{ + display:block; + width:100%; + height:100%; + object-fit:cover; + } + /* Repli visuel pour un agent sans AGN_Photo renseignée (ex. le temps que + Jean-Marc dépose la photo) : même esprit que le "?" utilisé dans les + essais visuels, jamais un cadre vide sans explication. */ + .assistant-photo-repli{ + display:flex;align-items:center;justify-content:center; + width:100%;height:100%; + background:#e0e0dc; + color:#9a9a95; + font-weight:700; + font-family:"Segoe UI","Arial",sans-serif; + } + .assistant-nom{ + margin-top:6px; + font-weight:700; + color:#2a2a2a; + font-family:"Segoe UI","Arial",sans-serif; + white-space:nowrap; + line-height:1.15; + } + .assistant-fonction{ + color:#3a3a3a; + font-weight:700; /* forcé en gras le 9 septembre 2026 (retour Jean-Marc) : la ligne passait inaperçue sur le fond tasseaux */ + font-family:"Segoe UI","Arial",sans-serif; + white-space:nowrap; + line-height:1.15; + } + /* Panneau "Bureau des assistants" (9 septembre 2026) : même esprit que les + cadres photo (liseré blanc, ombre portée) mais fond gris plutôt que + blanc — posé une seule fois (pas par agent) dans l'espace qui reste + libre sous les 2 dernières colonnes (aujourd'hui Léon et Sophia, voir + positionner()), tant qu'il n'y a rien d'autre à y afficher. */ + .bureau-panneau{ + position:absolute; + box-sizing:border-box; + background:#cfcfc9; + border-style:solid; + border-color:#fff; + box-shadow:2px 4px 8px rgba(0,0,0,.35); + display:flex; + align-items:center; + justify-content:center; + text-align:center; + color:#2a2a2a; + font-weight:700; + font-family:"Segoe UI","Arial",sans-serif; + pointer-events:none; + }
@@ -625,19 +709,24 @@ Créé par Mevelia Solutions"> // milieu géométrique — même principe que le 7 septembre). labelCx = centre // du rectangle blanc de l'étiquette, mesuré indépendamment (les 9 // rectangles ne sont pas exactement centrés dans leur classeur). + // Nouvelle répartition (9 septembre 2026, réflexion stratégique de + // Jean-Marc — regroupement plus cohérent des rubriques, ex. Prospection + // fusionnée dans Contacts, En-cours+Journalier scindés différemment en + // Missions/Propositions/Livraisons/Journalier). Reprend exactement les 9 + // positions physiques déjà mesurées sur l'avant-plan (x1/x2/labelCx + // inchangés, dans l'ordre des classeurs sur la photo) : seuls les + // libellés/ids/href changent, aucune nouvelle mesure de pixels nécessaire + // tant que l'avant-plan lui-même ne change pas. const CLASSEURS = [ - {id:'consignes', label:'Consignes', x1:44, x2:83, labelCx:63.5, href:null}, - {id:'contacts', label:'Contacts', x1:83, x2:120, labelCx:101.0, href:'liste_contacts.html'}, - {id:'catalogue', label:'Catalogue', x1:120, x2:158, labelCx:138.5, href:null}, - // "Documentations" (id interne conservé pour l'historique) reste affiché - // "Documents", police forcée sur le plafond commun — voir raisonnement - // inchangé du 7 septembre 2026 (toujours valable, indépendant de l'image). - {id:'documentations', label:'Documents', x1:158, x2:197, labelCx:177.0, href:null}, - {id:'prospection', label:'Prospection', x1:197, x2:239, labelCx:216.0, href:null}, - {id:'communication', label:'Réseaux', x1:239, x2:280, labelCx:259.0, href:null}, - {id:'en-cours', label:'En cours', x1:280, x2:321, labelCx:300.5, href:null}, - {id:'factures', label:'Factures', x1:321, x2:363, labelCx:341.5, href:null}, - {id:'journalier', label:'Journalier', x1:363, x2:415, labelCx:383.5, href:null}, + {id:'catalogue', label:'Catalogue', x1:44, x2:83, labelCx:63.5, href:null}, + {id:'documents', label:'Documents', x1:83, x2:120, labelCx:101.0, href:null}, + {id:'contacts', label:'Contacts', x1:120, x2:158, labelCx:138.5, href:'liste_contacts.html'}, + {id:'missions', label:'Missions', x1:158, x2:197, labelCx:177.0, href:null}, + {id:'propositions', label:'Propositions', x1:197, x2:239, labelCx:216.0, href:null}, + {id:'livraisons', label:'Livraisons', x1:239, x2:280, labelCx:259.0, href:null}, + {id:'factures', label:'Factures', x1:280, x2:321, labelCx:300.5, href:null}, + {id:'journalier', label:'Journalier', x1:321, x2:363, labelCx:341.5, href:null}, + {id:'gestion', label:'Gestion', x1:363, x2:415, labelCx:383.5, href:null}, ]; // Zone cliquable/survolable du micro et centre de l'icône : remesurés le @@ -666,7 +755,11 @@ Créé par Mevelia Solutions"> // Y remesuré le 8 septembre 2026 (soir), même recadrage. // Redescendue un peu le 8 septembre 2026 (soir), retour de Jean-Marc // après 6ᵉ test réel (trop remontée la fois précédente) : 401 → 404. - const PASTILLE_CONTACTS_CENTRE_X = 101, PASTILLE_CONTACTS_CENTRE_Y = 404; + // X déplacé le 9 septembre 2026 : "Contacts" passe du 2ᵉ au 3ᵉ classeur + // dans la nouvelle répartition (voir tableau CLASSEURS) — X reprend le + // labelCx du nouvel emplacement (138.5) pour que la pastille reste sous + // le bon classeur ; Y inchangé (même hauteur de trou sur les 9 classeurs). + const PASTILLE_CONTACTS_CENTRE_X = 138.5, PASTILLE_CONTACTS_CENTRE_Y = 404; const PASTILLE_CONTACTS_DIAM_FRAC = 17 / IMG_W; // Zone des post-its personnels (2 septembre 2026, premier affichage réel @@ -709,6 +802,38 @@ Créé par Mevelia Solutions"> const FLECHE_PRECEDENTE_CENTRE_X = 962, FLECHE_CENTRE_Y = 410; const FLECHE_SUIVANTE_CENTRE_X = 998; + // -------- Portraits des assistants, écran 2 (9 septembre 2026) -------- + // Réglages issus des essais visuels validés par Jean-Marc (voir journal) : + // marge réduite au-dessus de la tête, visage recentré, cadrage descendant + // sur le buste, taille réduite de 15% par rapport au tout premier essai. + // ASSISTANT_PHOTO_RATIO doit rester cohérent avec le recadrage utilisé pour + // produire les fichiers assistant_`) : **V1.17.18**.
-**Prochain chantier annoncé par Jean-Marc pour la session suivante : écran 2 ("assistants") — gérer les attributions de Matilda.** À rapprocher des points déjà notés plus bas dans "Reste à faire" (discriminant humain/agent sur `ASP_ToDoList`, répartition dynamique des 70% par charge de tâches, `AGN_Couleur`) — rien de plus précisé à ce stade sur le périmètre exact.
+**9-10 septembre 2026 : écran 2 ("assistants") — portraits des assistants, nouvelle texture de fond, et réorganisation des 9 classeurs (V1.18.19).** Détail technique complet en section 28 du journal ; fil stratégique de la réorganisation des classeurs en Réflexions stratégiques, section 19. Résumé : nouvelle texture de fond pour l'écran 2 (tasseaux de bois, filigrane retiré) ; conception puis intégration réelle de la présentation des assistants sur cet écran — portraits recadrés en photo d'identité, couleurs pastel par assistant (`AGN_Couleur`), rôle affiché en gras sous le nom (`AGN_Fonction`), colonnes calculées dynamiquement depuis le nombre réel d'agents de `ASP_Agents` (jamais un nombre codé en dur), panneau "Bureau des assistants" dimensionné à son texte dans l'espace restant. Nouvelles colonnes `AGN_Photo` (nom de fichier de la photo, éditée à la main comme `AGN_Variantes`) et `AGN_OrdreAffichage` (tri de l'écran, indépendant de `AGN_Incr`) ajoutées par Jean-Marc à `ASP_Agents`. En parallèle, Jean-Marc a revu la classification des 9 classeurs du bureau pour suivre le cycle de vie réel d'une affaire (Catalogue, Documents, Contacts, Missions, Propositions, Livraisons, Factures, Journalier, Gestion) — mêmes 9 positions physiques, seuls les libellés changent ; un point de vigilance (la pastille de comptage des contacts, positionnée indépendamment du tableau des classeurs) a été identifié et corrigé avant livraison pour continuer à suivre "Contacts" à sa nouvelle position. `` avancé dès le début de session à la demande de Jean-Marc (V1.17.18 → V1.18.18) ; `` avancé en fin de session (18 → 19), la réorganisation des classeurs étant jugée par Jean-Marc suffisamment structurante pour justifier une nouvelle section des Réflexions stratégiques. Version : **V1.18.19**.
+
+**Prochain chantier annoncé par Jean-Marc : gérer les attributions de tâches des assistants.** L'écran 2 ("assistants") est désormais présenté (portraits, couleurs, rôles) mais ne porte encore aucune action réelle — à rapprocher des points déjà notés plus bas dans "Reste à faire" (discriminant humain/agent sur `ASP_ToDoList`, répartition dynamique des 70% par charge de tâches, exploitation réelle d'`AGN_Couleur`) — rien de plus précisé à ce stade sur le périmètre exact.
**Reste à faire, noté au passage :**
- Décider s'il faut renforcer le prompt d'extraction pour neutraliser les mots parasites/formules de politesse dictés autour d'une adresse mail (bug identifié le 4 septembre sur le corpus réel, correction non encore actée par Jean-Marc).
@@ -135,13 +137,12 @@ Version incrémentée une seule fois pour l'ensemble de cette session (uniquemen
- Le problème des lettres avalées sur les mots inventés/sigles (ex. "mvl-tls.fr") reste entier, sans solution de contournement identifiée à ce stade — à garder en tête, pas à considérer comme résolu par le mode adresse.
- Reconnecter `micro.js` (vrai pilotage) sur le micro de l'écran de fond une fois la phase de mise au point terminée — une ligne à changer dans `ecran_fond.html`.
- Étendre `MARQUEUR_FIN_LIGNE` dans `micro.js` pour accepter "puis" en plus de "ensuite" (retour d'usage de Jean-Marc, 3 septembre) — sans urgence.
-- Continuer à observer les agents actifs (Viktor, Matilda, Léon, Nikita) en usage réel ; ajuster `AGN_Variantes` en base si de nouvelles confusions apparaissent.
-- Documentation utilisateur : le panneau de détail du contact, la ToDoList et le pilotage vocal restent à documenter (mise à jour du 3 septembre limitée à l'écran d'accueil et à la liste des contacts) — l'outil de banque de dictées et le chantier des consignes n'ont volontairement pas vocation à y figurer pour l'instant, ce sont des chantiers internes, pas des modules utilisateur finalisés.
-- **Écran de fond, écran 2 ("assistants") : prochain chantier annoncé par Jean-Marc — gérer les attributions de Matilda** (voir plus haut). Contenu réel de l'écran 3 (tableau de bord) toujours entièrement à concevoir ; décider si les autres objets de l'avant-plan (carnet, téléphone) doivent devenir cliquables ; trancher un jour le sort de la piste "maquette liège + post-its par agent" (Claude Design, mise de côté pour cet essai, pas explicitement abandonnée).
-- Section 28 du journal détaillé : combler, si l'occasion se présente, un trou de documentation relevé le 8 septembre — le passage d'un classeur unique ("Contacts") à neuf classeurs (Consignes, Contacts, Catalogue, Documents, Prospection, Réseaux, En-cours, Factures, Journalier) a eu lieu dans une session intermédiaire (aux alentours du 7 septembre) jamais consignée dans le fichier de section correspondant.
+- Continuer à observer les agents actifs (Viktor, Matilda, Léon, Nikita, Sophia) en usage réel ; ajuster `AGN_Variantes` en base si de nouvelles confusions apparaissent.
+- Documentation utilisateur : le panneau de détail du contact, la ToDoList, le pilotage vocal et l'écran des assistants restent à documenter (mise à jour du 3 septembre limitée à l'écran d'accueil et à la liste des contacts ; l'écran assistants volontairement laissé de côté pour l'instant, tant qu'il ne porte aucune action réelle, voir 9-10 septembre) — l'outil de banque de dictées et le chantier des consignes n'ont volontairement pas vocation à y figurer pour l'instant, ce sont des chantiers internes, pas des modules utilisateur finalisés.
+- **Gérer réellement les attributions de tâches des assistants (Matilda et les autres)** — chantier annoncé par Jean-Marc le 8 septembre, toujours pas commencé (voir plus haut). Contenu réel de l'écran 3 (tableau de bord) toujours entièrement à concevoir ; décider si les autres objets de l'avant-plan (carnet, téléphone) doivent devenir cliquables ; trancher un jour le sort de la piste "maquette liège + post-its par agent" (Claude Design, mise de côté pour cet essai, pas explicitement abandonnée).
- Concevoir les deux signes graphiques distincts pour les post-its "à corriger"/"à valider" (réflexions stratégiques, section 12) — le premier acté (point d'interrogation), le second encore à choisir.
-- Tableau de liège : coder la répartition dynamique des 70% entre assistants par charge de tâches (formule actée, voir Statut actuel) — bloqué tant que la ToDoList des assistants n'existe pas réellement. **À rapprocher du prochain chantier (écran 2, attributions de Matilda).**
-- Étendre `ASP_ToDoList`/`todolist.php` pour qu'un assistant puisse être attributaire d'une tâche (discriminant humain/agent à définir) — préalable à la répartition dynamique et aux couleurs de post-it par assistant (`AGN_Couleur`, à ajouter). **À rapprocher du prochain chantier (écran 2, attributions de Matilda).**
+- Tableau de liège : coder la répartition dynamique des 70% entre assistants par charge de tâches (formule actée, voir Statut actuel) — bloqué tant que la ToDoList des assistants n'existe pas réellement. **À rapprocher du chantier des attributions des assistants.**
+- Étendre `ASP_ToDoList`/`todolist.php` pour qu'un assistant puisse être attributaire d'une tâche (discriminant humain/agent à définir) — préalable à la répartition dynamique et à l'exploitation réelle des couleurs de post-it par assistant (`AGN_Couleur`, déjà ajoutée à `ASP_Agents` mais encore inutilisée par aucun écran). **À rapprocher du chantier des attributions des assistants.**
- Écran "journalier" (trace des réalisations, humain + assistants) — donnée déjà quasi disponible (`TDL_RealDate`/`TDL_RealUser`/`TDL_RealText`), écran de consultation à construire.
- Revoir les règles de calcul des pastilles rouge/orange/vert (`calculerGroupe()`) pour éviter un tableau trop chargé en rouge/orange maintenant que le vert quitte le tableau immédiatement.
- Décider du comportement du clic sur un post-it (aujourd'hui inerte) : ouvrir `liste_todolist.html` sur la tâche précise, ou afficher un détail directement sur l'écran de fond.
@@ -154,3 +155,4 @@ Version incrémentée une seule fois pour l'ensemble de cette session (uniquemen
- Distinction Saisie/Validation réellement exploitée un jour dans le moteur de consignes (temps réel), si le besoin redevient assez fort pour justifier la complexité écartée le 6 septembre.
- Ouvrir le chantier du dialogue simulé avec Claude intégré à ASPIC (bulles de dialogue façon SMS, mission dédiée, clé API Anthropic) — faisabilité confirmée le 8 septembre 2026 (réflexions stratégiques, section 18), rien conçu ni codé à ce stade.
- **Ménage dans la structure de `ASP_Consignes`** (8 septembre 2026) : Jean-Marc a repéré des champs qui lui semblent redondants (`CNS_TexteDefinition`/`CNS_TexteAffiche` en particulier) — à examiner ensemble avant de toucher au schéma, pour ne pas supprimer un champ qui sert ailleurs sans qu'on l'ait vérifié.
+- Contenu réel des classeurs Missions, Propositions, Livraisons et Gestion (nouvelle classification du 9-10 septembre, voir réflexions stratégiques section 19) — aucun écran ni donnée derrière à ce stade, seule la classification cible est fixée.
diff --git a/journal/ASPIC - Reflexions strategiques.md b/journal/ASPIC - Reflexions strategiques.md
index 1bcc286..d6d2d64 100644
--- a/journal/ASPIC - Reflexions strategiques.md
+++ b/journal/ASPIC - Reflexions strategiques.md
@@ -323,3 +323,21 @@ Version : `` avait déjà avancé plus tôt dans cette même session de tr
- Conception de l'écran de dialogue (mission dédiée, bulles, choix du modèle Anthropic) — faisabilité confirmée, rien conçu ni codé à ce stade.
Session sans aucune ligne de code applicative touchée — seule la partie `` du numéro de version avance, de 17 à 18, premier cas réel d'une session purement dédiée à la réflexion depuis l'instauration du format à trois niveaux (6 septembre 2026, section 15) : **V1.15.18**.
+
+## 19. Refonte de la classification en 9 classeurs — aligner les catégories du bureau sur le cycle de vie réel d'une affaire (9-10 septembre 2026)
+
+**Origine.** En marge du chantier de l'écran 2 ("assistants", voir journal de développement section 28), Jean-Marc a repris de son côté la liste des 9 classeurs physiquement posés sur le bureau — mise en place lors d'une session intermédiaire aux alentours du 7 septembre 2026, jamais formellement consignée ni comme décision stratégique ni dans le détail technique du journal (trou de documentation déjà relevé le 8 septembre, voir section 28 du journal). Cette première liste (Consignes, Contacts, Catalogue, Documents, Prospection, Réseaux, En-cours, Factures, Journalier) juxtaposait des catégories de nature hétérogène — des objets métier (Contacts, Factures), une étape de processus (Prospection, En-cours), un mécanisme interne (Consignes) et un attribut d'assistant qui n'a rien à faire dans une classification de documents (Réseaux, qui est en réalité `AGN_Fonction` de l'assistant Nikita) — sans qu'un principe de classement unique les relie.
+
+**La nouvelle répartition, pensée comme le cycle de vie d'une affaire plutôt que comme un inventaire d'objets.** Jean-Marc a proposé une liste resserrée à neuf classeurs toujours, mais cette fois organisée dans l'ordre où une affaire se déroule réellement chez lui : **Catalogue** (la liste des prestations réalisables), **Documents**, **Contacts** (cumulant prospects et clients — un contact n'a plus besoin de changer de classeur en devenant client), **Missions** (en cours et réalisées), **Propositions**, **Livraisons**, **Factures**, **Journalier**, **Gestion**. Chaque classeur y a maintenant sa place dans une même logique de progression (de ce qu'on propose à ce qu'on facture), plutôt que de mélanger des objets et des étapes sans hiérarchie commune.
+
+**Deux choix de fond, au-delà du simple renommage :**
+- **Contacts cumule prospects et clients.** Un même classeur pour tout le cycle de la relation — cohérent avec la donnée déjà en place côté base (aucune distinction structurelle entre prospect et client dans `ASP_Contacts`, seul le contenu réel des échanges le dit) : la classification suit ici la réalité déjà actée du modèle de données, plutôt que de recréer une frontière artificielle.
+- **Consignes disparaît de la vue "classeurs".** Cohérent avec la nature même de ce mécanisme (sections 14, 15, 17) : une consigne est un réglage du fonctionnement des assistants, pas un document ou une affaire à classer — elle n'avait sa place dans les classeurs du bureau que par un raccourci de mise en œuvre initiale, pas par nature. Elle continuera d'exister comme mécanisme (table `ASP_Consignes`, futur écran de gestion évoqué en section 15), simplement plus comme un classeur visible du bureau à l'ancienne.
+
+**Une contrainte assumée, pas subie : rester dans la limite de 9 classeurs.** Jean-Marc s'est explicitement imposé de retrouver une classification cohérente sans dépasser le nombre de classeurs déjà physiquement dessinés sur l'avant-plan du bureau (section 28 du journal, image fixe fournie le 8 septembre) — la contrainte visuelle existante a été un guide pour la réflexion business, pas un obstacle à contourner en redessinant l'image.
+
+**Répercussion technique, anticipée par construction plutôt que découverte après coup :** la conservation des 9 positions physiques exactes (mêmes coordonnées x1/x2/étiquette sur l'image de référence, seuls les libellés et identifiants changent) a permis un renommage sans aucune retouche de l'avant-plan. Un seul point de vigilance identifié et corrigé avant livraison, propre à ce changement précis : la pastille de comptage des contacts (`PASTILLE_CONTACTS_CENTRE_X`) était positionnée par une coordonnée **indépendante** du tableau des classeurs, calée sur l'ancienne 2ᵉ position — un renommage naïf des seuls libellés l'aurait laissée sous "Documents" au lieu de suivre "Contacts" à sa nouvelle 3ᵉ position. Voir journal de développement, section 28, pour le détail technique de cette correction.
+
+**Statut.** Décision actée et codée le soir même (voir journal, section 28, pour le détail des 9 classeurs et de leur position). Rien de plus engagé sur le contenu réel de chacun de ces classeurs (Missions, Propositions, Livraisons et Gestion n'ont, à ce stade, aucun écran ni donnée derrière eux — seul Contacts reste fonctionnel) : cette section fixe la classification cible, pas son implémentation fonctionnelle classeur par classeur, qui reste à construire un par un.
+
+Cette clarification du classement documentaire est jugée par Jean-Marc suffisamment structurante pour faire avancer la partie `` du numéro de version — `` avait déjà avancé en tout début de cette même session (V1.17.18 → V1.18.18) pour le code produit ce soir sur l'écran des assistants ; cette section fait avancer `` de 18 à 19 : nouvelle version **V1.18.19**.
diff --git a/journal/ASPIC-Journal. 28. Ecran de fond.md b/journal/ASPIC-Journal. 28. Ecran de fond.md
index 6172fb5..01645e0 100644
--- a/journal/ASPIC-Journal. 28. Ecran de fond.md
+++ b/journal/ASPIC-Journal. 28. Ecran de fond.md
@@ -253,3 +253,52 @@ Carrousel fonctionnel et validé par Jean-Marc sur son propre écran, après les
- Contenu réel de l'écran 3 (tableaux de bord) — seul le fond (tableau blanc) existe à ce stade.
- Combler, si l'occasion se présente, le trou de documentation relevé en tête de cette section (passage à neuf classeurs, session non consignée ici, aux alentours du 7 septembre).
- Revalider l'ensemble des repères de l'avant-plan (classeurs, micro, pastille, flèches) si Jean-Marc devait encore retoucher cette image à l'avenir — toute nouvelle version demande, comme cette fois, une vérification de décalage avant de corriger au jugé.
+
+
+## 9-10 septembre 2026 : écran 2 "assistants" — portraits, couleurs, rôles, panneau "Bureau des assistants" ; nouvelle texture de fond ; réorganisation des 9 classeurs (V1.18.19)
+
+*Réflexion stratégique associée à la réorganisation des classeurs : Réflexions stratégiques, section 19.*
+
+### Nouvelle texture de fond pour l'écran 2
+
+Jean-Marc a fourni une nouvelle image de tasseaux de bois pour `fond_bureau_2.jpg` (générée par un outil externe, filigrane "Pippit AI" à retirer). Filigrane retiré par échantillonnage d'une couleur de fond propre (pixel de contrôle à l'écart de tout motif) et peinture d'un rectangle de cette couleur sur l'emprise exacte du logo, avant recadrage à la spécification 1024×457 (recadrage `(127,90,1216,576)` sur la source 1344×576). Jean-Marc a préféré cette texture à un essai précédent aux tasseaux plus épais, jugés trop proches d'un aspect "planche de décoffrage" que d'une vraie décoration de bureau.
+
+### Conception des portraits d'assistants — de la maquette au rendu final
+
+Jean-Marc a fait générer par un outil externe (Pippit) les portraits de plusieurs assistants, avec la même problématique de filigrane à retirer que pour le fond. Plusieurs itérations de maquette avant intégration réelle dans le code, chacune corrigée à partir d'un retour direct de Jean-Marc sur l'image envoyée :
+
+- **Répartition en colonnes.** Proposition initiale à 4 colonnes de largeur uniforme (une par assistant existant), écartée par Jean-Marc au profit de 5 colonnes dès le premier essai réel — la 5ᵉ laissée vide, faute d'un nom pour un futur cinquième assistant (Jean-Marc a écarté "Lilou", pourtant "un parfait 5ème élément", à cause de la confusion déjà vécue avec "Gilou" lors du pilotage vocal, voir journal section 27).
+- **Cadrage de la photo.** Un premier essai en médaillon rond a été retenu, recentré (visage au milieu du médaillon, même hauteur au-dessus de la tête), puis abandonné au profit d'un cadrage rectangulaire façon "photo d'identité" une fois les photos de Sophia et Léon reçues au même format. Un entourage de couleur par assistant a été testé puis retiré à la demande de Jean-Marc ("l'entouré de couleur c'est pas terrible en fait"), pour ne garder qu'un simple mat blanc, dans le même esprit que les cadres déjà utilisés sur ce bureau. Le cadrage a ensuite été affiné à deux reprises : d'abord pour montrer toute la hauteur de la photo (buste), puis, à l'inverse, pour réduire légèrement l'espace au-dessus de la tête et réduire la taille globale de la photo de 15%.
+- **Couleurs pastel par assistant.** Codes calculés en HSL (saturation 75%, luminosité 80%) pour rester visuellement homogènes avec le jaune post-it déjà en place (`--postit-jaune`), avec une teinte par agent : bleu ciel (`#A6D9F2`, Matilda), vert clair (`#A6F2B3`, Léon), violet clair (`#C6A6F2`, Viktor), rose (`#F2A6C6`, Nikita), orange clair (`#F2CCA6`, Sophia, ajoutée au dernier moment). Couleurs stockées dans la nouvelle colonne `AGN_Couleur` (voir plus bas), pas encore exploitées par cet écran (prévues à terme pour les post-its du tableau de liège, voir journal section 28 précédent, et pour les bulles de dialogue de la future Mission, voir réflexions stratégiques section 18) — seulement portées ici en anticipation.
+- **Rôle affiché sous le nom.** Une ligne de texte en gras sous le prénom de chaque assistant, dans une teinte grise sobre (`#3a3a3a`) : Matilda "Administratif", Viktor "Commercial", Nikita "Réseaux", Léon "Gestion", Sophia "Communication" — texte porté par la nouvelle colonne `AGN_Fonction`, taille de police du prénom augmentée par rapport à celle du rôle pour bien distinguer les deux lignes.
+- **Panneau "Bureau des assistants".** Une fois les 5 photos (4 assistants + 1 case vide) posées sur 5 colonnes, il restait un espace libre sous les deux dernières colonnes (Léon, Sophia). Jean-Marc a demandé d'y afficher, dans un encadré du même style que les photos (fond gris, bordure blanche), le texte "Bureau des assistants" — un premier essai occupant toute la zone disponible a été corrigé à la demande de Jean-Marc ("l'encadré doit être autour du texte et ne pas occuper toute la zone") : l'encadré final est dimensionné au plus près du texte (mesure réelle via un `