Black Cat — rétroplanning

échéance 22/11 · Résiliation Odoo v2010-0600

État au 20/10, heure de Paris — S9

33jours avant l'échéance
4/13gates franchis
-22 jde retard sur le prochain gate
4gates en retard

Frise — chantiers en parallèle et avènement de chacun

La barre pleine est la construction, avec son avancement réel en teinte foncée. La barre hachurée qui la suit est la mise au point : sur un chantier d'interface, régler ce qui a été construit prend autant de temps que le construire, et ce temps n'était compté nulle part. Un bord droit épais et une flèche signifient que cette mise au point déborde l'échéance du 22/11.

chantierdurée · livraison
S131/08
S207/09
S314/09
S421/09
S528/09
S605/10
S712/10
S819/10
S926/10
S1002/11
S1109/11
S1216/11
S1322/11
C096 % Socle dépôt, CI, conventions 27/28 lots · lane socle
1 sem
C196 % Contrats + base de données 27/28 lots · lane socle
2 sem + gardien contrats v1 GELÉS
C296 % API socle : OTP, sessions, rôles, tenancy 27/28 lots · lane socle
3 sem SSO démontré
C3 Infra : staging, prod, sauvegardes
2 sem + continu restauration chronométrée
C4100 % Extraction Odoo (ETL) 18/18 lots · lane etl
3 sem étalées delta final < 30 min
C5100 % Kit d'interface partagé 38/38 lots · lane front
2 sem composants réutilisés partout
mise au point
C6100 % Dashboard SAV + commercial 38/38 lots · lane front
7 sem pipeline et devis en service
mise au point ↦
C7100 % Blocs + 4 sites publics (SSR) 36/36 lots · lane sites
5 sem sites iso-Odoo, 301 exhaustives
mise au point
C8 Éditeur de pages
4 sem page publiée par l'éditeur
mise au point
C9 Connecteur Shopify (devis, paiement)
3 sem devis payé en bac à sable
C10100 % Connecteur WMS (historique commandes) 12/12 lots · lane wms
1,5 sem
C11a100 % Worker de fond (jobs, SMTP, PDF, crons) 22/22 lots · lane worker
1,5 sem
C11b94 % E-learning : cours, vidéo, quiz 122/130 lots · lane learn
6 sem parcours complet + débit vidéo Chine
mise au point
C12 Porte des agents IA (agents déportés)
2 sem un agent extérieur lit et rédige, avec ses portées
C13 Portail client + RGPD
3,5 sem demande RGPD traitée de bout en bout
mise au point
C14 Bascule : runbook, répétition, étages
S10-S13 GO résiliation
C15 · Visio SAV 2 sem — hors calendrier, à arbitrer
C16100 % Connecteur plateforme imprimantes 16/16 lots · lane app
2 sem imprimantes du client dans son dossier
G0
staging
G1
prod
G2
G3
G4
G5
G6
G7
étage 1
G8
G9

Charge — combien de chantiers tournent en même temps

Chaque barre est le nombre de chantiers programmés cette semaine-là. La ligne marque la capacité retenue au plan : 7 chantiers menés de front. Au-dessus de la ligne, le calendrier prévoit plus de travail simultané qu'on ne peut en conduire — aucune semaine n'est dans ce cas.

chantiers
menés de front
5
S1
6
S2
6
S3
6
S4
6
S5
6
S6
7
S7
7
S8
4
S9
2
S10
1
S11
1
S12
1
S13 capacité 7

Gates

G0S1 · 31/08

Socle vérifiable

CI verte, extraction Odoo démarrée et vérifiée, plan disque 135 Go acté

franchi le 31/08
jalon stagingS2 · 07/09

Staging en ligne

Un environnement de recette accessible, servi par notre serveur

franchi le 21/08
G1S3 · 14/09

SSO démontré

Connexion par code email de bout en bout, contrats v1 GELÉS. + le contrat des marchés, réglages de site et fonds documentaire est servi et ses contraintes tiennent en base (ADR 0013-0015).

franchi le 03/09
jalon prodS4 · 21/09

Prod (vide) déployée

L'environnement de production existe et répond, sans données

franchi le 21/08
G2S5 · 28/09

Ticket bout-en-bout

Mail entrant → réponse → fermeture auto → réouverture reliée au fil. + l'aiguillage vers le revendeur est affiché avec son motif et corrigible à la main (ADR 0012). Le comportement du clavier au téléphone est MESURÉ sur un appareil réel — dette ouverte, levée sans preuve le 22/08.

en retard de 22 j
G3S6 · 05/10

Sites iso-Odoo

Les 4 sites en recette au contenu identique, redirections 301 exhaustives. + un seul site indexe un document par marché (test : trois sites français, échec si plus d'un l'indexe) ; un site en préparation est absent du sitemap ; hreflang langue-région réciproque ; changer de thème ne modifie ni URL, ni hiérarchie de titres, ni JSON-LD (ADR 0013-0015, 0017).

en retard de 15 j
G4S7 · 12/10

Devis payé

Un devis passé en commande Shopify payée, en bac à sable. + le bouton Store renvoie vers la boutique du marché, URL en réglage de site et non en dur (ADR 0017).

en retard de 8 j
G5S8 · 19/10

Parcours e-learning

Parcours complet + test de débit vidéo mesuré depuis la Chine. + l'e-learning consomme le fonds documentaire commun, il n'en crée pas un second (ADR 0013).

en retard de 1 j
G6S9 · 26/10

Édition et portail

Page publiée via l'éditeur, portail client validé, demande RGPD traitée. + le portail crée le ticket par SÉLECTION D'UN PRODUIT SUR UNE COMMANDE : c'est la source de l'aiguillage, pas un confort d'interface (ADR 0012).

dans 6 j
G7S10 · 02/11

Répétition de bascule

Répétition réussie, delta < 30 min, retour arrière testé. GEL des fonctionnalités. + le contrat figé de l'application mobile est vérifié : depuis un téléphone DÉJÀ connecté, users/me, printers et un jeton de flux répondent sans reconnexion (docs/integrations/app-mobile-contrat-fige.md).

dans 13 j
jalon étage 1S10 · 02/11

Bascule étage 1

DNS des 4 sites de formation + e-learning servis par Black Cat, Odoo intact en secours

Même semaine que G7 : la répétition et la première bascule se marchent dessus. À arbitrer.

dans 13 j
G8S11 · 09/11

Flux hors Odoo

Bascule étage 2 : SAV (12 alias) + CRM. 100 % des flux hors Odoo, Odoo en lecture seule

dans 20 j
G9S13 · 20/11

GO résiliation

Archive finale Odoo en 2 copies hors ligne + visualiseur lisible. Aucune régression ouverte.

Après la bascule — planifié, volontairement hors du délai

Planifié SANS date : ce qui est volontairement hors du délai du 22/11. On l'écrit pour qu'il ne soit pas réinventé, et pour que la variable d'ajustement reste visible. Ordre = ordre d'allumage recommandé après la bascule. Les agents IA y sont des RACCORDEMENTS, pas des développements : ils sont déportés et se connectent par la porte de l'ADR 0020.

P17,5 sem

Allumage des agents IA — déportés, branchés sur la porte

Les agents NE TOURNENT PAS sur ce système (ADR 0020) : ils s'y connectent par clé d'API et jeton bearer, avec des portées. Ce qui s'allume ici, ce sont des raccordements, pas des développements : classification d'urgence, puis pré-rédaction niveau 2, puis assistance client niveau 1, puis commercial. Dans cet ordre — chacun se juge sur des dossiers réels, donc après la mise en production. L'appel sortant vers les modèles passe par la passerelle api-ai.yumi-lab.com déjà en place.

prérequis : dashboard en service
P24 sem

Éditeur de pages en place, complet

Au-delà de l'édition par formulaires livrée à la bascule.

prérequis : sites en service
P33 sem

Forum communautaire et canal d'annonces — outil marketing

Pas seulement de l'entraide : il porte les ANNONCES communautaires, les promotions, les nouveautés produit et les mises à jour. C'est un outil marketing autant qu'un support. Conséquence de modèle, prise dès maintenant : une annonce est un DOCUMENT du fonds commun (type=annonce), pas une table du forum — sinon deux systèmes de contenu, deux traductions, deux règles d'indexation. Le forum discute l'annonce, il ne la stocke pas. Construit dans le monorepo pour réutiliser connexion, sessions, multi-marchés, recherche, médias, notifications, modération et i18n. Traduction à la demande par message, rendu NON INDEXÉ ; les annonces, elles, sont indexables comme tout document.

prérequis : authentification unique en service, et quelqu'un pour animer
P42 sem

Visio SAV (C15)

Appel vidéo depuis un ticket, 100 % auto-hébergé (WebRTC + TURN, repli TCP 443 pour la Chine). Hors parité Odoo.

prérequis : dashboard et portail en gate vert
P5à chiffrer

Vidéos auto-hébergées et HLS

YouTube reste en place à la bascule ; le réhébergement des 122 Go suit.

prérequis : débit vidéo Chine mesuré (G5)
P61,5 sem

Widget Shopify embarquable

Un lien vers le portail suffit à la bascule.

prérequis : portail en service
P7à chiffrer

RAG et MCP complets

pgvector et les colonnes d'embeddings sont posés dès le schéma v1 — quasi gratuit maintenant, pénible plus tard. Le reste suit.

prérequis : corpus documentaire en service
P81 sem

Certificats en libre-service pour les revendeurs

Un revendeur branche son domaine et obtient son certificat sans nous. Repose sur le joker DNS et le job certbot déjà décidés.

prérequis : réseau de distributeurs actif
P9à chiffrer

Fusion de comptes assistée, KPI avancés, propagation RGPD inter-systèmes

En v1, la demande RGPD liste les systèmes tiers et un humain confirme leur traitement ; l'automatisation suit.

prérequis : —
P10à chiffrer

Refonte visuelle des sites publics

La bascule se fait ISO-CONTENU (critère du gate G3). Redessiner en même temps que migrer rend toute baisse de trafic indiagnosticable : on ne saurait pas si c'est la migration ou la refonte. La refonte vient APRÈS, quand chaque changement se mesure seul.

prérequis : bascule terminée et trafic stabilisé
P11à chiffrer

Jeu de données d'entraînement pour la détection d'échec

Le modèle de détection d'échec est possédé (code + poids) mais FIGÉ : les photographies d'entraînement n'existent plus, donc il ne peut être ni amélioré ni adapté à une nouvelle machine. Le SAV reçoit précisément les dossiers où une impression a raté : un ticket rapproché de son accéléré est une donnée ÉTIQUETÉE. Constituer ce corpus au fil des dossiers, avec consentement, transforme une dépendance figée en actif qui s'améliore. Prérequis technique : le rapprochement ticket ↔ imprimante ↔ impression, qui se décide dans le connecteur.

prérequis : connecteur imprimantes en service, et consentement client cadré
P122 sem

Agent IA d'animation de communauté (forum)

L'agent est DÉPORTÉ : il ne tourne pas sur ce système, il s'y connecte par clé d'API et jeton bearer avec ses portées (ADR 0020). Pour interroger un modèle, il passe par la passerelle api-ai.yumi-lab.com, déjà en place sur le même serveur — latence quasi nulle. Nous ne construisons ni l'agent, ni un second appelant de modèles : nous construisons la porte et les points d'accroche. Quatre rôles, du plus sûr au plus risqué. 1) TRI ET ANTI-SPAM : il signale, un humain confirme toute action destructive — c'est l'usage le plus rentable et le moins risqué. 2) ORIENTATION : il rattache une question au document existant qui y répond, sans rédiger. 3) DÉTECTION DES QUESTIONS RÉCURRENTES : la même question posée cinq fois devient une proposition de tutoriel dans le fonds documentaire — c'est la boucle qui a le plus de valeur, elle transforme le bruit du forum en documentation. 4) RÉPONSE PUBLIQUE : l'agent RÉDIGE, un humain PUBLIE. Cette dernière règle n'est pas négociable : une réponse de forum est publique, indexée et permanente, et elle porte sur des machines qui chauffent. Une erreur privée se corrige par un second message ; une erreur publique reste dans Google. Comme tout agent du projet (ADR 0009), il est CONTOURNABLE : le forum fonctionne entièrement sans lui, et on peut l'éteindre sans rien casser. Un fil qui révèle un vrai défaut doit pouvoir devenir un TICKET rattaché au produit — c'est le lien qui rend le forum utile au SAV plutôt que parallèle.

prérequis : forum en service, et le fonds documentaire pour lui donner de quoi répondre
P133 sem

Mémoire temporelle et serveur MCP des agents

Graphe de connaissances TEMPOREL (famille Graphiti/Zep) : chaque fait porte son intervalle de validité, ce qui permet de demander « qu'est-ce qui était vrai le 3 mars » et « qu'est-ce qui a changé depuis » — une base vectorielle ordinaire ne répond qu'à « qu'est-ce qui ressemble à ça, maintenant ». Deux pièces : un CONNECTEUR (couche interchangeable, le graphe est un service externe, on ne se rend pas otage d'un produit qui a deux ans) et un SERVEUR MCP, porte unique des agents sur le système — lecture par défaut, toute écriture est un outil nommé et traçable, et le périmètre d'un agent ne dépasse JAMAIS celui de la personne qu'il assiste, sinon la porte des agents contourne toute l'étanchéité entre marques. ⚠️ Le JOURNAL D'ÉVÉNEMENTS qui l'alimente, lui, se demande MAINTENANT (ADR 0019) : un graphe temporel ne peut pas inventer le passé.

Avancement relevé le 31/08 sur les lots réellement cochés. Le pourcentage est celui de la lane qui porte le chantier : plusieurs chantiers peuvent partager une lane et afficher le même chiffre. État arrêté au 20/10 à l'heure de Paris — la page est regénérée chaque matin à 6 h. L'équipe étant des deux côtés du globe, la date affichée est toujours celle de Paris. Source unique : docs/planning/gates.json du dépôt ; un gate se marque franchi là, jamais ici.