Compétence Site Web : Procédure
Cette compétence crée un site web client à partir d'un seul brief. Chaque client reçoit un plan approuvé, une base de code et un script de vérification. Le plan approuvé contrôle les routes, les titres, les descriptions, les en-têtes et le sitemap.
Dans ce document, <skill-dir> est le dossier qui contient ce fichier, et <client-folder> est le dossier pour ce client. Si l'utilisateur n'a pas de convention de dossier, utilisez clients/<client>/.
Prérequis
- Lisez les notes pour ce client, si elles existent. Donnez à l'utilisateur les règles qui s'appliquent, en 2 ou 3 lignes.
- Trouvez le brief, le profil d'entreprise, le logo et les photos.
- Assurez-vous que Node.js, Python 3 et
rsyncsont disponibles.
ATTENTION : NE METTEZ PAS UN FAIT SUR LE SITE SI LE BRIEF NE LE FOURNIT PAS. UN CERTIFICAT, NOM DE CLIENT, CHIFFRE OU TÉMOIGNAGE INVENTÉ EST UN RISQUE JURIDIQUE ET DE CONFIANCE POUR LE CLIENT.
Phase 1 : Faits
- Lisez
references/brief-intake.md. - Lisez chaque fichier source en entier.
- Écrivez
<client-folder>/site-brief/facts.md. - Explorez le site actuel si le client en a un. Enregistrez chaque URL pour la carte de redirection.
- Écrivez
<client-folder>/site-brief/questions-for-client.mdsi des faits sont manquants.
PORTE 1. Montrez à l'utilisateur le résumé de la fiche de faits et la liste des lacunes. Arrêtez-vous jusqu'à ce que l'utilisateur réponde. Continuez avec les lacunes uniquement si l'utilisateur est d'accord. Une page qui nécessite un fait manquant reste en dehors du plan, ou reste sans ce fait.
Phase 2 : Plan du site
- Lisez
references/site-plan.md. - Effectuez la recherche de mots-clés pour le marché du client.
- Copiez
<skill-dir>/assets/site-plan.template.jsonvers<client-folder>/site-brief/site-plan.json. - Remplissez une entrée pour chaque page.
- Comparez le plan avec la proposition, si elle existe. Chaque élément du périmètre doit avoir une page ou une fonctionnalité. Un formulaire dans le périmètre nécessite un hébergement
server, ou un remplacement convenu. - Exécutez la porte du plan. Corrigez chaque ÉCHEC.
python3 <skill-dir>/scripts/site_gate.py plan <client-folder>/site-brief/site-plan.json
PORTE 2. Montrez à l'utilisateur un tableau avec ces colonnes : URL, mot-clé principal, volume mensuel, titre. Indiquez également le choix d'hébergement. Arrêtez-vous jusqu'à ce que l'utilisateur approuve. Ensuite, écrivez l'approbation dans le plan sous les champs "approved_by" et "approved_on". La porte de construction échoue sans ces champs.
Phase 3 : Échafaudage
- Sélectionnez le dossier
<client-folder>/website/. - Exécutez le script d'échafaudage. Le script fonctionne avec des espaces et des majuscules dans le chemin.
bash <skill-dir>/scripts/scaffold.sh "<client-folder>/website" static
- Utilisez
serverà la place destaticuniquement si le plan nécessite une fonctionnalité de serveur (voirreferences/launch.md). - Copiez le
site-plan.jsonapprouvé verssrc/lib/site-plan.json. - Remplacez chaque valeur
__FILLdanssrc/lib/site.tspar une valeur de la fiche de faits. - Lisez les guides pour les métadonnées, les images, les polices et les exports statiques dans
node_modules/next/dist/docs/01-app/.
REMARQUE : Next.js change entre les versions majeures. Les guides dans node_modules correspondent à la version installée. Vos données d'entraînement ne le font pas.
Phase 4 : Direction du design
- Lisez
references/design-and-copy.md. - Créez les jetons de couleur et de police à partir du logo. Placez-les dans
globals.css. - Créez
public/logo.webp,public/og.webp(1200 x 630 pixels) etsrc/app/icon.pngà partir du logo. - Construisez l'en-tête, le pied de page et la page d'accueil uniquement.
- Démarrez l'aperçu. Utilisez
npx serve out -l 3210pour un site statique, après une construction. Utiliseznpm run devpour un site serveur. - Ouvrez
http://127.0.0.1:3210dans un navigateur. Vérifiez la page à 375, 768 et 1280 pixels.
REMARQUE : Un navigateur intégré peut retourner HTTP 431 pour localhost. L'adresse 127.0.0.1 n'a pas ce défaut.
PORTE 3. Montrez à l'utilisateur la page d'accueil. Arrêtez-vous jusqu'à ce que l'utilisateur approuve le design. Toutes les autres pages utilisent ce design.
ATTENTION : NE CONSTRUISEZ PAS LES AUTRES PAGES AVANT LA PORTE 3. UN CHANGEMENT DE DESIGN TARDIF PROVOQUE UNE MIGRATION DE TOUTES LES PAGES.
Phase 5 : Pages
- Lisez
references/seo-build-spec.md. - Mettez le contenu dans des fichiers de données typés dans
src/lib/(par exempleservices.ts). Gardez les fichiers de page légers. - Utilisez une route dynamique avec
generateStaticParamspour chaque type de page répété. - Obtenez chaque titre, description et H1 du plan avec
pageMetadata()etgetPage(). - Rédigez le texte pour l'acheteur, avec la voix du client. Utilisez uniquement les faits de
facts.md. - Ajoutez des liens internes comme le spécifie le document.
- Construisez le site.
npm run build
- Exécutez la porte de construction. Corrigez chaque ÉCHEC à sa cause. Ne modifiez pas la porte pour obtenir une réussite.
python3 <skill-dir>/scripts/site_gate.py build <client-folder>/website
- Exécutez
npx tsc --noEmitetnpm run lint.
Phase 6 : Révision
- Vérifiez chaque type de page dans le navigateur à 375, 768 et 1280 pixels.
- Vérifiez chaque CTA : téléphone, WhatsApp, email et formulaire.
- Si l'utilisateur le demande, préparez le texte des pages pour le client dans un seul document. Suivez
references/design-and-copy.md. - Déployez un aperçu uniquement lorsque l'utilisateur vous le demande. Un aperçu de construction n'est pas indexable.
PORTE 4. Donnez à l'utilisateur l'URL d'aperçu et le résultat de la porte. Arrêtez-vous jusqu'à ce que l'utilisateur approuve le lancement.
Phase 7 : Lancement
- Lisez
references/launch.md. - Construisez avec
SITE_INDEXABLE=1. - Exécutez la porte de construction avec
--release. La porte doit réussir. - Effectuez les étapes de lancement dans
references/launch.md.
ATTENTION : NE CONNECTEZ PAS LE DOMAINE OU NE POUSSEZ PAS EN PRODUCTION SANS UNE APPROBATION DANS LA SESSION EN COURS. LE DOMAINE EN DIRECT AFFECTE L'ACTIVITÉ DU CLIENT.
Clôture
- Donnez à l'utilisateur une liste des actions restantes pour le client.
- Enregistrez les chemins, les décisions et les leçons dans les notes pour ce client.
- Dites à l'utilisateur que le site est prêt pour le travail de contenu SEO.
Règles fixes
| Règle | Raison |
|---|---|
| Une URL par service | Un site d'une seule page ne donne pas de service d'URL qui peut se classer |
| Un mot-clé principal par URL | Deux pages sur un même mot-clé sont en concurrence |
| Le plan est la seule source pour les titres et les routes | La porte compare le HTML construit avec le plan |
| Pas de compteurs de statistiques animés | Le HTML affiche 0 avant l'exécution du script |
| Les portes sont des scripts | Chaque défaut que les scripts attrapent a d'abord échappé à une personne |
Références
| Fichier | Lisez-le dans |
|---|---|
references/brief-intake.md | Phase 1 |
references/site-plan.md | Phase 2 |
references/design-and-copy.md | Phase 4 et Phase 6 |
references/seo-build-spec.md | Phase 5 |
references/launch.md | Phase 2 (hébergement) et Phase 7 |