← Projets

HL Consulting · Passation produit · 24 septembre 2026

HL·OS


Un système d’exploitation interne connecté, piloté par l’IA. Il rassemble le mail, l’éditorial Haute Fidélité, la régie, la comptabilité, le CRM et la sécurité derrière une même interface — avec Jarvis comme couche de recherche et d’action contrôlée.

9briques visibles
28collections métier
7jobs automatisés
1socle commun

Lecture en 30 secondes

Ce qui est réellement en place

  • Le socle est en production : authentification, droits, shell responsive, thèmes clair/sombre, admin Payload, base PostgreSQL et déploiement Render.
  • Les briques les plus mûres sont le mail, le back-office éditorial HF, le CRM de base, le cockpit comptable Qonto et la sécurité.
  • Jarvis sait chercher dans le corpus privé et le serveur MCP expose des outils mail et facture, mais l’orchestration conversationnelle complète reste à terminer.
  • Les données Webflow ont été rapatriées, mais les images restent hébergées par Webflow. Le futur site public et la médiathèque ne sont pas encore construits.
  • Aucun déploiement n’est en attente au moment de cet état des lieux : le dernier main audité est déployé et les sauvegardes automatiques sont vertes.

01 · Architecture

Un produit, plusieurs métiers


Le principe

HL·OS n’est pas un nouvel ERP qui duplique tout. Il sert de cockpit et de couche d’orchestration. Qonto reste le registre comptable, Webflow reste provisoirement le site public, Shopify reste la boutique et GitHub reste la source des audits sécurité.

Le système centralise ce qui aide à décider : une interface commune, les droits, les connexions, la mémoire, les files de travail, les preuves et les actions sûres.

Socle technique actuel

  • Next.js 16 + React 19 + Payload CMS 3.
  • PostgreSQL Scaleway + pgvector.
  • Application et cron externe sur Render.
  • Connexion Google, rôles et droits par section/boîte.
  • Secrets chiffrés en base ; aucune clé dans le dépôt.
  • CI GitHub, migrations versionnées et sauvegarde quotidienne.
  1. SourcesMail · Qonto · Webflow · Shopify · GitHub
  2. IngestionSyncs · imports · cron · déduplication
  3. HL·OSPayload · droits · workflows · cockpit
  4. JarvisRAG · MCP · préparation d’actions
  5. ValidationHumain si doute ou action sensible

02 · Inventaire

Les briques existantes

Les statuts ci-dessous décrivent le produit constaté dans main, pas seulement la documentation ou les intentions.


En production · Socle Aujourd’hui & navigation Page d’accueil opérationnelle, alertes, raccourcis, navigation commune, composants réutilisables, thèmes clair/sombre et interface responsive. L’admin Payload reprend la même grammaire visuelle. Stable · à enrichir par les vraies priorités métier
En production · À consolider Mail Boîte unifiée, cockpit de tri, revue en masse, IMAP et Microsoft Graph, lecture, réponse, transfert, classement, spam, corbeille, pièces jointes, rattrapage et règles apprenantes. Le cœur agit · l’autonomie et la qualité du tri restent à mesurer
Back en production · Front à faire HF‑OS éditorial Auteurs, marques, rubriques, catégories, pays, numéros, produits, articles, bancs d’essai, diffusion et préparation de commandes Shopify. Le back éditorial est alimenté depuis Webflow. Bloquant futur : média local + nouveau site public
Partiellement en production Régie publicitaire Annonceurs, campagnes, insertions, suivi par numéro, factures, contacts à créer, relances Brevo et classement automatique des factures Qonto. Données et écrans présents · boucle commerciale à fermer
P1 à P6 livrés · P7 en cours Comptabilité Multi-entités HL, connexions Qonto séparées, détection des justificatifs manquants et factures à payer, rapprochement mail, pose sûre d’une pièce, brouillons de facture client et écran de validation des exceptions. Aucun mouvement d’argent · portails fournisseurs encore incomplets
En production · Base métier CRM Sociétés, contacts, activités, tags, timeline, enrichissement entreprise, import CSV, rapprochement Qonto et détection de doublons. Prêt comme référentiel · usages commerciaux avancés à construire
Lecture en production · Action contrôlée Sécurité Cockpit global des dépôts suivis, score, findings, preuves GitHub, plan de correction et préparation de PR brouillon via un agent séparé. Aucun merge automatique. Connecté · couverture et scénarios de correction à étendre
Recherche active · Expérience partielle Jarvis & Brain Corpus pgvector, ingestion quotidienne, provenance des sources, recherche sémantique, serveur MCP OAuth et droits séparés pour recherche, mail et création de brouillons Qonto. La page Agents & exécutions est encore un écran d’attente
En production · Administration Connexions & imports État Qonto, Brevo et Shopify, boîtes mail, secrets masqués et chiffrés, imports CRM/Qonto/Webflow, nettoyage et déduplication. À compléter par un historique lisible de chaque synchronisation

03 · Données

Les imports déjà faits

Le dépôt ne versionne pas les volumes de la base de production. Cette liste distingue donc ce qui a été effectivement rapatrié, ce qui est synchronisé en continu et ce qui est seulement lu à la demande.


Rapatrié · Webflow → Payload Corpus éditorial Haute Fidélité Pays, auteurs, marques, rubriques, catégories produit, numéros, produits, articles et bancs d’essai. L’import est idempotent, conserve les slugs et IDs d’origine, reconstruit les relations et convertit le HTML riche en Lexical. Limite : les images sont encore des URL du CDN Webflow
Synchronisé · Mail → Payload Messages et historique Ingestion des boîtes connectées par IMAP ou Graph, messages reçus et envoyés, corps, métadonnées, pièces jointes, expéditeurs, règles et timeline CRM. Un rattrapage historique est prévu pour combler les périodes manquantes. Déduplication par Message‑Id · curseur par boîte
Synchronisé · Qonto → Payload Clients, factures et comptabilité Clients Qonto rapprochés avec les sociétés CRM, factures clients historiques et nouvelles, classification régie, factures fournisseurs et transactions utiles au rapprochement. Chaque société HL possède sa propre connexion. Qonto reste la source de vérité
Disponible · CSV → CRM Sociétés et contacts Import CSV par lots, normalisation, tags, rattachement société/contact, complétion des champs vides et détection de doublons par nom, SIREN, TVA, email ou domaine. Les volumes de chaque passage ne sont pas historisés
Initialisé · Données régie Planning publicitaire 2026 Les insertions et dates de planning 2026 ont des migrations d’amorçage dédiées. Le suivi publicitaire peut ensuite être corrigé et enrichi dans HL·OS. Seed unique, versionné dans les migrations
Ingestion continue · Sources → Brain Knowledge Hub et mails Le Knowledge Hub publié et les mails stockés sont découpés, dédupliqués, vectorisés puis indexés dans PostgreSQL/pgvector. Chaque extrait conserve sa provenance et les ACL mail sont réappliquées dans Jarvis. Job quotidien · recherche sémantique disponible

Ce qui est connecté sans être « importé »

Shopify (commandes et clients), Brevo (templates, campagnes et délivrabilité) et Agent Security (audits GitHub) sont consultés via leurs API. HL·OS affiche et utilise ces données, mais ne cherche pas à maintenir une copie complète de ces systèmes.

04 · Automatisation

Ce qui tourne tout seul


Sept jobs métier

  • Synchronisation régulière des boîtes mail.
  • Rattrapage historique des messages.
  • Tri automatique et nettoyage du bruit.
  • Détection comptable et rapprochement mail/Qonto.
  • Synchronisation des nouvelles factures Qonto.
  • Relances automatiques via Brevo.
  • Ingestion du corpus de connaissance.

Exploitation

Un cron Render externe réveille la file toutes les cinq minutes. Ce choix remplace le planificateur embarqué qui pouvait se figer silencieusement sous Next.js.

Le système possède une route protégée, une file visible dans l’admin, des migrations de base et des sauvegardes nocturnes. Il manque encore un écran métier unique qui raconte clairement : dernier passage, résultat, erreur, volume et action de reprise.

05 · Écarts

Ce qui n’est pas fini


Priorité produit Agents & exécutions La route existe mais reste une page « à venir ». Il faut un journal compréhensible des agents : action proposée, preuve, niveau de confiance, validation, exécution, résultat et possibilité de reprise.
Priorité data Registre des imports Les outils fonctionnent mais l’historique n’est pas centralisé. Bertrand ne doit pas avoir à lire les logs pour savoir quelle source a été importée, quand, avec combien de créations, mises à jour, doublons et erreurs.
Bloquant Webflow Médiathèque Les images éditoriales restent chez Webflow. Avant toute coupure, il faut un stockage objet, une collection Media, la conversion WebP/AVIF, les variantes responsive, les métadonnées et un re-rattachement aux contenus.
Phase 2 Site public Haute Fidélité Le répertoire apps/web est encore un squelette. L’identité, les gabarits, le rendu statique, la recherche, les données structurées et le plan de redirection Webflow restent à développer.
Compta P7 Portails fournisseurs Le registre et le moteur de collecte existent, avec un premier adaptateur Meta. Il reste à stabiliser Meta, ajouter Google Ads et industrialiser la récolte mensuelle sans exposer les identifiants.
Qualité opérationnelle Mesure & alertes Il faut des indicateurs de confiance : précision du tri mail, taux d’auto-rapprochement, anomalies, synchronisations en retard et qualité du corpus. Aujourd’hui, la capacité existe davantage que sa mesure.

06 · Passation Bertrand

Le brief développement


Mission recommandée

Fiabiliser et rendre observable l’existant avant d’ajouter une nouvelle grosse brique. Le socle, les modèles et la plupart des connecteurs existent déjà. La meilleure contribution n’est pas de refaire les écrans : c’est de transformer les fonctions éparses en workflows compréhensibles, mesurables et reprenables.

Lot 1 · Cartographie Faire tourner le projet Installer localement, jouer les migrations sur une base vide, se connecter, parcourir les routes, lire les rôles et identifier les services externes simulables. Documenter uniquement les écarts constatés. Livrable : environnement reproductible + matrice des routes
Lot 2 · Observabilité Créer le centre d’exécution Remplacer la page d’attente /ia par une vue des jobs et agents : état, source, début/fin, compteurs, erreur lisible, logs utiles, relance manuelle et lien vers l’objet métier concerné. Livrable : une exécution se comprend sans ouvrir Render
Lot 3 · Imports Unifier les synchronisations Créer un registre commun Webflow, Qonto, mail, CRM et Knowledge : dernier succès, prochain passage, volumes, curseur, échecs, reprise et caractère idempotent. Ne pas déplacer les moteurs existants. Livrable : source de vérité de l’état des données
Lot 4 · Média Sortir les images de Webflow Mettre en place le stockage objet, Media Payload, variantes, métadonnées, migration idempotente et contrôle des liens cassés. Aucun cutover public avant validation complète de ce lot. Livrable : contenu autonome de Webflow
Lot 5 · Compta Fermer les exceptions Stabiliser les portails fournisseurs, enrichir les preuves de rapprochement et mesurer ce qui passe automatiquement. Conserver la règle : visuel seulement en cas de doute, aucune capacité de paiement. Livrable : autonomie mesurée, exceptions actionnables
Lot 6 · Jarvis Passer de chercher à agir Brancher les capacités existantes dans une expérience unique : retrouver les preuves, préparer l’action, afficher les droits et demander une validation explicite quand elle est requise. Conserver les journaux et l’idempotence. Livrable : une action traçable de bout en bout

Garde-fous non négociables

  • Ne jamais mélanger Cobra et les entités HL dans la comptabilité.
  • Qonto reste le registre ; HL·OS supervise et prépare.
  • Aucun paiement ni merge de sécurité automatique.
  • Toute action externe doit être journalisée et rejouable sans doublon.
  • Les ACL sont réappliquées côté serveur, jamais seulement masquées dans l’UI.
  • Les secrets restent chiffrés et ne transitent ni dans les logs ni dans le front.

Définition de « fini »

  • Typecheck, lint, tests et build de production verts.
  • Test responsive clair/sombre sur les routes modifiées.
  • Cas nominal, absence de configuration et panne API couverts.
  • État d’exécution visible sans accès technique à Render.
  • Aucun changement silencieux de données ou de permissions.
  • Documentation mise à jour au même endroit que le code.

07 · Références

Où regarder


État vérifié sur main au commit e1d7bf5. La production Render correspond à ce commit au moment de l’audit. Les anciennes PR encore ouvertes doivent être réévaluées avant toute fusion : elles ne représentent pas nécessairement le produit actuel.