Ce portfolio

Un site statique simple en apparence, mais plein de règles invisibles. Pour qu'un agent IA m'aide sans rien casser, je lui donne un cadre écrit, je valide son plan et je relis tout ce qu'il produit.

2026 Projet personnel Claude Code

Le besoin

Ce portfolio est écrit en HTML, CSS et JavaScript, sans framework ni étape de build. Simple en apparence, il cache pourtant des règles qu'on ne voit pas en lisant une seule page :

Un agent IA qui découvre le projet voit le code, mais pas ces règles. Sans cadre, il peut produire un changement qui fonctionne en apparence et casse la production.

La solution

Cadrer l'agent plutôt que répéter les mêmes consignes à chaque demande. J'utilise Claude Code, un agent qui travaille directement dans le projet (fichiers, terminal, Git), avec deux outils.

Un fichier CLAUDE.md, lu automatiquement au début de chaque session : architecture, conventions, pièges connus. Quand une nouvelle règle est découverte, elle y est écrite une fois pour toutes.

CLAUDE.md — extraits### Extensionless URLs (spans 3 places)

Production URLs have no `.html` extension:
1. `.htaccess` rewrites `/foo` → `/foo.html` when the file exists.
2. `js/navigation-projets.js` and the inline script in `index.html`
   both detect production (hostname not `127.0.0.1`/`localhost`)
   and strip `.html` from every internal `<a href>` at runtime.
3. Locally, `.html` is kept so Live Server works.

Always write internal links **with** `.html` in source;
the stripping happens at runtime.

[…]

Content rule: only write what Riyad can explain in an interview.
Never invent a motivation, a technical choice or a difficulty —
ask him, or check the project's code/commits.

Un skill, c'est-à-dire une procédure réutilisable. Avec /pushage-portfolio, l'agent met à jour le CLAUDE.md si besoin, fait un commit d'une ligne et pousse : la documentation suit le code à chaque fois. Il me demande ensuite s'il doit mettre le site en ligne, et ne le fait qu'avec mon accord.

.claude/skills/pushage-portfolio/SKILL.md (adresse du serveur masquée)update claude MD si pas déjà fait. ensuite, tu feras un commit d'une seule ligne (sans description) et tu pusheras.
après le push, demande-moi si tu dois mettre à jour le site en ligne.
si je réponds oui, lance `ssh <serveur> 'cd /var/www/portfolio && git pull --ff-only'`,
puis vérifie que https://riyadayoub.fr répond en 200
et que https://riyadayoub.fr/.git/HEAD renvoie 404.

Mon workflow

  1. Le cadre est posé : le CLAUDE.md décrit l'architecture et les pièges du projet.
  2. Je décris le besoin, pas la solution : ce que je veux obtenir, et pourquoi.
  3. L'agent analyse et propose un plan : rien n'est modifié tant que je ne l'ai pas validé.
  4. Je relis le diff, fichier par fichier, et je fais corriger ce qui ne va pas.
  5. Commit avec /pushage-portfolio, qui met aussi le CLAUDE.md à jour, puis mise en ligne si je la valide.

Mes choix

Un fichier de contexte plutôt que des consignes répétées

Les règles du projet sont écrites une seule fois, versionnées avec le code, et lues à chaque session. Une erreur évitée une fois l'est pour de bon.

réexpliquer le projet dans chaque demande.

Un skill pour les tâches répétées

Commiter et pousser revient à chaque session : la procédure est écrite une fois et s'appelle d'une commande, toujours de la même façon.

refaire la demande à la main, différemment à chaque fois.

Un plan validé avant toute modification

Pour un changement qui touche plusieurs fichiers, l'agent explore le projet en lecture seule et rédige un plan. Je le relis, je le corrige, et seulement ensuite il modifie le code.

laisser l'agent modifier directement et découvrir les dégâts après.

Un exemple concret : cette refonte

Un director engineering spécialisé en IA m'a fait un retour : mon site présentait des projets et des technologies, mais pas ma réflexion (le besoin, les choix, les limites). Voici comment j'ai travaillé avec l'agent pour corriger ça :

  1. Je lui ai donné ce retour. Il a analysé les pages projet et proposé de les transformer en études de cas.
  2. Avant d'écrire, il m'a posé des questions sur ma démarche plutôt que de l'inventer : mon rôle, mes choix, mes difficultés.
  3. Pour ce que je ne pouvais pas détailler de mémoire, il est allé vérifier dans le code et l'historique Git des projets.
  4. J'ai validé le plan, puis relu chaque modification avant de la publier.

Ces vérifications ont fait remonter des problèmes que je n'avais pas vus :

La règle que j'en tire, désormais écrite dans le CLAUDE.md : je ne montre que ce que je sais expliquer.

Ce que je ne délègue pas

Ce que j'améliorerais ensuite

Ce que j'ai appris

Le contexte fait la qualité
Un agent n'est utile que s'il connaît les règles du projet. Le temps passé à écrire un bon fichier de contexte est rattrapé dès la session suivante.
Relire, c'est mon travail
Un code qui « marche » n'est pas forcément correct. Relire chaque diff m'oblige à comprendre ce qui change, et pourquoi.
Savoir dire non à l'agent
Corriger un plan, refuser une proposition ou demander une autre approche fait partie du travail : c'est moi qui pilote.

Outils

Claude Code CLAUDE.md Skills Plan mode Git HTML / CSS / JavaScript