Tutoriel 2 · Plusieurs séances

Mode complet : prêt pour de vrais clients

Le salon a vu son prototype et veut aller plus loin. Cette fois, on construit la vraie appli : une fonction à la fois, relue par des assistants, testée par vous, mise en ligne avec des contrôles automatiques, des clés protégées, puis trouvée sur Google. Comptez six séances de deux à trois heures.

La frise des séances du mode complet Décrirede l'idée aux US US-001prendre rendez-vous US-002le carnet du salon Mettre en lignepour de vrai US-003rappel la veille Être trouvéGoogle, vitesse Prêtepour de vrais clients Entretienchaque semaine une nouvelle idée ? une nouvelle US, même cheminChaque séance finit par /pulse:status : vous reprenez où vous en étiez
Les séances du mode complet. D'abord décrire l'appli, de l'idée aux user stories. Puis construire une user story à la fois : US-001, la prise de rendez-vous, et US-002, le carnet du salon, qui forment la première version, mise en ligne à la fin d'US-002. Ensuite, mettre en ligne pour de vrai (contrôles automatiques, mode production, sécurité, clés). US-003, le rappel la veille, arrive comme une mise à jour. Puis être trouvé sur Google et vérifier la vitesse. L'appli est alors prête pour de vrais clients, et l'entretien prend le relais chaque semaine. Une nouvelle idée devient une nouvelle user story, qui suit le même chemin. Chaque séance se termine par /pulse:status, pour reprendre où vous en étiez.

Avant de commencer

Le fil rouge : le salon de coiffure « Salon Lila » veut un carnet de réservations. Le tutoriel rapide en a fait un prototype. Ici, on reprend chaque étape de la méthode pour une appli fiable, avec le pack Next.js de Pulse (pulse-next).

User storyCe que l'appli permet
US-001Une cliente prend rendez-vous : elle choisit une prestation, un créneau libre, puis donne son nom et son e-mail.
US-002La coiffeuse voit les rendez-vous du jour. Cette page est réservée au salon : il faut se connecter.
US-003La cliente reçoit un rappel par e-mail la veille de son rendez-vous.
US-004(Facultative) La cliente verse un acompte en ligne.

Ce qu'il vous faut :

  • tout ce que liste la page Prérequis : Git, Node.js, Claude Code, le plugin Pulse, et VS Code avec l'extension Claude Code ;
  • le pack Next.js, à installer une fois (voir plus bas) ;
  • un compte GitHub (la copie en ligne du projet), et en cours de route un compte Neon (la base de données) et un compte Vercel (l'hébergeur). Pulse vous guide pour chacun, au moment où il sert.

Travailler dans VS Code

Ce tutoriel utilise VS Code avec l'extension Claude Code : vous discutez avec Claude dans un panneau, et vous voyez les fichiers du projet juste à côté. Les menus de VS Code peuvent être en anglais : le nom anglais est donné entre parenthèses.

  1. Ouvrir le dossier du projet : menu Fichier → Ouvrir le dossier… (File → Open Folder…), puis choisissez le dossier. Ses fichiers s'affichent à gauche, dans l'explorateur de fichiers.
  2. Ouvrir le panneau Claude Code : cliquez sur l'icône en forme d'étincelle en haut à droite de l'éditeur (elle apparaît quand un fichier est ouvert), ou sur la même icône dans la barre de gauche, qui liste vos conversations. Autre chemin : Ctrl + Maj + P (Cmd + Maj + P sur Mac), tapez « Claude Code », puis choisissez Open in New Tab.
  3. Taper les commandes : toutes les commandes /pulse:… de cette page se tapent dans la zone de saisie du panneau Claude Code.

Trois gestes de VS Code servent tout au long du tutoriel :

  • Lire un document produit par Pulse (PRD, user stories, carnet de route) : cliquez sur le fichier dans l'explorateur, puis Ctrl + Maj + V (Cmd + Maj + V sur Mac) pour l'afficher mis en forme.
  • Lancer une commande technique, seulement quand Pulse vous le demande (par exemple lancer l'appli) : menu Terminal → Nouveau terminal (Terminal → New Terminal). Un terminal s'ouvre en bas, déjà placé dans le dossier du projet.
  • Voir les versions enregistrées : l'icône du contrôle de source, dans la barre de gauche (Ctrl + Maj + G), montre les fichiers modifiés et l'historique des enregistrements.

Pour installer le pack Next.js, tapez dans le panneau Claude Code la commande ci-dessous : la fenêtre de gestion des plugins s'ouvre. Dans l'onglet Plugins, cherchez pulse-next et cliquez sur Install.

/plugins

Une séance correspond à une partie de cette page. Entre deux étapes longues, repartez d'une conversation neuve, puis lancez la commande suivante : la conversation repart légère, et Pulse retrouve tout grâce aux fichiers du projet et à sa mémoire. Pour cela, tapez /clear dans le panneau ; si l'extension ne le propose pas, ouvrez une nouvelle conversation avec Ctrl + Maj + Échap (Cmd + Maj + Échap sur Mac).

Capture à venir : VS Code avec le dossier salon-lila ouvert, l'explorateur de fichiers à gauche et le panneau Claude Code à droite.
L'espace de travail du tutoriel : vos fichiers à gauche, la conversation avec Claude à droite.

1 Séance 1 : décrire l'appli Environ 3 h

Objectif : passer de l'idée à des user stories prêtes à construire, sans une ligne de code. Six commandes, dans l'ordre. Chacune pose ses questions, écrit un document et attend votre accord.

Préparer le projet : /pulse:init

Objectif : créer le dossier du projet et choisir le parcours complet. Environ 15 min

Créez un dossier vide salon-lila, ouvrez-le dans VS Code (Fichier → Ouvrir le dossier…), ouvrez le panneau Claude Code, puis tapez :

/pulse:init salon-lila

Pulse vous demande une phrase de description, votre niveau et la quantité d'explications voulue, puis crée les règles du projet, sa mémoire et un premier enregistrement. Il propose ensuite de protéger vos clés et de relier le projet à un dépôt distant (une copie privée sur GitHub). À la fin, il vous demande quel parcours suivre : choisissez le parcours complet. Le détail est sur la page /pulse:init.

/pulse:init salon-lila

👋 Bienvenue ! Décrivez le projet en une phrase (facultatif).

Un carnet de réservations pour le Salon Lila, un salon de coiffure.

Votre niveau en programmation ? → Jamais programmé Combien d'explications ? → Normales (Recommandé) C'est prêt. Vos clés seront dans un fichier .env ; cette règle empêche l'IA de le lire. → Protéger mes clés (Recommandé) Relier le projet à un dépôt distant ? → Oui, en créer un nouveau (Recommandé) Pour la suite : démarrer vite avec /pulse:nouveau, ou parcours complet, étape par étape ?

Parcours complet, étape par étape

➡️ Prochaine étape : /pulse:brainstorm, pour raconter votre idée.

Capture à venir : l'écran « Votre projet » de /pulse:init, avec le choix entre « Démarrer vite avec /pulse:nouveau » et le parcours complet.
Le choix du parcours, à la fin de la préparation du projet.
Pulse n'arrive pas à créer le dépôt sur GitHub

Sans l'outil GitHub en ligne de commande, Pulse vous guide sur le site : nouveau dépôt, nom du projet, visibilité privée, dépôt laissé vide. Collez ensuite son adresse dans la conversation : Pulse relie le projet.

Je veux relier le dépôt plus tard

Répondez « Non, plus tard ». Tout reste sur votre ordinateur. La question reviendra au moment de la mise en ligne.

Raconter l'idée : /pulse:brainstorm

Objectif : que Pulse comprenne le métier du salon, avec vos mots. Environ 45 min

/pulse:brainstorm "un carnet de réservations pour mon salon de coiffure"

Pulse pose d'abord quelques questions essentielles, une à la fois : qui utilise l'outil, comment les rendez-vous se prennent aujourd'hui, ce qui coince. Répondez avec des exemples concrets : la liste des prestations et leur durée, les horaires du salon. Il écrit ensuite une courte histoire de votre outil (« Il était une fois… ») et vous demande si c'est bien ça. Les mots du métier (prestation, créneau, rendez-vous) vont dans le glossaire du projet. Voir /pulse:brainstorm.

Comment les clientes prennent-elles rendez-vous aujourd'hui, et qu'est-ce qui coince ?

Par téléphone. Je décroche pendant les coupes, et le carnet papier est plein de ratures.

✔ Décidé : les clientes réservent seules ; le salon voit le carnet du jour. 📖 Ajouté au glossaire : prestation (coupe, couleur, brushing, chacune avec sa durée). Ronde 3 · encore environ 2 sujets à éclaircir

Les questions n'en finissent pas

Après la quatrième ronde, Pulse demande s'il faut continuer. Répondez « Rédiger le brief maintenant » : les sujets restants deviennent des questions ouvertes du brief, reprises plus tard.

Décider de la première version : /pulse:prd

Objectif : trier les fonctions entre Indispensable, Essentiel, Optionnel et En attente. Environ 30 min

/pulse:prd

Pulse liste ce que l'outil doit permettre, puis vous pose la question clé : « Si vous ne pouviez livrer que 3 choses dans quinze jours, lesquelles ? ». Les Indispensables forment la première version : la plus petite réellement utilisable. Pulse vous demande aussi si le salon doit être trouvé sur Google, et ce qui vous fera dire « la première version est prête ». Voir /pulse:prd.

Si vous ne pouviez livrer que 3 choses dans quinze jours, lesquelles ?

Que les clientes réservent seules, et que je voie mes rendez-vous du jour. Le rappel, ce serait bien aussi.

Voici le classement : Indispensable : prendre rendez-vous · voir les rendez-vous du jour (connexion du salon) Essentiel : rappel par e-mail la veille Optionnel : acompte en ligne En attente : carte de fidélité Votre outil doit-il être trouvé sur Google ? → Oui, par les gens qui cherchent un coiffeur dans le quartier

Capture à venir : docs/prd.md dans l'aperçu Markdown de VS Code, avec le tableau des fonctions rangées en Indispensable, Essentiel, Optionnel et En attente.
Le tri des fonctions : les Indispensables forment la première version.

Pour relire le PRD, ouvrez docs/prd.md dans l'explorateur, puis Ctrl + Maj + V (Cmd + Maj + V sur Mac) : le tableau s'affiche mis en forme.

Choisir les outils : /pulse:tech

Objectif : retenir la pile Next.js du pack et préparer le projet de départ. Environ 45 min, comptes compris

/pulse:tech

Pulse remplit ce qu'il sait déjà, pose les questions qui restent sur votre besoin, puis compare 2 ou 3 options vérifiées sur la documentation officielle. Avec le pack installé, la pile Next.js en fait partie : un projet de départ vérifié, des recettes prêtes, les pièges connus déjà traités. Pulse la recommande quand elle convient ; le choix vous appartient. Voir /pulse:tech.

Ensuite, Pulse propose de préparer le code de départ. Il vous guide pour créer un compte Neon (la base de données, rangée à Francfort), avec une base de développement pour vos essais, et un compte Vercel (l'hébergeur). Puis il propose de mettre en ligne la page de départ dès aujourd'hui : acceptez, vous découvrez les réglages de l'hébergeur tant que l'enjeu est petit.

Option A : Pile Pulse next (Next.js, base Neon à Francfort, hébergement Vercel) : code de départ vérifié, recettes prêtes. ✅ Option B : un site plus léger avec un service de réservation tiers. ⚠️ moins de contrôle sur les données. Je recommande l'option A : elle couvre les comptes, les données et les e-mails.

Option A (Recommandé)

pulse-aidd pile squelette --nom "salon-lila" --description "Un carnet de réservations pour le Salon Lila"

Le code de départ est prêt : la page d'accueil affiche « salon-lila ». Mettre en ligne la page de départ maintenant (Recommandé) ?

Pulse ne propose pas la pile Next.js

Le pack n'est pas installé, ou pas encore chargé. Tapez /plugins dans le panneau Claude Code, vérifiez que pulse-next est installé et activé (sinon Install), redémarrez Claude si la fenêtre le propose, puis relancez /pulse:tech.

La branche de développement a disparu de Neon

À sa création, la case « Automatically delete branch after » est cochée par défaut. Pulse vous demande de la décocher : recréez la branche dev en suivant ses consignes.

Choisir l'apparence : /pulse:ui identite

Objectif : voir 2 ou 3 apparences possibles et en choisir une. Facultatif, mais à faire avant les user stories. Environ 30 min

/pulse:ui identite

Pulse vous interroge en langage courant : où et sur quel écran l'outil sert, sa personnalité en 3 mots, des sites dont vous aimez l'allure. Des assistants dessinent ensuite plusieurs planches, que vous comparez dans votre navigateur. Vous en choisissez une, ou un mélange. Pulse vérifie la lisibilité des couleurs, écrit docs/design.md, puis propose d'appliquer l'apparence au code. Voir /pulse:ui.

Capture à venir : la page de comparaison des apparences, ouverte dans le navigateur, avec les planches côte à côte.
Choisir une apparence en la regardant, plutôt qu'en lisant des codes couleur.

Écrire les user stories : /pulse:us

Objectif : découper le besoin en user stories vérifiées et rangées dans l'ordre de réalisation. Environ 30 min

/pulse:us

Pulse propose des groupes de user stories (par exemple « Réserver un rendez-vous », « Tenir le carnet du salon », « Prévenir les clientes »), puis écrit chaque US : « En tant que… je souhaite… afin de… », un exemple réaliste, et des critères « Étant donné… Lorsque… Alors… », dont au moins un cas d'erreur. Il vous pose les cas limites sous forme de scénarios concrets. Rien n'est enregistré avant votre « Valider et sauvegarder ». Voir /pulse:us.

Deux clientes choisissent le même créneau de 10 h, à quelques secondes d'écart. Que se passe-t-il ?

La première l'obtient. La seconde voit un message et choisit un autre créneau.

Noté dans US-001, critère « cas limite » : Étant donné que le créneau de 10 h vient d'être pris, lorsque Inès le choisit, alors elle voit « Ce créneau vient d'être réservé » et la liste des créneaux libres.

2 Séance 2 : construire US-001, prendre rendez-vous Environ 3 h

Objectif : une cliente réserve seule, et vous l'avez testé de vos mains. Une seule commande mène l'US de bout en bout ; le détail, commande par commande, reste possible.

Lancer l'US : /pulse:spirc US-001

Objectif : écrire la spec et le plan d'US-001, puis réaliser ses tâches une à une. Environ 2 h 30

/pulse:spirc US-001

Comme US-001 n'a ni spec ni plan, Pulse les écrit d'abord avec vous :

  • La spec fixe ce que vous voulez obtenir : écrans, informations, règles, exemples. Pulse vous montre ce qu'il propose d'ajouter (un message de confirmation, par exemple) et vous gardez ce que vous voulez. Une fois validée, la spec ne bouge plus.
  • Le plan choisit comment construire : où ranger les rendez-vous, quelles protections, quels fichiers, puis 1 à 4 petites tâches que vous pouvez tester chacune en moins de 2 minutes. Avant de vous le montrer, Pulse le fait vérifier par un outil : chaque critère de la user story a sa tâche, chaque test prévu a sa place, les tâches s'enchaînent bien. Le formulaire étant ouvert à tous, le plan reprend les recettes du pack qui freinent les robots et les envois en rafale.

Puis, pour chaque tâche : un assistant la réalise, deux autres la relisent et l'essaient sans l'avoir écrite, vous la testez, et elle est enregistrée. L'animation de la page /pulse:spirc montre ce déroulé et ses arrêts pour vous.

/pulse:spirc US-001

US-001 n'a pas encore de spec : je l'écris avec vous. Ajouts proposés par Pulse : un e-mail de confirmation après la réservation · un rappel des horaires sur la page. Lesquels gardez-vous ?

Le message de confirmation à l'écran suffit pour l'instant.

Spec verrouillée. Le plan : T1 – Voir les prestations et les créneaux libres · T2 – Réserver un créneau et voir la confirmation · T3 – Refuser un créneau déjà pris et un e-mail mal écrit Valider le plan (Recommandé) ?

Valider le plan

J'ai pris les réglages conseillés : je code en coulisse · tests prévus par la pile · envoi : directement sur la version principale. Dites-le si vous préférez autre chose.

Capture à venir : le carnet de route docs/guide/index.md dans l'aperçu Markdown de VS Code, avec les tâches du plan d'US-001 et leur état (à faire, en cours, terminée).
Le tableau des tâches : il se met à jour tout seul à chaque tâche terminée.

Pour le suivre, ouvrez docs/guide/index.md dans l'explorateur, puis Ctrl + Maj + V (Cmd + Maj + V sur Mac).

En cours de route, Pulse vous demande parfois une action à faire vous-même, par exemple appliquer les changements à votre base de développement. Il vous guide pas à pas. Les clés techniques dont l'appli a besoin sont créées et rangées dans .env sans jamais s'afficher.

Tester chaque tâche

Objectif : vérifier vous-même que la tâche fait ce que vous vouliez. 5 à 10 min par tâche

Après la relecture, Pulse vous résume ce qui a été fait, puis vous donne les étapes du test et la commande pour ouvrir l'appli sur votre ordinateur. Tapez cette commande dans le terminal intégré de VS Code (Terminal → Nouveau terminal), puis ouvrez l'adresse indiquée dans votre navigateur. Faites le test pour de bon, comme une cliente pressée : un champ vide, un e-mail mal écrit, un créneau déjà pris.

Relecture : ✅ Validé. 🧪 À vous de tester : 1. Dans le terminal de VS Code, lancez npm run dev, puis ouvrez http://localhost:3000. 2. Choisissez « Coupe femme », mardi 10 h, nom « Inès Martin », e-mail ines.martin@exemple.fr. 3. Le message « Rendez-vous confirmé » s'affiche, et 10 h disparaît des créneaux libres. Le test est-il concluant ?

Oui, tout fonctionne

git commit -m "feat(T2): réserve un créneau et affiche la confirmation"

💡 La notion du jour : la validation côté serveur. (extrait de 5 lignes, expliqué) T2 ✅ terminée · US-001 : 2/3 Continuer avec T3 – Refuser un créneau déjà pris et un e-mail mal écrit ?

Capture à venir : la page de prise de rendez-vous en local, avec les prestations, les créneaux libres et le formulaire rempli de données fictives.
US-001 sur votre ordinateur : la cliente choisit sa prestation et son créneau.
Le test ne marche pas

Répondez « Non, quelque chose ne va pas » et décrivez ce que vous voyez. Pulse le traite comme un problème grave : un assistant corrige, la relecture recommence, puis vous retestez. Après deux essais sans succès, Pulse s'arrête et propose /pulse:get-help.

La page ne s'ouvre pas sur http://localhost:3000

L'appli n'est pas lancée. Ouvrez le terminal intégré de VS Code (Terminal → Nouveau terminal), tapez la commande « lancer en local » que Pulse vous a donnée (npm run dev), attendez que l'adresse s'affiche, puis rechargez la page. Laissez ce terminal ouvert pendant vos tests.

La conversation devient longue et lente

Après trois tâches, Pulse vous le rappelle : repartez d'une conversation neuve (/clear, ou une nouvelle conversation avec Ctrl + Maj + Échap (Cmd + Maj + Échap sur Mac)), puis relancez /pulse:spirc US-001. Il reprend à la bonne tâche grâce aux coches du plan et aux rapports de relecture.

Le même travail, commande par commande

Objectif : garder la main sur chaque étape, si vous le préférez. Facultatif. Un peu plus long

CommandeCe qu'elle fait
/pulse:spec US-001Écrit la spec, puis la verrouille après votre accord.
/pulse:plan US-001Conçoit la construction et la découpe en tâches T1, T2…
/pulse:refine US-001 "…"Change le plan selon vos remarques, après vous avoir montré ce qui change.
/pulse:implement US-001 T1Réalise une tâche et vous l'explique. Son animation montre les étapes d'une tâche, de la réalisation au test.
/pulse:reviewDeux assistants relisent et essaient la tâche ; vous testez ; on corrige.
/pulse:commitEnregistre la version, une tâche par enregistrement.

À tout moment, /pulse:test relance les tests automatiques du projet et explique chaque échec.

Relire avant de publier : la version parallèle

Objectif : travailler sur une copie du projet, et décider vous-même quand elle rejoint la version principale. 5 min de plus par US

Avec le niveau « Jamais programmé », Pulse envoie chaque tâche directement sur la version principale. Si votre page de départ est déjà en ligne, chaque tâche testée part donc aussitôt sur le site. Pour relire d'abord, dites-le quand Pulse annonce ses réglages : « Je préfère une version parallèle ». Pulse range alors les tâches de l'US sur une version parallèle, les envoie sur GitHub et y ouvre une proposition en brouillon. Vercel fournit souvent une adresse de prévisualisation pour essayer cette version sans toucher au site.

J'ai pris les réglages conseillés : je code en coulisse · tests prévus par la pile · envoi : directement sur la version principale. Dites-le si vous préférez autre chose.

Je préfère une version parallèle, pour relire avant de publier.

C'est noté : envoi en version parallèle (feat/us-001-prendre-rendez-vous). Après chaque tâche, j'envoie le travail et je mets à jour la proposition sur GitHub.

Toutes les tâches sont envoyées. Passer la proposition « prête » ? Regardez d'abord l'adresse de prévisualisation. L'acceptation se fait par vous, sur GitHub, avec le bouton « Merge ».

Vous pouvez aussi le faire à la main : /pulse:pr branche US-001 avant de commencer, puis /pulse:pr quand le travail est prêt. Le chemin complet est animé sur la page /pulse:pr.

Capture à venir : la proposition de version parallèle sur GitHub, avec sa description, l'adresse de prévisualisation de Vercel et le bouton « Merge ».
La proposition sur GitHub : vous la relisez, vous testez la prévisualisation, puis vous l'acceptez.

3 Séance 3 : US-002, le carnet du salon 2 à 3 h

Objectif : la coiffeuse se connecte et voit les rendez-vous du jour, et personne d'autre ne les voit. À la fin de cette US, la première version part en ligne.

Construire la connexion et le carnet du jour

Objectif : une page réservée au salon, protégée côté serveur. Environ 2 h

/pulse:spirc US-002

La spec demande votre décision sur les données personnelles : sont-elles toutes nécessaires, et qui a le droit de voir quoi ? Ici : seule l'équipe du salon voit les noms et les e-mails des clientes. Le plan reprend la recette « connexion » du pack (inscription, connexion, déconnexion, pages réservées). Si la question se pose (qui peut créer un compte ?), Pulse vous la pose : c'est votre décision.

Comme US-002 est la dernière user story Indispensable, son plan se termine par deux tâches de plus : les fondations du référencement (le salon veut être trouvé sur Google) et « Mettre en ligne la première version ». Pour celle-ci, Pulse attend toujours votre accord.

🧪 À vous de tester : 1. Ouvrez une fenêtre de navigation privée, puis l'adresse du carnet du jour. 2. Vous arrivez sur la page de connexion, sans voir aucun rendez-vous. 3. Connectez-vous avec le compte du salon : les rendez-vous du jour s'affichent, celui d'Inès Martin à 10 h compris. Le test est-il concluant ?

Oui, tout fonctionne

US-002 : toutes les tâches sont terminées, sauf « Mettre en ligne la première version ». Mettre en ligne maintenant (Recommandé) ?

Capture à venir : le carnet du jour de la coiffeuse, connectée, avec trois rendez-vous fictifs.
US-002 : la page réservée au salon.

Mettre en ligne la première version

Objectif : publier US-001 et US-002, et prouver que le site répond. Environ 30 min

Pulse vérifie d'abord que tout est enregistré, sans clé dans le code, que les tests passent et que l'appli se construit. Avant que le site lise sa base en ligne, il vous guide pour relier Neon à Vercel, une étape à la fois, en vous donnant le nom exact de chaque bouton. Puis il envoie la version, attend la publication et vérifie lui-même que le site répond et reste visible pour Google. La chaîne complète est animée sur la page /pulse:deploy.

La construction s'arrête chez Vercel avec le message « reliez Neon à Vercel »

C'est normal à la première mise en ligne d'un site qui a une base : reliez Neon à Vercel en suivant Pulse, puis relancez la construction avec le bouton Redeploy de Vercel.

La connexion marche en local mais pas en ligne

L'adresse du site déclarée pour la connexion est encore celle de votre ordinateur. En ligne, elle doit être l'adresse du site : Pulse la règle avec vous dans les variables de l'hébergeur, puis relance la mise en ligne.

4 Séance 4 : mettre en ligne pour de vrai 2 à 3 h

Objectif : un site qui se vérifie tout seul avant chaque publication, des clés bien rangées, une sécurité contrôlée. C'est ce qui sépare un prototype d'une appli prête pour de vrais clients.

Les contrôles automatiques : /pulse:cicd

Objectif : qu'une erreur soit signalée par une croix rouge sur GitHub avant d'arriver sur le site. Environ 30 min

/pulse:cicd

Pulse écrit pour GitHub un contrôle qui tourne à chaque envoi et sur chaque proposition de version parallèle : clés absentes du code, chaque scénario prévu avec son test, dépendances sans faille grave connue, règles du code, tests, construction. Il l'essaie d'abord sur votre ordinateur, l'envoie, puis vous montre le premier passage. Il propose ensuite de recevoir chaque semaine les nouvelles versions des dépendances, vérifiées par ce contrôle avant que vous les acceptiez. Voir /pulse:cicd.

Si vous publiez par versions parallèles, protégez aussi la version principale : une proposition la rejoindra seulement si ses contrôles sont au vert.

/pulse:cicd proteger
Capture à venir : l'onglet des contrôles automatiques sur GitHub, avec le premier passage réussi et ses étapes cochées.
Le premier passage des contrôles automatiques, réussi.
Le premier passage affiche une croix rouge

Pulse lit le journal de l'étape en échec, vous l'explique et corrige. Après deux essais sans succès, il s'arrête et propose /pulse:get-help.

Le mode production : /pulse:deploy production

Objectif : préparer le site « pour de vrai » : variables, services, surveillance, retour arrière. Environ 45 min

/pulse:deploy production

Pulse fait vérifier le projet par l'hébergeur avant chaque publication : si un contrôle échoue, l'ancienne version reste en ligne. Il dresse ensuite la liste des variables du site, sans aucune valeur, et envoie celles qui manquent à Vercel, chaque envoi avec votre accord. Il vous explique la différence entre une prévisualisation et la production, vous aide à choisir une seule adresse officielle (votre nom de domaine), à créer une sonde qui vous prévient par e-mail si le site ne répond plus, et vous montre comment revenir à la version précédente. Voir /pulse:deploy.

pulse-aidd secrets inventaire

Vos variables, sans aucune valeur : BETTER_AUTH_SECRET : .env ✅ · Production ✅ · Preview ✅ (Secret) FORMULAIRE_SECRET : .env ✅ · Production ⚠️ absente Je propose de générer FORMULAIRE_SECRET pour Vercel, une valeur pour la production et une pour les prévisualisations, sans l'afficher. Claude Code va vous demander votre accord : c'est un changement de la production.

D'accord.

Envoyée ✅. Elle servira au prochain déploiement : je relance la mise en ligne, puis je vérifie que le site répond.

Capture à venir : la liste des déploiements dans Vercel, avec la production en cours et une prévisualisation de version parallèle.
Chez Vercel : la production, et les prévisualisations des versions parallèles.

L'audit de sécurité : /pulse:security

Objectif : vérifier que seul ce que le serveur bloque est vraiment interdit. Environ 45 min

/pulse:security

Un assistant passe tout le projet au crible de la liste de sécurité Pulse, sans rien modifier. Pulse vous donne un niveau global, explique chaque point bloquant par ce qu'un inconnu pourrait faire, puis déroule avec vous « le test du cambrioleur » : des essais à faire vous-même, un à la fois. Il propose enfin de corriger, en commençant par les points bloquants. Voir /pulse:security.

Niveau : 🟠 · 0 point bloquant · 2 points à surveiller. Test 2 sur 5 : déconnectez-vous, puis ouvrez directement l'adresse du carnet du jour. Que voyez-vous ?

Protégé ✅ : je suis renvoyée vers la connexion.

Test 3 sur 5 : envoyez le formulaire de réservation dix fois de suite, très vite.

Les clés du projet : /pulse:secrets

Objectif : savoir où sont vos clés, savoir les changer, et savoir quoi faire si l'une d'elles est vue. Environ 20 min

/pulse:secrets

L'inventaire liste chaque clé par son nom, avec sa présence dans .env et chez l'hébergeur, sans jamais afficher de valeur. Pulse signale les points à corriger, du plus grave au moins grave, et tient docs/secrets.md à jour. Deux autres actions servent plus tard :

  • /pulse:secrets renouveler BETTER_AUTH_SECRET : la nouvelle clé d'abord, l'ancienne coupée seulement après votre « Ça marche » en production. Aucune coupure.
  • /pulse:secrets fuite : dès qu'une clé a été vue ailleurs que dans .env (dépôt, conversation, capture d'écran, alerte de GitHub). L'ancienne clé est rendue inutilisable tout de suite, puis remplacée.

Le détail est sur la page /pulse:secrets.

/pulse:secrets fuite

On s'en occupe tout de suite. Première chose : rendre l'ancienne clé inutilisable chez le fournisseur. Je vous guide. Quelle clé ? (liste tirée de l'inventaire, ou « Je ne sais pas laquelle »)

5 Séance 5 : US-003, le rappel la veille Environ 2 h

Objectif : ajouter une fonction à un site déjà en ligne, avec toute la routine : version parallèle, contrôles au vert, prévisualisation, puis acceptation par vous.

Construire le rappel par e-mail

Objectif : chaque cliente reçoit un e-mail la veille de son rendez-vous. Environ 1 h 30

/pulse:spirc US-003

Cette fois, demandez une version parallèle dès l'annonce des réglages. La spec pose les vraies questions du métier : à quelle heure partent les rappels, que contient l'e-mail, que se passe-t-il pour un rendez-vous pris le jour même ? Le plan reprend la recette « email » du pack pour l'envoi. Le déclenchement chaque jour n'a pas de recette toute prête : Pulse le conçoit dans le plan et vous le présente avant de construire.

Pour vos tests, Pulse vous guide pour installer Mailpit sur votre ordinateur : il capture tous les e-mails envoyés en local, et rien ne part vers de vraies adresses. Vous lisez les rappels dans votre navigateur, sur http://localhost:8025.

Capture à venir : Mailpit ouvert sur http://localhost:8025, avec le rappel envoyé à une cliente fictive pour son rendez-vous du lendemain.
Le rappel, capturé en local : aucune vraie cliente ne le reçoit.

Envoyer de vrais e-mails en ligne

Objectif : brancher un vrai service d'envoi pour le site en ligne. Environ 20 min

Pour essayer, un compte Gmail créé pour le projet (jamais votre compte personnel) suffit, avec un mot de passe d'application. Pour un vrai lancement, Pulse conseille le service d'envoi d'un fournisseur, avec le nom de domaine du salon. La valeur réelle part en production ; les prévisualisations reçoivent une valeur de test.

Accepter la proposition

Objectif : publier US-003 quand tout est au vert. Environ 10 min

Sur GitHub, la proposition d'US-003 montre ses contrôles automatiques et l'adresse de prévisualisation. Contrôles au vert, prévisualisation testée : cliquez « Merge ». Le site se met à jour tout seul. Revenez ensuite dans Claude Code : Pulse récupère la version principale à jour et retire la version parallèle devenue inutile.

Et l'acompte, US-004 ?

US-004 est Optionnelle : elle attend son tour. Le jour où vous la lancez avec /pulse:spirc US-004, la recette « paiement » du pack l'installe en mode test : aucune vraie carte, aucun vrai argent. Passer au paiement réel reste votre décision, au moment de la mise en ligne : compte du service de paiement activé, conditions de vente, mentions légales.

6 Séance 6 : être trouvé Environ 2 h, puis tous les 28 jours

Objectif : que les gens qui cherchent un coiffeur dans le quartier trouvent le salon, et que la page s'ouvre vite sur leur téléphone.

Les textes des pages : /pulse:rediger

Objectif : une page d'accueil qui parle aux clientes, avec des faits vrais. Environ 30 min

/pulse:rediger accueil

La première fois, Pulse fixe la voix du site avec vous : vous ou tu, trois traits de ton, la promesse du salon en une phrase. Puis il vous interroge sur la page : pour qui, quel bouton, quels faits (adresse, horaires, prestations). Un fait inconnu reste marqué « [à compléter] ». Un contrôle vérifie que le texte ne sonne pas écrit par une IA. Vous choisissez ensuite de le garder de côté ou de l'intégrer à la page. Voir /pulse:rediger.

Le référencement : /pulse:seo

Objectif : vérifier que Google peut entrer, lire et garder vos pages. Environ 30 min

/pulse:seo

Les fondations ont été posées dans le plan d'US-002. L'audit lit maintenant le site servi, comme un robot, et range ses constats en quatre questions : Google peut-il venir, garder la page, comment se présente-t-elle, mérite-t-elle d'être choisie ? Puis deux actions utiles : /pulse:seo textes, où vous choisissez entre deux titres et deux descriptions par page, et /pulse:seo ia, où vous décidez ce que les assistants IA peuvent faire du site. Voir /pulse:seo.

La vitesse : /pulse:perf

Objectif : voir ce que vit une cliente sur téléphone, puis l'améliorer, chiffres à l'appui. Environ 30 min

/pulse:perf

Pulse mesure 3 à 5 pages comme sur un téléphone moyen en 4G, trois fois chacune, et garde la valeur du milieu. Sans clé Google, il mesure sur votre ordinateur : c'est très bien pour commencer. Il donne une phrase de verdict par page et trois priorités au plus. Ensuite, /pulse:perf corriger applique les priorités choisies et annonce seulement ce qui va vraiment mieux ; /pulse:perf suivre propose la mesure chez les vrais visiteurs et une vérification chaque semaine. Voir /pulse:perf.

Capture à venir : le rapport de vitesse de /pulse:perf, avec le verdict par page, la source de la mesure et les trois priorités.
Le rapport de vitesse : un verdict par page et trois priorités au plus.

Prévenir Google : /pulse:seo lancer et /pulse:search-console relier

Objectif : prouver à Google (et à Bing) que le site est à vous, et déclarer son plan. Une seule fois. Environ 30 min

/pulse:seo lancer
/pulse:search-console relier

Ces deux commandes demandent le site sur son adresse définitive. Vous agissez sur Search Console avec votre compte Google, guidée une étape à la fois : ajouter la propriété, la faire vérifier, déclarer le plan du site, l'importer dans Bing. Pour que Pulse lise vos chiffres, le plus simple est d'exporter un fichier depuis Search Console quand vous voulez un rapport : aucun secret, rien à installer. Voir /pulse:search-console.

/pulse:search-console relier

Search Console, c'est le tableau de bord que Google vous tend : ce qu'il a trouvé sur votre site, et ce que les gens ont tapé pour vous trouver. Votre site est sur votre propre nom de domaine : on le vérifie par un enregistrement chez le gestionnaire du domaine. Ouvrez search.google.com/search-console et choisissez « Ajouter une propriété ».

Premières données dans 2 à 3 jours. Premier vrai rapport dans 28 jours, avec /pulse:search-console lire.

Capture à venir : Search Console, page « Sitemaps », avec le plan du site déclaré et le statut « Réussi ».
Le plan du site déclaré à Google.

7 La liste « prête pour de vrais clients »

Avant d'annoncer le site à vos clientes, cochez chaque ligne. Chacune renvoie à l'étape qui la règle.

  • US-001 et US-002 sont terminées, et vous les avez testées vous-même, en local puis en ligne (séance 2, séance 3).
  • Les contrôles automatiques passent au vert à chaque envoi (/pulse:cicd).
  • Le site vit sur son adresse définitive, avec une offre d'hébergement qui autorise un usage commercial.
  • Le mode production est en place : variables en ligne, sonde de disponibilité, retour arrière écrit (/pulse:deploy production).
  • L'audit de sécurité ne montre aucun point bloquant, et vous avez fait le test du cambrioleur (/pulse:security).
  • L'inventaire des clés est à jour dans docs/secrets.md (/pulse:secrets).
  • Les e-mails partent par un vrai service d'envoi, au nom de domaine du salon, et seulement depuis la production (séance 5).
  • Une page dit quelles données vous gardez (nom, e-mail), pourquoi et combien de temps. Vous pouvez la faire écrire avec /pulse:rediger ; relisez chaque fait.
  • Search Console est relié, et la vitesse de l'accueil est mesurée (séance 6).

8 L'entretien régulier 15 min par semaine

Objectif : garder l'appli à jour, sûre et trouvable, sans y penser. Un site en ligne vit : quelques gestes réguliers suffisent.

QuandQuoi
À chaque reprise/pulse:status : où vous en êtes, et la prochaine étape conseillée.
Chaque semaineMettre à jour Pulse (ci-dessous). Accepter sur GitHub les propositions de nouvelles versions des dépendances, une fois leurs contrôles au vert.
Tous les 28 jours/pulse:search-console suivre : ce que Google voit, comparé à la période d'avant, et 3 actions.
Après 1 mois, puis 3 mois/pulse:seo audit, au rendez-vous noté par Pulse.
Après chaque groupe de user stories/pulse:security, pour un nouvel audit.
Chaque année, ou au départ d'une personne/pulse:secrets renouveler <NOM>, clé par clé.
Quand vous apprenez quelque chose/pulse:memory retenir "…" : l'IA s'en souviendra. /pulse:memory compacter quand Pulse signale que la mémoire est presque pleine.
Une nouvelle idée/pulse:spirc US-003 "ajouter…" ou /pulse:spec "…" : elle devient une tâche ou une nouvelle user story, et suit le même chemin.

Pour mettre à jour Pulse, ouvrez le terminal intégré de VS Code (Terminal → Nouveau terminal) et tapez les trois lignes ci-dessous. Fermez ensuite VS Code et rouvrez-le : la nouvelle version se charge au démarrage.

claude plugin marketplace update pulseia
claude plugin update pulse@pulseia
claude plugin update pulse-next@pulseia

La fenêtre /plugins du panneau Claude Code montre les plugins installés et rafraîchit le catalogue (onglet Marketplaces) ; le terminal reste le chemin documenté pour mettre à jour les plugins eux-mêmes.

Après une mise à jour, /pulse:init repère ce qui a changé et propose de mettre votre projet à niveau, sans rien perdre.

/pulse:status

📍 Projet : salon-lila (pile : Next.js, Neon, Vercel) Première version (US Indispensables) : toutes les tâches terminées En ligne : https://www.salon-lila.fr Référencement : relié · prochain rapport conseillé dans 6 jours Contrôles : ✅ automatiques à chaque envoi (GitHub) · dernier passage ✅ ➡️ Prochaine étape conseillée : /pulse:spirc US-004 : l'acompte en ligne, dernière user story du parcours.

Capture à venir : l'écran de /pulse:status d'un projet en ligne, avec les lignes « En ligne », « Référencement » et « Contrôles ».
Le point de la semaine, en quelques lignes.

9 Si quelque chose ne va pas

Rien n'est perdu : chaque version est enregistrée, et chaque situation a sa commande.

Un bouton ne marche plus, ou un message d'erreur s'affiche

Lancez /pulse:fix "le bouton Réserver ne fait rien" en décrivant ce que vous voyez. Pulse cherche la vraie cause avant de corriger, puis vous explique comment l'éviter.

Je veux revenir en arrière

/pulse:annuler abandonne les changements en cours, annule une tâche enregistrée ou revient à une version précédente. Il vous montre un aperçu et attend votre accord ; tout se récupère.

La nouvelle version en ligne est cassée

Suivez la section « Retour arrière » de docs/technical.md : chez Vercel, la version précédente revient en ligne en quelques clics. Corrigez ensuite avec /pulse:fix, puis rétablissez la mise en ligne automatique comme indiqué dans cette même section.

Les contrôles automatiques sont rouges

/pulse:status le signale en premier. Lancez /pulse:fix avec le message de l'étape en échec ; pour des erreurs rouges dans le code, /pulse:auto-fix.

Une clé a été vue

/pulse:secrets fuite, tout de suite : la clé est d'abord rendue inutilisable chez le fournisseur, puis remplacée.

Je suis bloquée et Pulse n'y arrive pas

/pulse:get-help prépare une demande d'aide claire, sans vos secrets, à transmettre à une personne qui programme, avec les bons endroits où la poser.

Retrouvez toutes les commandes dans la liste des commandes, et l'autre parcours dans les tutoriels.