Audit éditorial et technique · Claude Code for Real Business · 15 août 2026
Six lecteurs ont lu les 245 000 mots du manuscrit et fouillé les repos : un par bloc de parties, un pour la cohérence transverse, un pour chercher ce que tu n'as pas listé. Le socle pédagogique est au-dessus du marché. Ce qui manque n'est pas de l'écriture, c'est de l'exécutabilité, et il y a des données personnelles à retirer avant toute mise en ligne.
SECURITY DEFINER, tsconfig racine à files: [], filigrane Veo cropé par un zoom de 8 %, captcha silencieux qui rend zéro fiche, double greeting Pipecat, boucle de retry facturée onze fois, 409 sur un upsert PostgREST, fs.watch qui rate les appends entre processus. Aucun tutoriel en ligne ne les rassemble.fps=18 avec lanczos, cwebp -q 78 -m 6, préchargement en 16/8/4/2/1, déduplication en cascade téléphone → site → nom, interruption à 250 ms.Ce ne sont pas des défauts de style : ce sont les endroits où un lecteur qui paie s'arrête et demande un remboursement.
| Blocage | Gravité | Le problème | Le correctif |
|---|---|---|---|
| Le repo compagnon n'existe pas | BLOQUANT | Les tags git par étape (etape-1.9, exercice-3.A), les skills, les fichiers de départ, et surtout docs/SCENARIOS.md que la partie 3 annonce littéralement fournir au lecteur (« que voici, je te le fournis »). Le lecteur atteint un mur. | Publier le repo avec ses tags, ou supprimer chaque renvoi qui y mène. C'est le prérequis de tous les autres correctifs. |
| Aucune étape « monte ton VPS » | BLOQUANT | Quatre parties en dépendent (vocal, usine, MCP, backend de l'app) : SSH, ufw, utilisateur non-root, Python, DNS, nginx, certbot, systemd. Pire, la partie vocale exige une URL wss:// en HTTPS à l'étape 3 et n'installe nginx qu'à l'étape 10. | Une annexe VPS commune, référencée par les quatre parties, et réordonner la partie vocale pour que HTTPS précède le premier appel. |
| L'étape Veo manquante en partie 1 | BLOQUANT | Le hero vidéo piloté au scroll est l'argument différenciant du tome 1. Le manuscrit dit « j'ai une vidéo source générée par Veo dans assets/ » sans jamais expliquer où l'obtenir, avec quel prompt, à quel coût. Les exercices 1.A et 1.B demandent pourtant d'en générer une. | Écrire l'étape complète (compte, prompt, durée, seed, coût à la seconde) plus une variante « sans vidéo » assumée. |
| La promesse de l'abonnement n'est jamais construite | BLOQUANT | Le tome SaaS promet « un logiciel que des pros paient tous les mois » mais ne construit que du paiement à l'acte : pas de Price récurrent Stripe, pas de portail client, pas d'essai, pas d'impayé, pas de TVA. Côté app, RevenueCat est budgété et listé en dépendances, mais aucune étape ne monte le paywall, alors que l'étape de soumission l'exige pour passer la review. | Une étape abonnement des deux côtés. Sans elle, le titre du tome le plus vendeur est mensonger. |
| Rien n'est jamais mis en ligne | BLOQUANT | Le backend de l'app est écrit puis jamais déployé : l'app sur Expo Go ne peut appeler personne, il n'y a pas d'EXPO_PUBLIC_API_URL. Côté SaaS, zéro commande shell dans toute la partie : ni CLI Supabase, ni login, ni link, ni procédure pour appliquer les migrations pourtant écrites. | Une étape de déploiement par tome, avec les commandes exactes et un critère « c'est en ligne si ». |
| Les blocs RAPPORT DE SESSION | CRITIQUE | En fin de la plupart des fichiers, en commentaires HTML donc invisibles en Markdown rendu. Ils citent des clients réels, des marques, des chemins de projets, un RCS, et l'un d'eux signale qu'une clé d'API est en clair dans les scripts sources. Dans partie3.md, le rapport n'est même pas commenté : il s'imprimerait. | Purge systématique au montage, avec un test automatisé qui échoue si la chaîne « RAPPORT DE SESSION » subsiste. |
Le corps du texte est propre : aucune clé réelle, aucun token, les emails et clés visibles sont des placeholders. Le risque est entièrement concentré dans les blocs de travail laissés en fin de fichiers, invisibles en relecture Markdown.
| Gravité | Où | Quoi |
|---|---|---|
| CRITIQUE | partie2.md ligne 673 | Email professionnel et numéro de mobile d'un client réel, en clair. |
| CRITIQUE | partie7.md ligne 698 | Mention d'une clé Google Maps réelle (AIzaSy…) présente dans un app.json, plus deux autres identifiants de service. |
| CRITIQUE | partie4 (rapport) | Signale qu'une clé d'API est en clair dans les scripts sources du projet. |
| ÉLEVÉ | 15 fichiers sur 15 | Blocs « RAPPORT DE SESSION » en commentaires HTML, donc invisibles à la relecture Markdown. Ils citent nommément une trentaine de clients, cabinets et marques réels. |
| ÉLEVÉ | Légendes d'images | Captures nommées d'après des clients réels (cabinet d'avocats, artisan, brasserie, studio). Autorisations écrites à vérifier avant publication. |
| MOYEN | partie5 vs partie-video / partie-ads | Politique d'anonymisation contradictoire : un fichier affirme qu'une marque n'est « JAMAIS citée », un autre la cite 28 fois dans le corps, un troisième anonymise volontairement. Trois politiques coexistent. |
À faire en premier, avant tout le reste : supprimer les 15 blocs « RAPPORT DE SESSION » (les numéros de lignes sont dans le rapport détaillé), révoquer la clé signalée en clair, et ajouter au build un test qui échoue si l'une de ces chaînes réapparaît. Cette seule opération élimine la fuite de données personnelles et 90 % des noms de clients réels.
Le manuscrit est encore numéroté selon un ancien plan de 12 parties. Il y en a 15. Sur un livre unique, un renvoi faux est un détail ; en tomes vendus séparément, chaque renvoi est un lien commercial vers un autre livre.
| Fichier | Renvoi | Dit | Devrait dire |
|---|---|---|---|
partie0 | « ton agent vocal de la partie 9, ton usine de la partie 10 » | 9 / 10 | 11 / 12 |
partie0 | « on y reviendra en partie 12 » (×2) | 12 | 14 |
partie1, 3, 4, 9, 10, ads | « le hook de contrôle de la partie 12 » (7 fichiers) | 12 | 14 |
partie6b | « le SaaS de la partie 6 » (6 occurrences) | 6 | 9 |
partie6b | « la plateforme d'agents vocaux (partie 9) » | 9 | 11 |
partie10 | « la machine à états de la partie 6b » | 6b | 10 |
partie10 | « le moteur d'actes juridiques (partie 8) » | 8 | 9 |
partie11 | « le SaaS de la partie 8 » (11 occurrences) | 8 | 9 |
partie11 | « l'agent vocal partie 9 », « l'usine partie 10 » (5 occ.) | 9 / 10 | 11 / 12 |
partie12 | « l'agent vocal (partie 9), le SaaS métier (partie 8) » | 9 / 8 | 11 / 9 |
partie-video, partie-ads | « l'usine de la partie 11 » (8 occurrences) | 11 | 12 |
Deux collisions aggravent le problème : la partie vidéo et la partie SaaS s'intitulent toutes les deux « PARTIE 6 », avec deux cheat sheets identiquement nommées et deux séries de prompts P6-1 à P6-10 qui se marchent dessus, plus deux séries de tags git homonymes. Et l'introduction annonce treize systèmes avec une liste numérotée qui oublie la partie créas publicitaires, alors qu'il y en a quatorze.
| Nom | Conflit | À faire |
|---|---|---|
| Marco | Artisan volets roulants (partie 2) et patron de trattoria (exercices vocal) | Le renommage en Enzo était acté, il n'a jamais été appliqué (0 occurrence). |
| Lambert / Reynaud | Le même cabinet juridique fil rouge change de nom entre le tome SaaS et le tome MCP | Trancher un nom unique, sinon le lecteur croit à deux clients différents. |
| Karim | Fondateur juridique (3 parties) et nom d'un lead sur une capture restauration | Renommer l'un des deux. |
| Emma | Assistante IA du chat SaaS et voix de l'agent vocal | Trancher. |
| Martin | Trois usages distincts dans trois parties | Trancher. |
C'est la question qui décide du découpage. Verdict tome par tome, avec ce qu'il faut ajouter.
| Tome | Contenu | Autonome ? | Ce qui manque |
|---|---|---|---|
| Tome 1 | Préalables + Sites + Leads | NON | Veo jamais expliqué, CLI Supabase absente, migrations jamais appliquées, prérendu SEO délégué au modèle alors qu'il conditionne l'indexation, installation des skills trop vague. |
| Tome 2 | Scraper + Analyse des pubs | PARTIEL | Les étapes 3.1 à 3.7 sont la meilleure partie du livre (0 €, aucun compte, tout vérifiable). Mais 3.8-3.9 exigent VPS, domaine et app Meta Developers non documentés, et la partie 4 repose sur « une API tierce » jamais nommée, à 20 € l'étude, sans plan B ni voie gratuite. |
| Tome 3 | Propales + Pilotage et vente | NON | La partie propales dépend de fichiers produits par les tomes précédents (prospects.json, marche.json, analyse.json). Sans eux, le script échoue par conception. Le lecteur mono-tome n'obtient rien. La partie pilotage, elle, est la seule vraiment autonome du livre. |
| Tome 4 | Vidéo faceless + Créas pub | PARTIEL | Aucun exercice des deux côtés. La clé Veo n'est ni sourcée ni budgétée côté créas, le temoin.mp4 nécessaire à l'étape 6.4 n'est pas fourni, la voie « zéro Veo » existe mais est enterrée. |
| Tome 5 | SaaS (fonctionnalités + exploitation) | PARTIEL | On sait concevoir, on ne peut pas livrer : aucune commande shell, pas d'abonnement, et surtout une rupture de socle entre les deux parties (l'une livre du 100 % Supabase, l'autre suppose VPS, systemd, pm2 et worker Python : cinq étapes ne s'appliquent pas à ce que le lecteur vient de construire). |
| Tome 6 | App mobile + Agent vocal | NON | Backend jamais déployé, paywall jamais monté, Android absent alors que la boîte à outils promet iOS et Android, base de données du backend jamais déclarée. Côté vocal : le bundle Twilio français exige un Kbis, ce qui arrête net tout lecteur sans société, et ce n'est jamais dit. |
| Tome 7 | Usine + MCP | PARTIEL | L'API cartographique du scout n'est ni nommée ni budgétée alors que c'est le premier maillon. Contradiction à corriger côté MCP : le texte promet de « couper l'accès en une commande », or un mot de passe unique et des jetons de 30 jours sans table de révocation rendent cela faux. |
Le correctif générique, valable pour les sept tomes : un « chapitre 0 » de quatre à six pages en tête de chaque tome (installation de Claude Code, skills, anatomie d'un prompt, git en dix minutes), plus un jeu de données ou un socle de départ téléchargeable pour les tomes qui dépendent d'un tome précédent. Sans ça, seul le tome pilotage se vend honnêtement seul.
| Sujet | Le problème |
|---|---|
| Partie vocale : aucune section RGPD ni ARCEP | L'enregistrement d'appel est évoqué en une demi-ligne. Rien sur la base légale, la durée de conservation, les transferts hors UE (Deepgram, Anthropic, ElevenLabs), le contrat de sous-traitance, l'information de l'appelant. |
| L'exercice du cabinet médical | L'exercice 9.A fait construire un agent vocal pour un cabinet médical, et pousse à vendre la niche. Données de santé en France = hébergement HDS obligatoire, jamais mentionné. L'exercice inclut du triage d'urgence vitale (15/SAMU) sans avertissement de responsabilité : un faux négatif n'est pas « 20 secondes perdues ». |
| La démo de l'usine publiée au nom d'un commerce réel | La partie usine publie en HTTPS un site portant le nom, les avis et les photos d'un commerce non consenti. RGPD, droit des marques et conditions Google, sans le moindre garde-fou éditorial. |
| Les promesses de revenus sans clause | « 2 à 8 % de la marge », « rentabilisé en 1 mois », « +10 à 15 k€ », plus des scripts de relance commerciale, présentés sans clause de non-garantie alors que la partie scraping, elle, a bien son cadre légal. |
C'est le seul endroit du livre où l'auteur fait courir un risque à son lecteur, et c'est facile à corriger : un encart de conformité en tête de la partie vocale, un avertissement sur l'exercice médical (ou son remplacement par une niche non réglementée), un garde-fou éditorial sur la démo publiée au nom d'un commerce, et une clause de non-garantie sur les promesses de revenus. La partie scraping a déjà son cadre légal : il suffit de généraliser ce qui existe.
Cinq parties n'ont pas de cahier d'exercices. En voici quatre jeux complets, dans le format exact des exercices existants (contexte, chantiers, indices, prompt de déblocage, critère mesurable). Le cinquième, celui des préalables, se traite autrement : c'est une checklist d'installation vérifiée, pas un exercice.
Fouille des projets hors du top 15 déjà audité. Six d'entre elles comblent précisément un trou identifié plus haut.
Vérification faite : Amazon restreint les liens cliquables mais autorise les QR codes, traités comme des images statiques que le lecteur scanne manuellement. Seule interdiction ferme : renvoyer vers un formulaire qui collecte des données personnelles. Donc pas de mur email devant les ressources, mais une page de ressources avec du contenu réel et un formulaire d'inscription optionnel est acceptée.
| Contenu audio | Partie | Pourquoi c'est indispensable |
|---|---|---|
| Le récap vocal envoyé en WhatsApp | Agent vocal | C'est la promesse du chapitre, et elle est strictement illisible sur papier. 20 secondes d'audio valent la section entière. |
| L'avant/après du double greeting | Agent vocal | Deux extraits de 10 secondes prouvent le bug mieux que 400 mots. Idem pour le prompt lu à voix haute. |
| Trente secondes de conversation avec interruption | Agent vocal | Faire entendre une latence sous deux secondes, sinon le lecteur ne peut pas juger. |
| La partition de voix off avec ses silences | Vidéo faceless | Le manuscrit montre un texte annoté de [silence] et de majuscules : sans l'écouter, on ne comprend pas pourquoi. |
| Le A/B son sain contre son qui sature | Vidéo faceless | -14 LUFS contre +2,2 dBTP : c'est audible en une seconde, indémontrable à l'écrit. |
| Les trois récits d'incident | SaaS et app | La boucle facturée onze fois, la sauvegarde de 20 octets qui mentait, le rejet de l'App Store. Trois à cinq minutes chacun, racontés. |
| Le cadre légal du scraping et les pitchs de vente | Scraper, et blocs « combien ça se vend » | À écouter avant un rendez-vous client, pas devant l'écran. |
| Le commentaire à écouter pendant les temps morts | Toutes parties | Format sous-exploité : pendant qu'un scrape tourne ou que 287 images se préchargent, le lecteur a trois minutes à tuer. C'est là qu'on explique les choix. |
| Fichier | Partie | Pourquoi |
|---|---|---|
SCENARIOS.md (16 scénarios) | Scraper | Le manuscrit dit littéralement « je te le fournis ». Sans lui, l'étape est morte. |
Le socle de site au tag etape-1.9 | Leads | Rend le tome jouable pour qui n'a pas fait le précédent. |
| Le regex email borné et sa liste de blocage | Scraper | Impossible à retaper sans faute depuis du papier. |
Les migrations SQL (has_role en SECURITY DEFINER) | Leads, SaaS | Recopier du SQL depuis un livre est le meilleur moyen de créer une récursion RLS. |
gates.py + CAHIER_ACCEPTATION.md + temoin.mp4 | Vidéo | L'étape 6.4 est inexécutable sans le témoin. |
styles.js et les 11 signaux du juge vision | Créas pub | Le cœur transposable de la partie. |
Jeux de données d'amorçage (prospects.json, marche.json) | Analyse pubs, propales | Rend les deux tomes démarrables seuls, sans payer l'API ni faire les tomes précédents. |
Makefile, doctor.sh, backup.py, RESTORE.md | Exploitation SaaS | Des gabarits, pas du copier-coller depuis une page imprimée. |
hook.js, rules.js, ses tests, et 200 décisions anonymisées | Pilotage | La fixture permet de faire l'exercice de red-team sans attendre d'avoir un historique. |
La collection de requêtes OAuth et le smoke_test.sh | MCP | Cinq requêtes de vérification qui font gagner une soirée de débogage. |
| L'index des prompts et la cheat sheet par tome | Tous | Le livre affirme lui-même que les prompts sont la vraie valeur : ils doivent être copiables. |
L'architecture qui ne périmera pas. Un QR pointe vers une URL courte et définitive par tome (par exemple livre.nonobstant.io/t3), jamais vers un fichier direct. La page derrière liste les ressources et peut changer autant que nécessaire : quand une API évolue ou qu'un prix bouge, tu modifies la page, pas le livre déjà imprimé. Prévois dès maintenant un QR « errata » par tome, c'est la seule réponse honnête à l'obsolescence d'un livre technique.
Deux atouts que tu as déjà et qui ne demandent qu'à être branchés : le numéro de téléphone imprimé pour appeler l'agent vocal avant de le construire (déjà acté dans tes notes, jamais monté), et la génération d'audio, que tu maîtrises pour d'autres projets. Un QR qui fait entendre un agent vocal répondre, dans un livre papier, personne ne le fait.
Quatre phases, dans cet ordre. La première n'est pas négociable avant toute publication.
_archive_partie6_v1.md du dossier manuscrit[CAPTURE : …])Ce que je ferais dans l'ordre si le temps est compté : la phase 1 en entier (deux jours, non négociable), puis un seul tome mené à l'état publiable plutôt que sept à moitié. Le tome pilotage est déjà autonome et à budget zéro ; le tome SaaS est le plus vendeur mais demande le plus de travail. Sortir un tome parfait, récolter vingt avis, et enchaîner : c'est la logique de collection, et elle interdit de tout sortir en même temps.