✓ feature: sync CRM → facturation
Scenario: reprise sur timeout
Given un timeout côté éditeur
When le worker retente avec la même clé
Then aucune double facture
✓ phpstan · ci · green
Innovation
Digitale
Apps métier, APIs, modernisation, automatisation — livrées avec méthode.
Error · Friction
ERR_DEBT
Chaque évolution est risquée. Les équipes contournent l’outil.
ERR_SILO
CRM, Excel, ERP : les mêmes données partout, nulle part fiables.
ERR_SHIP
Pas de tests, pas de critères — les régressions arrivent en prod.
ERROR
503
Build · Creation
BUILD
Excel parallèles, process dans les mails, outil interne qui ne suit plus la croissance. Les équipes compensent, les données divergent, le reporting dirigeant devient une reconstruction manuelle chaque lundi. Plus le temps passe, plus le coût de sortie augmente — et plus personne n’ose toucher au « fichier qui marche encore ». Ce n’est pas un sujet de gadgets. C’est un sujet de risque opérationnel : dépendance à une personne, erreurs de saisie, impossibilité d’auditer. Les PME/ETI le vivent tous les jours ; les startups le découvrent dès que le POC rencontre le premier vrai volume.
CONNECT
Double saisie, connecteurs fragiles, SaaS qui ne se parlent pas. CRM, facturation, outil terrain : les mêmes objets métier traversent trois systèmes sans contrat clair. Les timeouts créent des doubles factures ; les syncs manuelles brûlent des demi-journées. Sans API documentée, reprise sur erreur et journalisation, chaque nouvel outil ajouté augmente le chaos. C’est exactement le terrain des marketplaces, TMS et SI industriels que nous avons reconstruits.
HARDEN
Dette technique, peur de toucher au code, livraison au ralenti. Parfois un monolithe historique ; parfois un NoCode qui a sauvé le lancement puis figé le produit (cas DeskLEX). Dans les deux cas, chaque feature devient un pari. Le symptôme business : time-to-market qui s’allonge, incidents récurrents, impossibilité de recruter sur la stack. Le symptôme humain : l’équipe contourne l’outil.
AUTOMATE
Tâches répétitives, reporting manuel, surveillance absente. Les équipes passent des heures à classer des PDF, ressaisir, relancer. L’IA générative fait miroiter des miracles — mais sans garde-fous (droits, journal, validation humaine), elle crée autant de risque qu’elle en retire. LegalTech, docs fournisseurs, CRM → devis : les bons cas existent. Les mauvais aussi.
RUN
Votre livrable est en prod mais personne n’en assure le run. Correctifs qui traînent, dépendances qui vieillissent, monitoring absent, évolutions traitées « quand il y a le temps ». L’équipe interne est saturée ; l’éditeur historique ne répond plus ; le freelance qui a livré a disparu. Sans TMA cadrée, la dette revient : incidents, peur de déployer, pertes de connaissance. Le code vous appartient déjà — il faut encore quelqu’un qui le fait vivre.
Qualité & méthode
Chez nous, la qualité ce n’est pas un discours : c’est des tests, des critères métier et une CI qui reste verte — pour pouvoir changer sans tout casser.
Comment on livreGlisser · fouiller la pile
✓ feature: sync CRM → facturation
Scenario: reprise sur timeout
Given un timeout côté éditeur
When le worker retente avec la même clé
Then aucune double facture
✓ phpstan · ci · green
✓ feature: réception facture via PA
Scenario: rejet format invalide
Given une facture hors schéma attendu
When la plateforme notifie le rejet
Then aucune écriture comptable
✓ gherkin · tdd · green
✓ feature: cockpit à la place d’Excel
Scenario: statut dossier mis à jour
Given un dossier en cours
When l’opérateur change le statut
Then le reporting dirigeant est cohérent
✓ symfony · tdd · green
✓ feature: classification document
Scenario: extraction avec revue humaine
Given un PDF fournisseur ambigu
When l’agent propose un classement
Then aucune écriture sans validation
✓ audit trail · ci · green
✓ feature: agent CRM → devis
Scenario: proposition sous contrôle
Given une opportunité gagnée
When l’agent prépare le devis
Then l’envoi attend une validation humaine
✓ droits · journal · green
Static · Eyes · Reality
On construit dans le bruit — mais on livre un signal clair : tags, tests, contrats d’interface, déploiements reproductibles.
SOCLE · State of the art
On choisit les outils selon le projet, pas par habitude. Le dépôt est la source de vérité : code, critères, CI, doc courte. Une vitrine légère avec Eleventy et Tailwind ; React quand l’interface est vraiment un produit. Jira, Confluence ou Trello seulement si l’existant client l’impose — sinon on reste léger (Issues / Projects).
Par catégorie · feuilleter chaque trieur
Le moteur des apps métier
On parle souvent de Symfony comme d’un framework. Pour nous, c’est surtout un atelier solide : apps métier, APIs, back-offices — avec des briques qui existent déjà et une doc qu’on peut vraiment lire.
Lire la fiche →Le runtime qu’on assume
PHP propulse encore plus de 70 % des sites web dans le monde. Avec PHP 8+, le typage et Composer, c’est un runtime clair, rapide, partout hébergeable — et il continue d’évoluer avec force grâce à des frameworks modernes comme Symfony.
Lire la fiche →La persistance sans magie noire
Doctrine, c’est le pont entre votre métier et la base : on mappe le domaine, on versionne les migrations, on évite le SQL spaghetti qui finit par faire peur.
Lire la fiche →Des APIs qui se documentent toutes seules
API Platform, c’est la façon d’exposer une API REST ou GraphQL sans réécrire la moitié du protocole à la main — OpenAPI inclus, filtres, pagination, le paquet.
Lire la fiche →Quand le synchrone ne suffit plus
Messenger découple : une commande part, un worker la traite plus tard. Parfait pour les emails, les syncs SaaS, tout ce qui ne doit pas bloquer l’utilisateur.
Lire la fiche →L’outillage front (et un peu plus)
Node, c’est surtout notre usine à builds : Vite, scripts, CI. Parfois un petit service JS. Jamais « Node partout parce que c’est à la mode ».
Lire la fiche →Des interfaces qui respirent
React pour les parcours riches et les dashboards. Pas pour une vitrine marketing : là, Eleventy + Tailwind suffisent souvent. On analyse le besoin avant d’imposer un SPA.
Lire la fiche →Le typage qui évite les 3h du matin
TypeScript, c’est JavaScript avec une ceinture de sécurité : contrats d’API, props, refactors moins risqués quand le front grandit.
Lire la fiche →Des sites marketing qui volent
Eleventy pour les sites marketing et de contenu : HTML statique, bonnes perfs, zéro runtime imposé. Quand l’interface devient un produit (dashboard, parcours riches), on bascule vers React — pas l’inverse par défaut.
Lire la fiche →Une UI cohérente, vite
Tailwind compose une UI cohérente vite — sur Eleventy (vitrine) comme sur React (app). Ce n’est pas un dogme design : c’est un outil de rythme, calibré avec le reste de la stack projet.
Lire la fiche →Un peu d’interactivité, zéro usine
Menus, toggles, bandeau cookies : Alpine reste dans le HTML. Pas besoin de bundler React pour ouvrir un drawer.
Lire la fiche →Le build qui ne fait pas attendre
Vite démarre vite, hot-reload, bundles propres. C’est l’outillage front qu’on ouvre le matin sans soupirer.
Lire la fiche →Souvent le défaut — jamais le dogme
PostgreSQL est notre base relationnelle de référence sur beaucoup de projets. Pas parce que « il n’y a que ça », mais parce que contraintes, JSON, full-text et extensions couvrent 80 % des apps métier. Et si MySQL / MariaDB fait déjà le job chez vous : on s’aligne.
Lire la fiche →Souvent déjà là — et ça peut suffire
MySQL / MariaDB : très présents chez les hébergeurs et dans les SI. On ne force pas une migration PostgreSQL « pour le principe ». Si ça tient la charge, que l’équipe la connaît et que les besoins restent relationnels classiques : MySQL fait le job.
Lire la fiche →Documents flexibles, cas par cas
MongoDB quand le schéma bouge vite : catalogues, événements, données semi-structurées. Pas parce que « NoSQL = moderne ».
Lire la fiche →Cache, files, sessions — le turbo
Redis en mémoire pour alléger la BDD principale : cache, locks, files, sessions à faible latence. Simple et efficace.
Lire la fiche →Quand la recherche devient le produit
Elasticsearch pour catalogues, logs, full-text avancé — dès que SQL commence à suffoquer sur la recherche.
Lire la fiche →Petit, local, honnête
SQLite : une base dans un fichier. Parfait pour outils locaux, prototypes, charges modestes. Zéro ops.
Lire la fiche →Écrire le comportement avant la dérive
Le TDD, ce n’est pas une religion : c’est écrire ce qu’on attend avant de coder. Les tests deviennent la mémoire du produit.
Lire la fiche →Le métier écrit en Given / When / Then
BDD (Behavior-Driven Development, développement dirigé par le comportement) : le métier décrit le comportement attendu ; Gherkin le rend exécutable. Pas des slides oubliés dans un Drive.
Lire la fiche →La boîte à tests PHP
PHPUnit, c’est le standard pour tester en PHP : unitaires, intégration, couverture. Rien d’exotique — et c’est voulu.
Lire la fiche →Le filet avant la prod
PHPStan lit le code sans l’exécuter et dit « ça va planter ». Les erreurs évitables n’arrivent plus en revue à 18h.
Lire la fiche →Les parcours métier, rejoués
Playwright automatise ce qu’un humain ferait dans le navigateur — Chromium, Firefox, WebKit — pour sécuriser les parcours critiques.
Lire la fiche →Chaque merge doit pouvoir partir
La CI/CD, c’est le rituel : build, tests, analyse, déploiement. Sans ça, la « qualité » reste une intention.
Lire la fiche →La charge avant le pic — pas après
Gatling simule des utilisateurs concurrents pour voir où ça casse (API, BDD, timeouts). On le sort avant un pic — marketplace, campagne, migration — pas sur chaque vitrine.
Lire la fiche →Le logiciel parle métier
Domain-Driven Design : le code suit le langage du métier, pas l’inverse. Moins de jargon opaque pour le décideur.
Lire la fiche →Lire et écrire, ce n’est pas toujours la même chose
CQRS : on sépare les modèles de commande et de lecture quand les parcours divergent. Pas obligatoire partout — juste quand ça aide.
Lire la fiche →Le métier au centre, les adapters dehors
Architecture hexagonale : UI, BDD, SaaS externes sont des adapters. On remplace un prestataire sans réécrire le cœur.
Lire la fiche →Réagir aux faits, pas aux écrans
On publie des faits métier (« commande payée ») et les consommateurs réagissent. Découplage, audit, scalabilité logique.
Lire la fiche →Découper seulement quand ça paye
Monolithe modulaire par défaut. Microservices seulement si équipes, déploiements et charge le justifient — pas parce que c’est « moderne ». On tranche selon le problème.
Lire la fiche →Mesurer sans perdre la souveraineté
PostHog : analytics produit, funnels, feature flags — open source, hébergeable UE. On mesure ce qui compte, avec consentement.
Lire la fiche →L’erreur avant le ticket client
Sentry attrape les exceptions et la perf runtime avec le contexte de release. On sait ce qui casse, où, depuis quand.
Lire la fiche →Observer sans se marier à un vendor
OpenTelemetry standardise traces, métriques, logs. On instrumente une fois, on choisit le backend ensuite.
Lire la fiche →Sondes & alertes avant le client
Uptime Kuma : sondes HTTP/TCP/ping, statuts publics, alertes (email, Slack, webhook…). Self-host, open source — savoir que c’est down avant le ticket support.
Lire la fiche →Cybersécurité collaborative, pas du théâtre
CrowdSec : détection et remédiation d’intrusions (logs → scénarios → bannissement), open source, communauté européenne. Nous durcissons le run sans acheter une slide « cyber » vide.
Lire la fiche →Vulnérabilités avant la prod
Trivy scanne images Docker, dépendances et IaC pour les CVE. Branché en CI : nous arrêtons une release pourrie avant qu’elle parte en prod.
Lire la fiche →Le même environnement partout
Docker : local, CI, prod sur la même image. « Ça marche chez moi » devient « ça marche partout ».
Lire la fiche →La CI collée au dépôt
GitHub Actions : workflows YAML versionnés avec le code. Tests, builds, déploiements — visibles, auditables. Souvent notre défaut ; Bitbucket Pipelines quand le SI est déjà Atlassian.
Lire la fiche →Git & CI quand le SI est Atlassian
Bitbucket (et Pipelines) quand le dépôt ou la politique SI est déjà chez Atlassian. On ne force pas une migration GitHub « pour le principe » : on branche la même exigence de CI verte là où vit déjà le code.
Lire la fiche →Backlog et pilotage, sans magie
Jira pour cadrer le backlog quand le client y est déjà. Ce n’est pas la source de vérité : le dépôt (critères, CI, doc courte) l’est. Jira, c’est le tableau de bord — pas l’endroit où stocker le métier.
Lire la fiche →La doc partagée, pas le cimetière de pages
Confluence quand le SI est déjà Atlassian. Par défaut, la doc utile vit dans le dépôt (Markdown, README, consignes). Confluence complète — il ne remplace pas la source de vérité.
Lire la fiche →PaaS français — run par défaut
Clever Cloud est notre PaaS de référence pour les apps métier : git push, add-ons (PostgreSQL, Redis…), scaling, logs — données et support en Europe.
Lire la fiche →Cloud made in France
Scaleway pour les projets où la souveraineté compte : instances, Kubernetes, bases managées, données en France/UE.
Lire la fiche →Infra européenne & bare metal
OVHcloud : public cloud, bare metal, bases managées. Une alternative souveraine mature pour les SI français et européens.
Lire la fiche →Vitrines ultra-légères
Netlify pour les sites marketing : build Git, CDN, formulaires, previews. C’est ce qui fait tourner ce site-ci.
Lire la fiche →Une porte d’entrée — pas un dogme Kong
Une API Gateway centralise auth, rate-limit, routage quand plusieurs services exposent des APIs. Kong, Traefik, Nginx, APISIX… on choisit selon l’existant — ou on n’en met pas.
Lire la fiche →Des modèles derrière nos ports
OpenAI API pour extraction, assistants, automatisation — toujours encapsulé dans notre appli, jamais une boîte noire UI.
Lire la fiche →Claude quand le raisonnement compte
Anthropic / Claude pour analyse documentaire, agents, tâches à contexte long. On le choisit quand le cas le justifie.
Lire la fiche →IA générative européenne
Mistral AI : modèles et API ancrés Europe. Quand la politique data ou le client exige du made in EU — on a l’option.
Lire la fiche →Vos docs + une IA, sous contrôle
Une IA seule peut inventer. Le RAG lui donne d’abord vos vrais documents — procédures, contrats, FAQ — puis elle répond à partir de ça. On cite les sources, on vérifie la qualité : pas de magie.
Lire la fiche →Souveraineté · Made in France
Agence française, stack open source documentée, code remis au client. Hébergement UE/FR (Clever Cloud, Scaleway, OVHcloud) selon le projet — pas de dépendance opaque à un SaaS propriétaire.
Proof · Reality
Proptech · SaaS
Reconstruction d’une marketplace de bureaux flexibles paralysée par la dette NoCode — DDD, TDD, CQRS.
Cas →
Santé · SaaS
Solution SaaS de contrôle des médicaments par datamatrix, évoluée jusqu’à la certification France MVO.
Cas →
SaaS · Product
Extension Chrome MV3 : pipeline, commentaires et relances collés aux threads Gmail, données dans Google Sheets.
Cas →
Logistique · Marketplace
Marketplace de location de poids lourds avec chauffeur : connecteurs TMS, APIs REST, automatisation des réservations.
Cas →
Industrie · SI
Modernisation du chiffrage d’un groupe international du froid : de l’Excel mono-personne à une plateforme API-first.
Cas →
LegalTech · PWA
Digitalisation et automatisation des dossiers d’indemnisation passagers — PWA, Symfony, OCR, API-first.
Cas →
Next · Loading
Un Brief de 45 minutes, gratuit. On clarifie le périmètre — puis un audit build si ça tient la route.