From 9abe34f8a764a3dd96a123e6ef3c928a8e304422 Mon Sep 17 00:00:00 2001
From: unknown
Date: Mon, 11 May 2026 10:45:19 +0200
Subject: [PATCH 1/7] =?UTF-8?q?Script=20audit=20des=20ancres=20internes=20?=
=?UTF-8?q?sur=20tout=20le=20site=20avec=20fichier=20de=20revision=20cr?=
=?UTF-8?q?=C3=A9=C3=A9=20par=20ce=20m=C3=AAme=20script.=20Il=20y=20a=20?=
=?UTF-8?q?=C3=A9galement=20un=20lexique=20permettant=20d'augmenter=20la?=
=?UTF-8?q?=20pr=C3=A9cision=20des=20retours=20ainsi=20que=20de=20d=C3=A9f?=
=?UTF-8?q?inir=20les=20objectifs=20en=20pourcentage?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.docs/reference/anchor-lexicon.md | 153 +
.docs/reference/anchor-revision-plan.md | 3338 +++++++++++++++++
...-assistant-architecture-symfony-legacy.mdx | 2 +-
...s-invocables-symfony-attributs-console.mdx | 2 +-
...urite-informatique-en-toute-simplicite.mdx | 2 +-
...n-quels-sont-les-criteres-quel-procede.mdx | 2 +-
.../blog/core-team-organisation-projet.mdx | 2 +-
...se-contre-la-montre-pour-sortir-un-mvp.mdx | 2 +-
...de-de-migration-dans-un-projet-symfony.mdx | 2 +-
...pour-monter-en-competences-sur-symfony.mdx | 2 +-
...ifications-symfony-twig-symfony-sylius.mdx | 2 +-
...architecture-hexagonale-retour-mission.mdx | 2 +-
...ony-le-guide-ultime-pour-les-debutants.mdx | 2 +-
content/blog/symfony-pour-les-moldus.mdx | 2 +-
package-lock.json | 185 -
scripts/audit-anchor-diversity.ts | 558 +++
src/app/agence-symfony-france/page.tsx | 2 +-
.../maintenance-applicative-symfony/page.tsx | 2 +-
src/app/notre-expertise/page.tsx | 4 +-
src/app/secteur/application-metier/page.tsx | 2 +-
src/app/secteur/migration-legacy/page.tsx | 2 +-
src/components/seo/GonePage.tsx | 2 +-
22 files changed, 4068 insertions(+), 204 deletions(-)
create mode 100644 .docs/reference/anchor-lexicon.md
create mode 100644 .docs/reference/anchor-revision-plan.md
create mode 100644 scripts/audit-anchor-diversity.ts
diff --git a/.docs/reference/anchor-lexicon.md b/.docs/reference/anchor-lexicon.md
new file mode 100644
index 00000000..412fff41
--- /dev/null
+++ b/.docs/reference/anchor-lexicon.md
@@ -0,0 +1,153 @@
+# Lexique des ancres
+
+> Seuil d'alerte : > 60% exact match sur une même URL
+> Ce fichier est lu directement par `scripts/audit-anchor-diversity.ts`
+
+### Objectif pour script
+> targets: exactMatch=30 partial=30 semantic=40
+
+---
+
+## `/audit-symfony-gratuit`
+
+### Exact match
+
+- audit symfony gratuit
+- audit gratuit symfony
+
+### Partial
+
+- notre audit symfony de 30 minutes
+- l'audit symfony offert
+- bénéficier d'un audit symfony sans frais
+- profitez de l'audit symfony gratuit
+- demander votre audit symfony gratuit
+
+### Variations sémantiques
+
+- diagnostic technique symfony
+- bilan de votre application symfony
+- état des lieux symfony
+- analyse de votre projet symfony
+- revue technique symfony
+- examen de votre code symfony
+- audit de code symfony
+- contrôle qualité symfony
+- inspection symfony gratuite
+- évaluation de votre app symfony
+
+---
+
+## `/developpement-php`
+
+### Exact match
+
+- développement php
+- developpement php
+
+### Partial
+
+- notre offre de développement php
+- confier votre développement php
+- solutions de développement php sur mesure
+- projet de développement php
+
+### Variations sémantiques
+
+- expertise php
+- réalisation d'application php
+- prestation php
+- développeur php senior
+- solution web php
+- application php métier
+- votre projet php
+- ingénierie php
+- code php maintenable
+- architecture php robuste
+
+---
+
+## `/agence-symfony-france`
+
+### Exact match
+
+- agence symfony france
+- agence symfony en france
+
+### Partial
+
+- notre agence symfony basée en france
+- faire appel à une agence symfony française
+- agence spécialisée symfony en france
+
+### Variations sémantiques
+
+- experts symfony
+- prestataire symfony
+- spécialistes symfony
+- équipe symfony dédiée
+- cabinet symfony
+- développeurs symfony expérimentés
+- partenaire symfony
+- studio symfony
+- consultants symfony
+
+---
+
+## `/contact`
+
+### Exact match
+
+- nous contacter
+- contactez-nous
+- contactez nous
+- contact
+
+### Partial
+
+- prendre contact avec notre équipe
+- contacter un expert symfony
+- envoyer votre demande
+
+### Variations sémantiques
+
+- prendre rendez-vous
+- discuter de votre projet
+- parler de votre besoin
+- échanger sur votre projet
+- obtenir un devis
+- demander une estimation
+- poser votre question
+- soumettre votre projet
+- démarrer votre projet
+- en savoir plus sur nos services
+
+---
+
+## `/audit-code-php`
+
+### Exact match
+
+- audit de code php
+- audit php
+- audit code php
+
+### Partial
+
+- notre audit de code php
+- réaliser un audit php
+- demander un audit de code php
+- audit php de votre application
+
+### Variations sémantiques
+
+- diagnostic php
+- analyse de code php
+- revue de code php
+- bilan de votre code php
+- état des lieux php
+- contrôle qualité php
+- inspection de code php
+- évaluation technique php
+- analyse qualité php
+- revue d'architecture php
\ No newline at end of file
diff --git a/.docs/reference/anchor-revision-plan.md b/.docs/reference/anchor-revision-plan.md
new file mode 100644
index 00000000..2ffe3c4f
--- /dev/null
+++ b/.docs/reference/anchor-revision-plan.md
@@ -0,0 +1,3338 @@
+# Plan de révision des ancres — 2026-05-05
+
+> 1 page(s) en alerte sur 142 auditées.
+
+## Acceptance criteria
+
+- [ ] Script d'audit opérationnel
+- [ ] Rapport initial produit
+- [ ] Aucune page hub au-dessus du seuil après révision
+- [ ] Lexique à jour (`docs/anchor-lexicon.md`)
+
+---
+
+## Détail par page
+
+## ⚠️ Pages en alerte
+
+### `/plan-du-site` ⚠️
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **100%** · Partiel : **0%** · Sémantique : **0%** · Total : 1
+*Après correction → Exact match : **0%** · Partiel : **0%** · Sémantique : **100%***
+> 🔧 Actions : 1 exact → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\components\layout\Footer.tsx:164` | Plan du site | — |
+
+---
+
+## Pages OK
+
+### `/accompagnement-et-conseil` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **38%** · Partiel : **31%** · Sémantique : **31%** · Total : 13
+*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
+> 🔧 Actions : 1 exact → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:456` | expertise en accompagnement et conseil | — |
+| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:474` | Accompagnement et Conseil Audit technique, formation Symfony et coaching agile pour structurer vos projets et monter en compétences. | — |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:662` | Accompagnement et Conseil Audit technique, formation Symfony et coaching agile pour structurer vos projets et monter en compétences. | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:429` | Accompagnement et Conseil Coaching technique, formation Symfony et audit de code pour accompagner vos équipes dans leur montée en compétences. | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:224` | Aide à la prise de décision stratégique | — |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:103` | appui stratégique | — |
+| 🔵 Exact | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:80` | accompagnement et conseil | — |
+| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:101` | accompagnement et conseil | — |
+| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:75` | pilotage stratégique | — |
+| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:122` | accompagnement et conseil | — |
+| 🔵 Exact | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:35` | accompagnement et conseil | — |
+| 🔵 Exact | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:13` | accompagnement et conseil | — |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:82` | expertise stratégique | — |
+
+---
+
+### `/agence-symfony-france` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **10%** · Partiel : **70%** · Sémantique : **20%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:223` | Prestataire Symfony en France | — |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:171` | agence 100 % spécialisée Symfony | — |
+| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:244` | agence de développement Symfony | — |
+| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:67` | France | — |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:20` | agence Symfony | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:20` | agence Symfony spécialisée | — |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:23` | agence spécialisée Symfony | — |
+| 🔵 Exact | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:11` | agence Symfony en France | — |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:84` | prestataire Symfony en France | — |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:18` | agence spécialisée Symfony | — |
+
+---
+
+### `/agence-symfony-lille` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **86%** · Sémantique : **14%** · Total : 14
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:363` | agence Symfony à Lille | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:391` | Lille - Siège social | — |
+| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:241` | agence Symfony à Lille | — |
+| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:332` | agence Symfony à Lille | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:222` | Agence Symfony à Lille | — |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:458` | agence Symfony à Lille | — |
+| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:284` | spécialisée Symfony | — |
+| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:51` | agence Symfony à Lille | — |
+| 🟡 Partiel | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:24` | agence Symfony à Lille | — |
+| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:18` | agence Symfony à Lille | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | agence Symfony à Lille | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:27` | notre agence Symfony à Lille | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:63` | agence Symfony lilloise | — |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:31` | agence Symfony à Lille | — |
+
+---
+
+### `/agence-symfony-lyon` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:187` | Lyon | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:415` | Lyon - Auvergne-Rhône-Alpes | — |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:59` | Lyon | — |
+
+---
+
+### `/agence-symfony-nantes` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:191` | Nantes | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:427` | Nantes - Pays de la Loire | — |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:63` | Nantes | — |
+
+---
+
+### `/agence-symfony-paris` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:183` | Paris | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:403` | Paris - Île-de-France | — |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:55` | Paris | — |
+
+---
+
+### `/api-nodejs-nestjs` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\developpement-nodejs\page.tsx:316` | API avec NestJS | — |
+| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:77` | API NestJS | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:46` | NestJS | — |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:90` | developpement API avec NestJS | — |
+
+---
+
+### `/api-sur-mesure-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **7%** · Partiel : **11%** · Sémantique : **81%** · Total : 27
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
+> 🔧 Actions : 3 partiel → exact · 3 sémantique → exact · 8 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:470` | API REST et GraphQL | — |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:294` | développement d'API sur mesure | — |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:529` | API sur mesure | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:514` | API REST et GraphQL avec API Platform | — |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:336` | développement d'API sur mesure avec Symfony | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:519` | conception d'API sur mesure avec API Platform | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:501` | API Platform | — |
+| ✅ Sémantique | `src\app\api-nodejs-nestjs\page.tsx:400` | API avec Symfony et API Platform | — |
+| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:205` | APIs Symfony | — |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:211` | APIs Symfony | — |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:338` | API Symfony | — |
+| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:205` | APIs Symfony | — |
+| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:321` | API Platform | — |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:280` | API Platform pour les API REST | — |
+| ✅ Sémantique | `src\app\formation-symfony-entreprise\page.tsx:344` | développement d'API avec Symfony | — |
+| 🔵 Exact | `src\app\integration-elasticsearch-symfony\page.tsx:260` | API sur mesure Symfony | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:194` | API sur mesure Symfony | — |
+| ✅ Sémantique | `src\app\page.tsx:84` | conception d'API sur mesure avec API Platform | — |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:183` | API sur mesure | — |
+| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:270` | expertise API sur mesure | — |
+| ✅ Sémantique | `src\app\secteur\saas\page.tsx:190` | API sur mesure | — |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:108` | développement d'API sur mesure avec Symfony | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:113` | API sur mesure avec Symfony | — |
+| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:250` | architecture asynchrone Symfony | — |
+| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:17` | developpement d'API Symfony | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:52` | API Platform | — |
+| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | API Symfony événementielles | — |
+
+---
+
+### `/architecture-hexagonale-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **18%** · Partiel : **71%** · Sémantique : **11%** · Total : 28
+*Après correction → Exact match : **29%** · Partiel : **32%** · Sémantique : **39%***
+> 🔧 Actions : 3 partiel → exact · 8 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:316` | architecture hexagonale avec Symfony | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:536` | architectures hexagonales | — |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:347` | architecture hexagonale | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:382` | Architecture hexagonale → | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:184` | Architecture hexagonale Symfony | — |
+| ✅ Sémantique | `src\app\page.tsx:73` | architecture modulaire | — |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:385` | architecture hexagonale | — |
+| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:285` | architecture hexagonale | — |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:186` | architecture hexagonale | — |
+| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:274` | architecture hexagonale | — |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:306` | architecture hexagonale | — |
+| 🟡 Partiel | `src\app\secteur\renfort-equipe\page.tsx:180` | architecture hexagonale | — |
+| 🟡 Partiel | `src\app\secteur\saas\page.tsx:182` | architecture hexagonale | — |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:311` | architecture | — |
+| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:44` | architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:43` | architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:77` | architecture hexagonale | — |
+| 🔵 Exact | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:394` | architecture hexagonale Symfony | — |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:69` | architecture découplée | — |
+| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:268` | architecture hexagonale Symfony | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:67` | architecture hexagonale avec Symfony | — |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:87` | architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:35` | architecture hexagonale | — |
+| 🔵 Exact | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:106` | architecture hexagonale Symfony | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:53` | architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:42` | architecture hexagonale | — |
+| 🔵 Exact | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | architecture hexagonale Symfony | — |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:82` | architecture hexagonale | — |
+
+---
+
+### `/article/7-bonnes-raisons-de-rejoindre-efficience-it` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **50%** · Partiel : **50%** · Sémantique : **0%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 exact → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\la-team\page.tsx:212` | 7 bonnes raisons de rejoindre Efficience IT | — |
+| 🟡 Partiel | `src\components\seo\GonePage.tsx:35` | 7 raisons de choisir Efficience IT | — |
+
+---
+
+### `/article/ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:345` | manifeste des applications web | — |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:413` | Améliorer l'expérience utilisateur grâce au manifeste des applications web | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:86` | expérience utilisateur | — |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:253` | Améliorer l'expérience utilisateur grâce au manifeste des applications web | — |
+| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:96` | le manifeste des applications web | — |
+| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:72` | le manifeste des applications web | — |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | améliorer l'expérience utilisateur grâce au manifeste des applications web | — |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:48` | amélioration de l'expérience utilisateur avec le manifeste des applications web | — |
+
+---
+
+### `/article/api-rest-les-bonnes-pratiques` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **81%** · Sémantique : **19%** · Total : 26
+*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
+> 🔧 Actions : 8 partiel → exact · 5 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:432` | bonnes pratiques API REST | — |
+| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:348` | bonnes pratiques API REST | — |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:306` | bonnes pratiques REST | — |
+| 🟡 Partiel | `src\app\developpement-react\page.tsx:355` | APIs REST selon les bonnes pratiques | — |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:398` | bonnes pratiques API REST | — |
+| 🟡 Partiel | `src\app\secteur\api-integration\page.tsx:272` | bonnes pratiques REST | — |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | API REST respectant les bonnes pratiques | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:88` | bonnes pratiques REST | — |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:114` | les bonnes pratiques REST | — |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:251` | API REST : les bonnes pratiques | — |
+| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:25` | API REST bien structurée | — |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:81` | API REST bien structurées | — |
+| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:39` | APIs sur mesure à fort trafic | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:107` | Les bonnes pratiques de conception d'API REST | — |
+| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:39` | bonnes pratiques des API REST | — |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:33` | bonnes pratiques des API REST | — |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:195` | API REST : les bonnes pratiques | — |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:331` | API REST : les bonnes pratiques | — |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:65` | bonnes pratiques des API REST | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:111` | les bonnes pratiques des API REST | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:35` | bonnes pratiques des API REST | — |
+| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:46` | API REST bien conçues | — |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:65` | API REST | — |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:142` | bonnes pratiques REST | — |
+| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:17` | bonnes pratiques des API REST | — |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:15` | bonnes pratiques des API REST | — |
+
+---
+
+### `/article/arrives-au-max-des-id-int-2147483647` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | la migration des ID INT vers BIGINT | — |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:193` | Arrivés au max des ID INT | — |
+| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:20` | arriver au max des ID INT | — |
+
+---
+
+### `/article/cahier-des-charges-application-web-guide-complet` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:274` | cahier des charges solide | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:75` | cahier des charges | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:94` | cahier des charges | — |
+
+---
+
+### `/article/claude-assistant-architecture-symfony-legacy` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:273` | Claude comme assistant d'architecture | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | l'utilisation de Claude comme assistant d'architecture Symfony legacy | — |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:101` | Claude comme assistant d'architecture Symfony legacy | — |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:64` | un CLAUDE.md bien structuré transforme la qualité des suggestions | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:72` | utilisation de Claude comme assistant d'architecture Symfony | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:535` | Claude comme assistant d'architecture Symfony | — |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:22` | Claude comme assistant d'architecture | — |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:271` | Claude comme assistant d'architecture Symfony | — |
+
+---
+
+### `/article/code-mort-mission-elimination` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 11
+*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
+> 🔧 Actions : 3 partiel → exact · 5 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:322` | code mort | — |
+| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:293` | code mort | — |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:122` | Code mort : mission élimination | — |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:91` | code mort dans vos projets | — |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:33` | code mort qui alourdit le projet | — |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:102` | code mort | — |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | éliminer le code mort dans vos projets PHP | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:40` | code mort | — |
+| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:126` | code mort | — |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:311` | Éliminer le code mort dans vos projets PHP | — |
+| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:60` | code mort | — |
+
+---
+
+### `/article/coding-conventions` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **4%** · Partiel : **0%** · Sémantique : **96%** · Total : 28
+*Après correction → Exact match : **29%** · Partiel : **32%** · Sémantique : **39%***
+> 🔧 Actions : 7 sémantique → exact · 9 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-code-php\page.tsx:369` | conventions de code | — |
+| ✅ Sémantique | `src\app\tests-automatises-php\page.tsx:286` | conventions de code | — |
+| ✅ Sémantique | `content\blog\api-rest-les-bonnes-pratiques.mdx:32` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:22` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:244` | conventions de codage PHP et Symfony | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | conventions de code | — |
+| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:25` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:127` | conventions de codage PHP | — |
+| ✅ Sémantique | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:64` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:27` | conventions de codage pour un code maintenable | — |
+| ✅ Sémantique | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:376` | conventions de codage formalisées | — |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:38` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:72` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:52` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:80` | Les conventions de code : un socle pour la qualité | — |
+| ✅ Sémantique | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:197` | Les conventions de codage | — |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:38` | conventions de code | — |
+| 🔵 Exact | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:95` | Coding conventions | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | conventions de code | — |
+| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:277` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:109` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:164` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:21` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:73` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:47` | conventions de codage | — |
+| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:81` | conventions de code | — |
+| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:17` | conventions de code | — |
+
+---
+
+### `/article/commandes-invocables-symfony-attributs-console` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | commandes console | — |
+| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:21` | commande console | — |
+| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:48` | commandes invocables | — |
+
+---
+
+### `/article/comment-choisir-son-prestataire-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 2
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:34` | choisir son prestataire Symfony | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:90` | prestataire spécialisé | — |
+
+---
+
+### `/article/comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **9%** · Partiel : **91%** · Sémantique : **0%** · Total : 11
+*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
+> 🔧 Actions : 2 partiel → exact · 5 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:257` | L'intégration des tests API dans GitLab CI | — |
+| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:380` | Postman via Newman dans GitLab CI | — |
+| 🔵 Exact | `content\blog\api-rest-les-bonnes-pratiques.mdx:114` | Comment exécuter des tests Postman avec Newman dans GitLab CI | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:18` | automatisent déjà leurs tests d'API avec Newman en CI/CD | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:139` | Tests Postman avec Newman dans GitLab CI | — |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:81` | mise en place d'outils comme Newman dans une CI | — |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:41` | l'exécution de tests Postman avec Newman dans GitLab CI | — |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:49` | tests Postman avec Newman dans GitLab CI | — |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:112` | automatisent déjà leurs tests d'API avec Newman en CI/CD | — |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:160` | tests d'API via Newman | — |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:168` | Tests d'API avec Newman dans GitLab CI | — |
+
+---
+
+### `/article/comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 7
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 2 partiel → exact · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:234` | se former à la sécurité informatique | — |
+| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:273` | former vos équipes à la sécurité informatique | — |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:128` | Former vos équipes à la sécurité informatique efficacement | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:99` | former vos équipes à la sécurité informatique | — |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:155` | Former vos équipes à la sécurité informatique | — |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:62` | former vos équipes à la sécurité informatique | — |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:93` | Former vos équipes à la sécurité informatique efficacement | — |
+
+---
+
+### `/article/comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **4%** · Partiel : **25%** · Sémantique : **71%** · Total : 48
+*Après correction → Exact match : **29%** · Partiel : **31%** · Sémantique : **40%***
+> 🔧 Actions : 12 partiel → exact · 15 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:490` | comment PHPStan améliore la qualité de votre code | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:498` | comment PHPStan améliore la qualité de votre code PHP | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:525` | PHPStan au niveau maximal | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:545` | analyse statique PHPStan | — |
+| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:337` | PHPStan améliore la qualité de votre code PHP | — |
+| ✅ Sémantique | `src\app\audit-code-php\page.tsx:265` | PHPStan | — |
+| 🟡 Partiel | `src\app\developpement-php\page.tsx:289` | découvrez comment PHPStan améliore la qualité de votre code PHP | — |
+| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:257` | découvrez comment PHPStan peut améliorer la qualité de votre code PHP | — |
+| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:354` | PHPStan | — |
+| ✅ Sémantique | `src\app\modernisation-application-php\page.tsx:356` | PHPStan | — |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:251` | PHPStan | — |
+| ✅ Sémantique | `src\app\reprise-projet-symfony\page.tsx:296` | PHPStan | — |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:299` | PHPStan | — |
+| ✅ Sémantique | `src\app\tests-automatises-php\page.tsx:244` | PHPStan | — |
+| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:15` | notre guide sur PHPStan et l'amélioration de la qualité du code PHP | — |
+| ✅ Sémantique | `content\blog\coding-conventions.mdx:84` | PHPStan | — |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:120` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | PHPStan | — |
+| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:90` | outillage d'analyse statique comme PHPStan | — |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:49` | PHPStan avec des règles de sécurité personnalisées | — |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:108` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
+| ✅ Sémantique | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:68` | PHPStan | — |
+| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:249` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
+| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:81` | analyseurs statiques | — |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:137` | PHPStan détecte les erreurs de typage | — |
+| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:42` | PHPStan | — |
+| ✅ Sémantique | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:368` | PHPStan comme gardien d'architecture | — |
+| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:89` | analyse statique comme PHPStan | — |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:61` | PHPStan | — |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | PHPStan | — |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:123` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
+| ✅ Sémantique | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:41` | analyse statique avec PHPStan | — |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:79` | PHPStan | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:40` | PHPStan | — |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:59` | PHPStan | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | PHPStan | — |
+| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:190` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:14` | comment PHPStan peut améliorer la qualité de votre code PHP | — |
+| ✅ Sémantique | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:25` | PHPStan | — |
+| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:129` | Comment PHPStan peut vous aider à améliorer la qualité de votre code PHP | — |
+| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:89` | PHPStan | — |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:198` | Comment PHPStan peut vous aider à améliorer la qualité de votre code PHP | — |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2024.mdx:43` | analyse statique avec PHPStan | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | PHPStan | — |
+| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:21` | PHPStan | — |
+| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:57` | PHPStan | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:64` | PHPStan | — |
+| ✅ Sémantique | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:30` | PHPStan | — |
+
+---
+
+### `/article/comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:145` | Comment produire la documentation sur votre projet Symfony avec l'approche Diataxis | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:85` | approche Diataxis | — |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:65` | documentation Symfony avec l'approche Diataxis | — |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:97` | Documentation Symfony avec l'approche Diataxis | — |
+
+---
+
+### `/article/comment-rediger-un-cahier-de-charge-pour-un-projet-agile` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 6
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 2 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:28` | la rédaction d'un cahier des charges agile | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:59` | méthodologie agile | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:77` | approche agile | — |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:75` | cahier des charges agile | — |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:36` | cahier des charges | — |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:112` | Comment rédiger un cahier des charges pour un projet Agile | — |
+
+---
+
+### `/article/comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **64%** · Sémantique : **36%** · Total : 11
+*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
+> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-symfony-gratuit\page.tsx:384` | notre méthodologie d'audit | — |
+| ✅ Sémantique | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:163` | notre processus d'audit technique | — |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:56` | un audit technique chez Efficience IT | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:121` | Audit web chez Efficience IT : méthode, critères et contenu | — |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:157` | Audit web chez Efficience IT : méthode, critères et contenu | — |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:118` | Audit web chez Efficience IT : méthode, critères et contenu | — |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:84` | audit web structuré | — |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:81` | Comment se passe un audit chez Efficience IT ? | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:34` | comment se passe un audit chez Efficience IT | — |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:142` | audit de code avant la migration | — |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:70` | Comment se passe un audit chez Efficience IT | — |
+
+---
+
+### `/article/comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:100` | le bundle Alice Faker dans vos projets Symfony | — |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:59` | Alice et Faker dans vos projets Symfony | — |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:35` | bundle Alice Faker | — |
+| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:166` | Le bundle Alice et Faker dans vos projets Symfony | — |
+
+---
+
+### `/article/concretement-cest-quoi-frankenphp` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **18%** · Sémantique : **82%** · Total : 11
+*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
+> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:426` | FrankenPHP | — |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:274` | ce qu'est FrankenPHP | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:28` | FrankenPHP | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:64` | FrankenPHP | — |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:62` | FrankenPHP | — |
+| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:163` | FrankenPHP | — |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:193` | Concrètement : c'est quoi FrankenPHP ? | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:87` | FrankenPHP concrètement | — |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:48` | FrankenPHP | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:60` | FrankenPHP | — |
+| ✅ Sémantique | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:27` | FrankenPHP | — |
+
+---
+
+### `/article/core-team-organisation-projet` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:61` | organisation en core team | — |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:142` | Core Team : structurer une équipe projet | — |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:108` | Core Team : structurer une équipe projet | — |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:81` | Core Team : structurer une équipe projet | — |
+
+---
+
+### `/article/cve-comprendre-les-failles-pour-mieux-se-proteger` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **8%** · Sémantique : **92%** · Total : 25
+*Après correction → Exact match : **32%** · Partiel : **28%** · Sémantique : **40%***
+> 🔧 Actions : 2 partiel → exact · 6 sémantique → exact · 7 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-code-php\page.tsx:331` | CVE connues | — |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:183` | vulnérabilités connues | — |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:411` | CVE | — |
+| ✅ Sémantique | `src\app\secteur\finance\page.tsx:313` | CVE | — |
+| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:270` | failles de sécurité | — |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:278` | CVE publiée | — |
+| ✅ Sémantique | `src\app\securite-application-symfony\page.tsx:266` | découvrez notre guide sur les CVE | — |
+| ✅ Sémantique | `content\blog\api-rest-les-bonnes-pratiques.mdx:78` | failles CVE | — |
+| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:35` | failles CVE | — |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:17` | CVE publiées sur des bibliothèques connues | — |
+| ✅ Sémantique | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:47` | CVE connues | — |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:21` | les failles CVE et comment s'en protéger | — |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:121` | CVE : comprendre les failles de sécurité et protéger les applications web | — |
+| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:115` | se prémunir contre les failles de sécurité | — |
+| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:42` | les failles CVE et leur fonctionnement | — |
+| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:18` | les CVE et la compréhension des failles de sécurité | — |
+| ✅ Sémantique | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:35` | vulnérabilités de sécurité (CVE) | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:86` | CVE | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:70` | gestion des CVE | — |
+| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:88` | les failles CVE et leur impact | — |
+| ✅ Sémantique | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:175` | CVE et des failles de sécurité | — |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:23` | vulnérabilités (CVE) dans l'arbre de dépendances | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:78` | gestion des CVE | — |
+| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:43` | CVE connues | — |
+| ✅ Sémantique | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:79` | vulnérabilités connues (CVE) | — |
+
+---
+
+### `/article/dbtoolsbundle-anonymiser-vos-bases-de-donnees` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **70%** · Sémantique : **30%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:292` | bases de données de recette sont anonymisées | — |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:192` | anonymisation des données | — |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:319` | anonymisation | — |
+| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:330` | anonymisation des bases de données | — |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:39` | DbToolsBundle pour anonymiser vos données de test | — |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:180` | DbToolsBundle : anonymiser vos bases de données | — |
+| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:72` | gestion des secrets dans un projet Symfony | — |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:107` | DbToolsBundle : anonymiser vos bases de données | — |
+| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:231` | DbToolsBundle propose une solution dédiée à l'anonymisation des bases de données | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:119` | DbToolsBundle : anonymiser vos bases de données | — |
+
+---
+
+### `/article/decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **40%** · Partiel : **60%** · Sémantique : **0%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 exact → sémantique · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:105` | Pourquoi nous confier la maintenance de vos applications web | — |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:114` | Maintenance d’applications web : pourquoi nous choisir | — |
+| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:121` | Découvrez les raisons de nous confier la maintenance de vos applications web | — |
+| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:111` | Découvrez les raisons de nous confier la maintenance de vos applications web | — |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | maintenance de vos applications web | — |
+
+---
+
+### `/article/deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 7
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 2 partiel → exact · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\hebergement-symfony\page.tsx:280` | le déploiement automatisé avec GitLab CI, S3 et CloudFront | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:125` | le déploiement Nuxt.js avec GitLab CI | — |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:126` | Déployer Nuxt.js avec GitLab CI : S3 et CloudFront | — |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:94` | le déploiement de Nuxt.js avec GitLab CI, S3 et CloudFront | — |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:95` | Déployer Nuxt.js avec GitLab CI : S3 et CloudFront | — |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:31` | déploiement de Nuxt.js avec CloudFront | — |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:105` | Déployer NuxtJS avec GitLab CI, S3 et CloudFront | — |
+
+---
+
+### `/article/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:87` | MVP Doctavis en un temps record | — |
+| 🟡 Partiel | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:78` | Doctavis et Efficience IT : une course contre la montre pour sortir un MVP | — |
+| ✅ Sémantique | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:136` | Doctavis, un MVP livré en un temps record | — |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:143` | Doctavis et Efficience IT : une course contre la montre pour sortir un MVP | — |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:40` | Doctavis et Efficience IT | — |
+
+---
+
+### `/article/doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 19
+*Après correction → Exact match : **32%** · Partiel : **32%** · Sémantique : **37%***
+> 🔧 Actions : 6 sémantique → exact · 6 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\base-de-donnees-postgresql-symfony\page.tsx:266` | Découvrez ce qui change avec Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:422` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:178` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | Doctrine correctement | — |
+| ✅ Sémantique | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:17` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:145` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:33` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:171` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:192` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:93` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:162` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:58` | Doctrine | — |
+| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:43` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:61` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:12` | Doctrine | — |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:409` | Doctrine ORM 3.0 | — |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2023.mdx:37` | Doctrine | — |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:35` | Doctrine | — |
+| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:107` | Doctrine | — |
+
+---
+
+### `/article/domain-ne-devrait-jamais-connaitre-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **71%** · Sémantique : **29%** · Total : 17
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
+> 🔧 Actions : 5 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:265` | pourquoi le domaine ne devrait jamais connaître Symfony | — |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:225` | domaine métier de Symfony | — |
+| ✅ Sémantique | `src\app\secteur\saas\page.tsx:289` | domaine métier du framework | — |
+| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:248` | architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:346` | Pourquoi votre Domain ne devrait jamais connaître Symfony | — |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:218` | domaine qui ne devrait jamais connaître Symfony | — |
+| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:53` | séparation des responsabilités en architecture logicielle | — |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:179` | event listener Doctrine | — |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:65` | le domaine ne devrait jamais connaître Symfony | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:43` | isoler le domaine de Symfony | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:110` | Le domaine ne devrait jamais connaître Symfony | — |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:258` | Le domaine ne devrait jamais connaître Symfony | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:538` | Le domaine ne devrait jamais connaître Symfony | — |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:95` | domaine ne devrait jamais connaître Symfony | — |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:68` | le domaine ne devrait jamais connaître Symfony | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:18` | le domaine ne devrait jamais connaître Symfony | — |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:32` | l'architecture hexagonale où le domaine ne connaît pas le framework | — |
+
+---
+
+### `/article/easy-admin-vs-forest-admin-differences-et-avantages` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:39` | comparaison entre EasyAdmin et Forest Admin | — |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:87` | EasyAdmin présente des avantages différents de Forest Admin | — |
+
+---
+
+### `/article/eco-conception-un-ideal-en-marche-ou-une-illusion-durable` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **25%** · Sémantique : **75%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 2 partiel → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\green-it\page.tsx:91` | L'éco-conception | — |
+| ✅ Sémantique | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | éco-conception | — |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:96` | Éco-conception : un idéal en marche ou une illusion durable ? | — |
+| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:46` | l'éco-conception numérique | — |
+| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:102` | l'éco-conception web | — |
+| ✅ Sémantique | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:67` | conception responsable et l'éco-conception des sites web | — |
+| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:85` | l'éco-conception web | — |
+| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:99` | L'éco-conception : un idéal en marche ? | — |
+
+---
+
+### `/article/ecosia-preservateur-decologie` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\green-it\page.tsx:208` | Ecosia | — |
+| ✅ Sémantique | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:100` | Ecosia, le moteur de recherche qui finance la reforestation | — |
+
+---
+
+### `/article/express-fastify-hono-quel-framework-nodejs-choisir` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **83%** · Sémantique : **17%** · Total : 6
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:165` | frameworks Node.js Express, Fastify et Hono | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:94` | Express, Fastify ou Hono | — |
+| ✅ Sémantique | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:36` | frameworks Node.js | — |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:46` | Express, Fastify et Hono | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:95` | frameworks Node.js comme Express, Fastify ou Hono | — |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:90` | comparatif Express, Fastify et Hono | — |
+
+---
+
+### `/article/forces-et-faiblesses-des-ia-generatives-les-plus-utilisees` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **22%** · Partiel : **78%** · Sémantique : **0%** · Total : 9
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 partiel → exact · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:346` | forces et faiblesses des IA génératives | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:286` | forces et faiblesses des IA génératives | — |
+| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:81` | forces et faiblesses des IA génératives | — |
+| 🔵 Exact | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:11` | forces et faiblesses des IA génératives les plus utilisées | — |
+| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:27` | forces des IA génératives actuelles | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:127` | IA génératives : forces et faiblesses | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:118` | forces et faiblesses des IA génératives | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:536` | Forces et faiblesses des IA génératives | — |
+| 🔵 Exact | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:37` | forces et faiblesses des IA génératives les plus utilisées | — |
+
+---
+
+### `/article/geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:304` | GEO appliqué aux applications Symfony | — |
+| ✅ Sémantique | `src\app\geo-optimisation-ia\page.tsx:274` | GEO appliqué aux applications web | — |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:404` | GEO : rendre votre application visible dans les moteurs IA | — |
+| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:70` | visibilité responsable dans les moteurs IA | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:102` | GEO : rendre votre application Symfony visible dans les moteurs IA | — |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:89` | GEO pour rendre une application Symfony visible dans les moteurs IA | — |
+| ✅ Sémantique | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:77` | GEO pour les moteurs IA | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:201` | GEO : rendre son application visible dans les moteurs IA | — |
+
+---
+
+### `/article/guide-de-migration-dans-un-projet-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **35%** · Partiel : **43%** · Sémantique : **22%** · Total : 23
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **39%***
+> 🔧 Actions : 1 exact → sémantique · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\migration-symfony\page.tsx:258` | guide de migration dans un projet Symfony | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:371` | guides de migration | — |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:370` | guide de migration Symfony | — |
+| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:290` | calendrier officiel | — |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:179` | Guide de migration Symfony | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:82` | montées de version | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:93` | guide de migration structuré | — |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | migrer votre projet vers Symfony 7.4 | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:53` | montées de version | — |
+| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:108` | Guide de migration dans un projet Symfony | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:42` | guide de migration Symfony | — |
+| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:120` | Guide de migration dans un projet Symfony | — |
+| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:90` | guide de migration structuré | — |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:66` | guide de migration Symfony | — |
+| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:109` | Guide de migration dans un projet Symfony | — |
+| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:167` | guide de migration dans un projet Symfony | — |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:62` | guide de migration Symfony | — |
+| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:273` | Guide de migration dans un projet Symfony | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:38` | guide de migration Symfony | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:76` | migrations entre versions | — |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | guide de migration dans un projet Symfony | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:83` | montées de version régulières | — |
+| 🔵 Exact | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:102` | guide de migration dans un projet Symfony | — |
+
+---
+
+### `/article/la-dette-technique-faut-il-vraiment-en-avoir-peur` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 37
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
+> 🔧 Actions : 11 partiel → exact · 15 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:191` | dette technique | — |
+| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:280` | dette technique | — |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:335` | dette technique | — |
+| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:279` | dette technique | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:137` | dette technique | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:192` | dette technique | — |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:260` | dette technique | — |
+| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:279` | dette technique | — |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:177` | dette technique | — |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:78` | dette technique | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:12` | dette technique accumulée | — |
+| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:43` | dette technique, dont les conséquences méritent d'être anticipées | — |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:121` | La dette technique : faut-il vraiment en avoir peur ? | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:86` | dette technique | — |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:103` | dette technique | — |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:97` | dette technique structurelle | — |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:106` | La dette technique : faut-il vraiment en avoir peur ? | — |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:87` | dette technique | — |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:24` | la dette technique et ses impacts réels | — |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:92` | dette technique | — |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:119` | La dette technique | — |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:76` | dette technique | — |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:82` | La dette technique : faut-il vraiment en avoir peur ? | — |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:94` | La dette technique : faut-il vraiment en avoir peur ? | — |
+| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:136` | dette technique | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:113` | dette technique | — |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:148` | dette technique | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:33` | dette technique | — |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:44` | dette technique | — |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:79` | dette technique | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:102` | gestion de la dette technique | — |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:71` | La dette technique : faut-il vraiment en avoir peur ? | — |
+| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:199` | La dette technique : faut-il vraiment en avoir peur ? | — |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:34` | dette technique | — |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:263` | la dette technique et comment l'apprivoiser | — |
+| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:51` | dette technique | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:350` | dette technique | — |
+
+---
+
+### `/article/la-fondation-php-souffle-ses-trois-bougies` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 partiel → exact · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:69` | la Fondation PHP a soufflé ses trois bougies | — |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:147` | La Fondation PHP fête ses 3 ans | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:76` | Fondation PHP | — |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2023.mdx:73` | PHP Foundation | — |
+| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:37` | contributions de la Fondation PHP | — |
+
+---
+
+### `/article/la-methode-du-canard-en-plastique-le-secret-des-developpeurs` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:68` | méthode du canard en plastique | — |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:47` | méthode du canard en plastique | — |
+
+---
+
+### `/article/le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\la-team\page.tsx:219` | chocoblast | — |
+| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:64` | le Chocoblast, notre approche ludique de la sensibilisation par le jeu | — |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:61` | le Chocoblast illustre comment la gamification peut rendre la sensibilisation à la sécurité plus engageante | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:120` | Le Chocoblast : un premier pas vers la sécurité par le jeu | — |
+
+---
+
+### `/article/les-6-etapes-pour-monter-en-competences-sur-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **41%** · Partiel : **41%** · Sémantique : **18%** · Total : 17
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
+> 🔧 Actions : 2 exact → sémantique · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\accompagnement-et-conseil\page.tsx:347` | les 6 étapes pour monter en compétences sur Symfony | — |
+| 🔵 Exact | `src\app\formation-symfony-entreprise\page.tsx:321` | les 6 étapes pour monter en compétences sur Symfony | — |
+| 🔵 Exact | `src\components\seo\GonePage.tsx:43` | Les 6 étapes pour monter en compétences sur Symfony | — |
+| 🔵 Exact | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:46` | les 6 étapes pour monter en compétences sur Symfony | — |
+| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:322` | tests automatisés | — |
+| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:36` | parcours en 6 étapes pour monter en compétences sur Symfony | — |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:30` | monter en compétences sur un framework | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:75` | montée en compétences se fait par étapes | — |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:100` | monter en compétences sur Symfony | — |
+| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:74` | programmes de montée en compétences | — |
+| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:126` | Les 6 étapes pour monter en compétences sur Symfony | — |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:75` | 6 étapes pour monter en compétences sur Symfony | — |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:96` | la montée en compétence sur un framework | — |
+| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:86` | 6 étapes pour monter en compétences sur Symfony | — |
+| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:116` | Les 6 étapes pour monter en compétences sur Symfony | — |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:16` | 6 étapes pour monter en compétences sur Symfony | — |
+| 🔵 Exact | `content\blog\symfony-pour-les-moldus.mdx:86` | Les 6 étapes pour monter en compétences sur Symfony | — |
+
+---
+
+### `/article/les-bundles-les-plus-utilises-dans-les-projets-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **22%** · Partiel : **67%** · Sémantique : **11%** · Total : 18
+*Après correction → Exact match : **28%** · Partiel : **33%** · Sémantique : **39%***
+> 🔧 Actions : 1 partiel → exact · 5 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:451` | Notre utilisation rigoureuse des bundles Symfony | — |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:248` | bundles Symfony incontournables | — |
+| 🔵 Exact | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:247` | Les bundles les plus utilisés dans les projets Symfony | — |
+| 🔵 Exact | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:156` | Les bundles les plus utilisés dans les projets Symfony | — |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:70` | bundles les plus utilisés dans les projets Symfony | — |
+| 🟡 Partiel | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:17` | bundles les plus utilisés dans les projets Symfony | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:19` | bundles dans l'écosystème Symfony | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:31` | bundles les plus utilisés dans les projets Symfony | — |
+| 🔵 Exact | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:119` | Les bundles les plus utilisés dans les projets Symfony | — |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:112` | bundles communautaires | — |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:17` | bundles les plus utilisés dans les projets Symfony | — |
+| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:21` | bundles les plus utilisés dans les projets Symfony | — |
+| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:164` | Les bundles les plus utilisés dans les projets Symfony | — |
+| 🟡 Partiel | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:48` | bundles les plus utilisés dans les projets Symfony | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | bundles habituels | — |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:104` | Les bundles les plus utilisés dans Symfony | — |
+| 🟡 Partiel | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:90` | bundles les plus utilisés dans les projets Symfony | — |
+| 🟡 Partiel | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:108` | bundles les plus utilisés dans Symfony | — |
+
+---
+
+### `/article/les-certifications-symfony-twig-symfony-sylius` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **85%** · Sémantique : **15%** · Total : 20
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 6 partiel → exact · 5 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:270` | certification de vos équipes sur Symfony | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:268` | les certifications Symfony, Twig et Sylius | — |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:347` | Les certifications Symfony, Twig & Sylius | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:35` | certifications Symfony et Sylius | — |
+| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:74` | certifications Symfony, Twig et Sylius | — |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:67` | certification Symfony | — |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:105` | Les certifications Symfony : Twig et Sylius | — |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:91` | certifications Symfony | — |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:82` | Les certifications Symfony, Twig et Sylius | — |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:86` | certification des équipes | — |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:195` | Les certifications Symfony, Twig et Sylius | — |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:48` | certifications Symfony, Twig et Sylius | — |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:62` | Les certifications Symfony, Twig et Sylius | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | certifications Symfony, Twig et Sylius | — |
+| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:78` | certification Sylius | — |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:88` | Certifications Sylius | — |
+| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:98` | Les certifications Symfony | — |
+| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:72` | certifications officielles Symfony, Twig et Sylius | — |
+| ✅ Sémantique | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:13` | certifications | — |
+| 🟡 Partiel | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:133` | Les certifications Symfony : Twig et Sylius | — |
+
+---
+
+### `/article/les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 6
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\l-entreprise\page.tsx:157` | contributions open source | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:34` | contributions open source | — |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:104` | Le guide des contributions Open Source | — |
+| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:79` | Les contributions open source : un enjeu de taille | — |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:122` | contribuer à l'open source | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:57` | contributions open source | — |
+
+---
+
+### `/article/les-evenements-incontournables-de-linnovation-2025` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:46` | événements incontournables de l'innovation 2025 | — |
+| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:27` | événements incontournables de l'innovation 2025 | — |
+
+---
+
+### `/article/llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **57%** · Sémantique : **43%** · Total : 7
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 2 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:312` | llms.txt | — |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:307` | llms.txt est un levier SEO majeur à l'ère de l'IA | — |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:395` | llms.txt : le nouveau levier SEO à l'ère de l'IA | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:101` | LLMs.txt : le nouveau levier SEO à l'ère de l'intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:61` | fichier llms.txt | — |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:174` | fichiers llms.txt pour les moteurs IA | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:203` | LLMs.txt : le nouveau levier SEO à l'ère de l'intelligence artificielle | — |
+
+---
+
+### `/article/mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `content\blog\coding-conventions.mdx:110` | vocabulaire partagé | — |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:124` | Mieux comprendre le vocabulaire des développeurs web | — |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:36` | vocabulaire technique des développeurs web | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:126` | Mieux comprendre le vocabulaire des développeurs web | — |
+
+---
+
+### `/article/migration-mysql-postgresql-doctrine-guide` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\base-de-donnees-postgresql-symfony\page.tsx:201` | Migration MySQL vers PostgreSQL | — |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:14` | migration de MySQL vers PostgreSQL | — |
+| 🟡 Partiel | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:51` | migration MySQL vers PostgreSQL | — |
+
+---
+
+### `/article/migration-symfony-architecture-hexagonale-retour-mission` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **96%** · Sémantique : **4%** · Total : 26
+*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
+> 🔧 Actions : 8 partiel → exact · 9 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:269` | Notre retour d'expérience sur la migration vers une architecture hexagonale | — |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:351` | migration vers une architecture hexagonale | — |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:278` | migration vers l'architecture hexagonale sur un projet Symfony en production | — |
+| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:309` | architecture hexagonale | — |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:323` | migration Symfony vers une architecture hexagonale | — |
+| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:410` | architecture hexagonale dans nos migrations Symfony | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:365` | architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:275` | Migration Symfony vers l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:96` | architecture hexagonale bien structurée | — |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:95` | migration vers une architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:398` | Migration Symfony vers l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:71` | dont l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:93` | architecture hexagonale et approches classiques | — |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:85` | retour de mission sur la migration vers l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:120` | Migration Symfony vers l'architecture hexagonale : retour de mission | — |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:77` | architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:196` | migration vers l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:69` | retour d'expérience sur la migration vers une architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:313` | Migration Symfony vers l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:22` | migration vers l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:154` | Migration Symfony vers l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:111` | Migration Symfony vers l'architecture hexagonale | — |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:41` | migrer progressivement | — |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:34` | architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:272` | Migration Symfony vers l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | retour de mission sur la migration vers l'architecture hexagonale | — |
+
+---
+
+### `/article/migrer-du-serializer-vers-json-streamer-le-guide-honnete` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:340` | Serializer cède la place à JsonStreamer | — |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:344` | Migrer du Serializer vers JsonStreamer : le guide honnête | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:120` | Migrer du Serializer vers JsonStreamer | — |
+
+---
+
+### `/article/moderniser-application-php-legacy-sans-tout-reecrire` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:290` | modernisation progressive | — |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:34` | modernisation d'applications PHP legacy | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:94` | modernisation d'applications PHP legacy | — |
+
+---
+
+### `/article/monofony-le-guide-ultime-pour-les-debutants` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **25%** · Sémantique : **75%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:295` | Monofony, le starter kit Sylius pour les applications métier | — |
+| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:75` | Monofony | — |
+| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:55` | Monofony | — |
+| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:76` | Monofony | — |
+
+---
+
+### `/article/monter-en-competence-claude-code` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:131` | Claude Code | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:276` | Monter en compétence sur Claude Code | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | guide de montée en compétence Claude Code | — |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:106` | Monter en compétence sur Claude Code | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:77` | montée en compétence sur Claude Code | — |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:18` | Claude Code | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:86` | guide pour monter en compétence sur Claude Code | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:187` | guide pour monter en compétence sur Claude Code | — |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:21` | CLAUDE.md, vos skills et vos hooks | — |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:185` | guide de montée en compétence sur Claude Code | — |
+
+---
+
+### `/article/normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:56` | normes d'accessibilité RGAA | — |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:94` | Normes RGAA : les clés d'une expérience utilisateur réussie pour tous | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:60` | RGAA | — |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:109` | Normes RGAA : une expérience utilisateur réussie pour tous | — |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:73` | normes RGAA | — |
+| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:108` | Normes RGAA : une expérience utilisateur réussie pour tous | — |
+| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:58` | conformes aux normes RGAA | — |
+| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:78` | Normes RGAA : une expérience utilisateur réussie pour tous | — |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:26` | applications respectant les normes d'accessibilité RGAA | — |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:96` | Les normes RGAA : accessibilité pour tous | — |
+
+---
+
+### `/article/php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **38%** · Sémantique : **63%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 2 partiel → exact · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\developpement-php\page.tsx:364` | les nouveautés de PHP 9.0 | — |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:115` | PHP 9.0 : ce que vous devez savoir | — |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:75` | changements prévus pour PHP 9.0 | — |
+| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:47` | PHP 9.0 et les changements majeurs à anticiper | — |
+| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:125` | PHP 9.0 et les changements à anticiper | — |
+| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:167` | évolutions de PHP 9.0 | — |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:49` | PHP 9.0 et ce qu'il faut savoir avant la sortie | — |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:101` | PHP 9.0 : ce que vous devez savoir avant la sortie | — |
+
+---
+
+### `/article/php-vs-nodejs-quel-langage-backend-choisir` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | comparatif PHP vs Node.js | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:101` | comparatif PHP vs Node.js | — |
+
+---
+
+### `/article/phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 6
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 2 partiel → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:17` | PHPStan 2.0 et son niveau 10 | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | PHPStan | — |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:250` | PHPStan 2.0 : niveau 10 et nouvelles fonctionnalités | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:59` | PHPStan | — |
+| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:277` | PHPStan 2.0 | — |
+| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:197` | PHPStan 2.0 : niveau 10 et nouvelles fonctionnalités | — |
+
+---
+
+### `/article/phpstan-niveau-max-symfony-10-erreurs` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **92%** · Sémantique : **8%** · Total : 12
+*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
+> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:191` | les 10 erreurs les plus courantes détectées par PHPStan au niveau max sur Symfony | — |
+| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:109` | Les 10 erreurs PHPStan niveau max sur Symfony | — |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:86` | PHPStan au niveau max sur un projet Symfony | — |
+| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | PHPStan | — |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:244` | les 10 erreurs PHPStan niveau max sur un projet Symfony | — |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:107` | PHPStan au niveau max sur un projet Symfony | — |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:266` | PHPStan au niveau max | — |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | PHPStan au niveau maximum | — |
+| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:11` | 10 erreurs PHPStan niveau max sur un projet Symfony | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:43` | analyse statique comme PHPStan niveau max | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:125` | PHPStan niveau max sur Symfony | — |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:157` | niveau max de PHPStan | — |
+
+---
+
+### `/article/phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **92%** · Sémantique : **8%** · Total : 13
+*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
+> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:102` | éditeur de code adapté à votre workflow | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:109` | Quel éditeur de code choisir ? | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:103` | PHPStorm, VS Code, Sublime Text : quel éditeur choisir ? | — |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:125` | Quel éditeur de code choisir : PHPStorm, VSCode, Sublime Text ou NetBeans ? | — |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:79` | PhpStorm, VS Code, Cursor ou Sublime Text | — |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:193` | Quel éditeur de code choisir | — |
+| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:155` | les éditeurs de code disponibles | — |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:169` | Quel éditeur de code choisir | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:18` | quel éditeur de code choisir | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:202` | Quel éditeur de code choisir : PhpStorm, VS Code, Cursor | — |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:94` | Quel éditeur de code choisir ? | — |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:89` | éditeur de code | — |
+| ✅ Sémantique | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:32` | PhpStorm et d'autres IDE | — |
+
+---
+
+### `/article/pourquoi-choisir-symfony-pour-vos-projets` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **38%** · Partiel : **27%** · Sémantique : **36%** · Total : 45
+*Après correction → Exact match : **31%** · Partiel : **29%** · Sémantique : **40%***
+> 🔧 Actions : 1 exact → partiel · 2 exact → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:248` | Symfony, le framework PHP de référence | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:311` | Symfony, le framework PHP de référence | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:308` | Symfony, le framework PHP de référence | — |
+| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:261` | les raisons de choisir Symfony | — |
+| ✅ Sémantique | `src\app\api-sur-mesure-symfony\page.tsx:405` | consultez notre article sur le choix de Symfony | — |
+| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:465` | Symfony, le framework PHP de référence | — |
+| ✅ Sémantique | `src\app\l-entreprise\page.tsx:163` | Symfony | — |
+| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:402` | pourquoi choisir Symfony pour vos projets | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:240` | les raisons de choisir Symfony pour vos projets | — |
+| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:24` | Symfony | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | injection de dépendances | — |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:37` | Symfony | — |
+| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:32` | les raisons de choisir Symfony pour vos projets | — |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:59` | les atouts pour les projets web | — |
+| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:119` | Pourquoi choisir Symfony pour vos projets | — |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:72` | les raisons de choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:113` | Pourquoi choisir Symfony pour vos projets | — |
+| 🟡 Partiel | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:59` | le framework à adopter pour vos projets | — |
+| 🔵 Exact | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:87` | Pourquoi choisir Symfony pour vos projets | — |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:109` | vous choisissez Symfony pour votre projet | — |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:14` | Symfony, par sa rigueur structurelle et son écosystème | — |
+| 🔵 Exact | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:102` | pourquoi choisir Symfony pour vos projets | — |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:13` | pourquoi Symfony s'impose pour vos projets | — |
+| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:127` | Pourquoi choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:75` | pourquoi choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:194` | Pourquoi choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:118` | Pourquoi choisir Symfony pour vos projets | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:40` | Symfony | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:25` | choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:194` | Pourquoi choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:95` | Pourquoi choisir Symfony pour vos projets | — |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:58` | Symfony pour le backend PHP | — |
+| ✅ Sémantique | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:45` | Symfony | — |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:94` | Symfony un choix pertinent pour les projets d'envergure | — |
+| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | Symfony | — |
+| 🔵 Exact | `content\blog\retour-sur-lafup-day-2024.mdx:101` | Pourquoi choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:165` | Pourquoi choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:20` | pourquoi choisir Symfony pour vos projets | — |
+| 🔵 Exact | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:88` | Pourquoi choisir Symfony pour vos projets | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | bonnes pratiques | — |
+| 🔵 Exact | `content\blog\symfony-pour-les-moldus.mdx:80` | pourquoi choisir Symfony pour vos projets | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:28` | injection de dépendances | — |
+| 🔵 Exact | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:129` | pourquoi choisir Symfony pour vos projets | — |
+| ✅ Sémantique | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:13` | Symfony | — |
+| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:77` | Symfony pour le développement d'applications métiers | — |
+
+---
+
+### `/article/pourquoi-docker-est-indispensable-en-production-aujourdhui` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **64%** · Sémantique : **36%** · Total : 22
+*Après correction → Exact match : **32%** · Partiel : **27%** · Sémantique : **41%***
+> 🔧 Actions : 7 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\cloud-et-devops\page.tsx:308` | conteneurisation avec Docker | — |
+| ✅ Sémantique | `src\app\hebergement-symfony\page.tsx:255` | la conteneurisation avec Docker | — |
+| 🟡 Partiel | `src\app\integration-docker-symfony\page.tsx:266` | pourquoi Docker est indispensable en production | — |
+| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:54` | Docker | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:125` | Docker en production | — |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:100` | pourquoi Docker est indispensable en production | — |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:81` | Docker est utilisé en production | — |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:39` | Docker en production | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:58` | Pourquoi Docker est indispensable en production | — |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:119` | Docker | — |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:250` | Pourquoi Docker est indispensable en production | — |
+| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:94` | Docker en production | — |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:96` | Docker en production | — |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:163` | pourquoi Docker est indispensable en production aujourd'hui | — |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:333` | Pourquoi Docker est indispensable en production aujourd'hui | — |
+| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:136` | Docker | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:63` | Docker en production | — |
+| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:211` | Docker | — |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:166` | Docker | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:87` | pourquoi Docker est indispensable en production | — |
+| ✅ Sémantique | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:77` | Docker | — |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:103` | Pourquoi Docker est indispensable en production | — |
+
+---
+
+### `/article/prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\base-de-donnees-postgresql-symfony\page.tsx:274` | notre comparatif int vs UUID vs ULID | — |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:68` | INT, UUID ou ULID ont chacun des implications sur les performances d'index | — |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:153` | INT, UUID ou ULID : quel identifiant choisir pour vos bases de données | — |
+| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:176` | type d'identifiant (INT, UUID ou ULID) | — |
+| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | identifiants de premier plan | — |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:400` | Prendre int, UUID ou ULID pour un index de base de données | — |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:85` | choix entre INT, UUID et ULID | — |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:191` | INT, UUID ou ULID : quel identifiant choisir | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:425` | UUID ou ULID | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:452` | Prendre int, UUID ou ULID pour un index de base de données | — |
+
+---
+
+### `/article/qu-est-ce-que-les-psrs-et-a-quoi-servent-ils` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:21` | ce que sont les PSR et à quoi ils servent | — |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:21` | PSRs qui structurent l'écosystème PHP | — |
+| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:33` | PSRs qui structurent l'interopérabilité de l'écosystème PHP | — |
+| ✅ Sémantique | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:61` | PSR en PHP | — |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:11` | PSRs, ces standards de l'écosystème PHP | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | PSR | — |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:24` | PSR (PHP Standards Recommendations) | — |
+| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:64` | conventions PSR | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:28` | PSR | — |
+| 🟡 Partiel | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:124` | Les PSRs et à quoi servent-ils | — |
+
+---
+
+### `/article/que-vaut-rest-face-a-son-nouveau-challenger-graphql` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:299` | REST face à GraphQL | — |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:291` | GraphQL | — |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:54` | les différences entre REST et GraphQL | — |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:25` | REST et GraphQL | — |
+| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:125` | GraphQL | — |
+
+---
+
+### `/article/quel-assistant-ia-choisir-pour-coder` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **80%** · Sémantique : **20%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 3 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:379` | assistants IA dans le workflow de développement | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:266` | choisir et configurer les bons assistants IA | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:63` | guide pratique pour choisir votre assistant IA pour coder | — |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:86` | assistants IA pour coder | — |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:33` | choisir le bon assistant IA pour coder | — |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:100` | Quel assistant IA choisir pour coder ? | — |
+| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:25` | assistants IA pour le code | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:85` | quel assistant IA choisir pour coder en 2026 | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:539` | Quel assistant IA choisir pour coder en 2026 ? | — |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:153` | assistant IA bien configuré | — |
+
+---
+
+### `/article/quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 12
+*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
+> 🔧 Actions : 4 partiel → exact · 5 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\developpement-frontend\page.tsx:260` | comparatif des frameworks JavaScript | — |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:204` | bon framework JavaScript | — |
+| 🟡 Partiel | `src\app\developpement-react\page.tsx:287` | guide comparatif des frameworks JavaScript | — |
+| 🟡 Partiel | `src\app\developpement-vuejs\page.tsx:274` | guide comparatif des frameworks JavaScript | — |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:72` | framework JavaScript | — |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:95` | Quel framework JavaScript choisir ? | — |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:27` | comparer les frameworks JavaScript disponibles | — |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:110` | comparatif des frameworks JavaScript | — |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | choix du framework JavaScript | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:67` | frameworks JavaScript comme React ou Vue.js | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:119` | Quel framework JavaScript choisir ? | — |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:21` | frameworks JavaScript comme React ou Vue.js | — |
+
+---
+
+### `/article/quel-outil-choisir-pour-votre-documentation-technique` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:92` | Quel outil choisir pour votre documentation technique ? | — |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:103` | bon outil de documentation technique | — |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:144` | Quel outil choisir pour votre documentation technique ? | — |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:61` | choix d'un bon outil de documentation technique | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:62` | documentation technique | — |
+
+---
+
+### `/article/quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 26
+*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
+> 🔧 Actions : 8 partiel → exact · 10 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:311` | microservices ou monolithe modulaire | — |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:356` | micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:386` | microservices versus monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:102` | micro-service et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:43` | monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:58` | monolithe modulaire et micro-services | — |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:89` | micro-services ou monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:101` | architecture micro-services ou monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:22` | monolithe modulaire ou un ensemble de micro-services | — |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:84` | le choix d'architecture entre micro-service et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:380` | choisir entre micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:57` | monolithe et microservices | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:108` | Monolithe modulaire ou microservices : quelle architecture choisir ? | — |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:60` | micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:274` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | — |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:332` | Quelle architecture choisir entre micro-service ou monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:77` | choix entre micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:169` | choix entre micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:153` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:105` | décision entre micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:121` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:148` | micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:106` | micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:257` | Quelle architecture choisir : micro-service ou monolithe modulaire ? | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:75` | micro-services et monolithe modulaire | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:449` | Quelle architecture choisir : micro-service ou monolithe modulaire ? | — |
+
+---
+
+### `/article/quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **71%** · Sémantique : **29%** · Total : 7
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\integration-elasticsearch-symfony\page.tsx:196` | Symfony Messenger | — |
+| 🟡 Partiel | `src\app\secteur\saas\page.tsx:310` | Symfony Messenger | — |
+| ✅ Sémantique | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:75` | Messenger | — |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:39` | Symfony Messenger utilise pour le transport Doctrine | — |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:66` | messaging asynchrone dans l'écosystème Symfony | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:112` | Les différences entre Symfony Messenger et PHP Enqueue | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:448` | Symfony Messenger vs PHP-Enqueue | — |
+
+---
+
+### `/article/quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:36` | événements PHP et Symfony | — |
+| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:67` | événements Symfony et PHP et leurs différences | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:103` | Quels événements suivre dans le monde de Symfony et PHP ? | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:100` | Quels événements suivre dans le monde Symfony et PHP ? | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:31` | événements suivre dans le monde Symfony et PHP | — |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:93` | événements à suivre dans le monde Symfony et PHP | — |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:100` | Quels événements suivre dans le monde Symfony et PHP ? | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:66` | conférences PHP et Symfony | — |
+
+---
+
+### `/article/quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 partiel → exact · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:158` | progiciels sur mesure | — |
+| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:185` | progiciel dédié | — |
+| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:180` | progiciel sur mesure | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | progiciel | — |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:83` | avantages d'un progiciel pour votre entreprise | — |
+
+---
+
+### `/article/rag-symfony-ai-doctrine-indexer-base-metier` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **70%** · Sémantique : **30%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:386` | RAG sur vos données métier | — |
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:243` | RAG (Retrieval-Augmented Generation) sur des données Doctrine | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:273` | RAG avec Symfony AI et Doctrine | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:100` | RAG avec Symfony : indexer une base métier avec l'IA | — |
+| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:113` | RAG avec Symfony AI et Doctrine | — |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:136` | l'indexation de données métier pour des agents IA | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:199` | RAG avec Symfony AI et Doctrine | — |
+| 🟡 Partiel | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:125` | RAG avec Symfony AI et Doctrine | — |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:208` | RAG avec Symfony AI et Doctrine | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:451` | RAG avec Symfony AI et Doctrine | — |
+
+---
+
+### `/article/rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 27
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
+> 🔧 Actions : 8 partiel → exact · 7 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-code-php\page.tsx:301` | Rector | — |
+| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:361` | Rector | — |
+| ✅ Sémantique | `src\app\migration-symfony\page.tsx:293` | Rector et ses capacités de transformation automatique | — |
+| ✅ Sémantique | `src\app\modernisation-application-php\page.tsx:365` | Rector | — |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:328` | Rector | — |
+| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:24` | Rector | — |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:116` | Rector permettent d'appliquer les conventions automatiquement sur le code existant | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | Rector | — |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:67` | Rector pour automatiser les montées de version PHP et Symfony | — |
+| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:22` | Rector peut automatiser cette migration | — |
+| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:100` | Rector pour moderniser votre code Symfony | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | Rector pour automatiser l'évolution du code | — |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:53` | Rector | — |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | Rector | — |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:110` | Rector : maîtrisez l'évolution de votre code Symfony | — |
+| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:179` | Rector | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:59` | Rector | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:73` | Rector | — |
+| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:106` | Rector permet de maîtriser l'évolution de votre code Symfony | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | Rector | — |
+| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:90` | Rector automatise les transformations répétitives | — |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:312` | Rector : maîtrisez l'évolution de votre code Symfony | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:109` | Rector automatisent l'évolution du code Symfony | — |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:128` | Rector : maîtriser l'évolution de votre code Symfony | — |
+| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:138` | Rector | — |
+| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:91` | migration entre versions majeures de frameworks | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:64` | Rector | — |
+
+---
+
+### `/article/retour-sur-lafup-day-2023` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2024.mdx:25` | AFUP Day 2023 | — |
+
+---
+
+### `/article/retour-sur-lafup-day-2024` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:28` | retour sur l'AFUP Day 2024 | — |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:60` | Retour sur l'AFUP Day 2024 | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | retour sur l'AFUP Day 2024 | — |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:23` | AFUP Day 2024 | — |
+| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:93` | AFUP Day 2024 | — |
+
+---
+
+### `/article/retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:88` | retour sur l'AFUP Day 2025 à Lille | — |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:61` | Retour sur l'AFUP Day 2025 Lille | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:93` | retour sur l'AFUP Day 2025 Lille | — |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:99` | Retour sur l'AFUP Day 2025 Lille | — |
+
+---
+
+### `/article/retour-sur-le-forum-php-2024` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **43%** · Partiel : **43%** · Sémantique : **14%** · Total : 7
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 1 exact → sémantique · 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:46` | conférences comme le Forum PHP | — |
+| 🔵 Exact | `content\blog\concretement-cest-quoi-frankenphp.mdx:113` | Retour sur le Forum PHP 2024 | — |
+| 🔵 Exact | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:130` | Retour sur le Forum PHP 2024 | — |
+| 🔵 Exact | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:30` | retour sur le Forum PHP 2024 | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:104` | Forum PHP & SymfonyCon 2024 | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:99` | Forum PHP & SymfonyCon 2024 | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:67` | Forum PHP & SymfonyCon 2024 | — |
+
+---
+
+### `/article/serveurs-mcp-claude-code-developpeurs-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:140` | Serveurs MCP et Claude Code pour les développeurs Symfony | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:277` | Serveurs MCP pour développeurs Symfony | — |
+| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:138` | serveurs MCP pour les développeurs Symfony | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:540` | Serveurs MCP pour développeurs Symfony | — |
+
+---
+
+### `/article/skills-claude-code-equipe-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:133` | skills Claude Code | — |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:146` | skills Claude Code | — |
+
+---
+
+### `/article/swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **91%** · Sémantique : **9%** · Total : 11
+*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
+> 🔧 Actions : 3 partiel → exact · 4 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:280` | OpenAPI automatique | — |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:94` | documentation automatique via Swagger et Nelmio bundle | — |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:112` | Swagger Nelmio bundle et ses fonctionnalités | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:69` | Swagger via le bundle Nelmio | — |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:127` | Swagger Nelmio bundle et ses fonctionnalités | — |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:43` | Swagger et NelmioApiDocBundle | — |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:103` | Swagger Nelmio bundle | — |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:335` | Swagger et NelmioApiDocBundle | — |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:27` | documentation Swagger via Nelmio bundle | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:27` | Swagger via NelmioApiDocBundle | — |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:98` | Swagger : NelmioBundle et ses fonctionnalités | — |
+
+---
+
+### `/article/sylius-la-solution-e-commerce-du-framework-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 6
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 2 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:250` | pourquoi Sylius est la solution e-commerce de référence pour Symfony | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:162` | plateformes e-commerce Sylius | — |
+| ✅ Sémantique | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:70` | Sylius | — |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | Sylius est la solution e-commerce du framework Symfony | — |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:15` | Sylius, la solution e-commerce du framework Symfony | — |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:62` | Sylius | — |
+
+---
+
+### `/article/sylius-vs-prestashop-quelle-solution-e-commerce-choisir` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 2
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:85` | comparatif avec Prestashop | — |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:97` | Sylius vs Prestashop | — |
+
+---
+
+### `/article/symfony-ai-projet-legacy-retour-experience` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **82%** · Sémantique : **18%** · Total : 11
+*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
+> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:471` | intégration de l'IA dans les projets Symfony existants | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:237` | intégration IA dans un projet Symfony existant | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:272` | Symfony AI dans un projet legacy | — |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:99` | Symfony et IA : retour d'expérience sur un projet legacy | — |
+| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:103` | retour d'expérience sur Symfony AI dans un projet legacy | — |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:99` | Symfony AI dans un projet legacy | — |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:123` | construire des workflows IA robustes sur des projets existants | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:90` | Symfony et IA dans un projet legacy | — |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:200` | Symfony AI dans un projet legacy | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:380` | retour d'expérience sur l'intégration de Symfony AI dans un projet legacy | — |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:80` | de l'IA intégrée dans du code legacy | — |
+
+---
+
+### `/article/symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:381` | Symfony Insight | — |
+| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:368` | Symfony Insight | — |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:109` | Symfony Insight : à quoi ça sert et comment le met-on en place ? | — |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:80` | Symfony Insight | — |
+
+---
+
+### `/article/symfony-messenger-colonne-vertebrale-archi-hexagonale` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **81%** · Sémantique : **19%** · Total : 31
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **42%***
+> 🔧 Actions : 9 partiel → exact · 7 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:323` | Symfony Messenger pour les traitements asynchrones | — |
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:460` | architectures hexagonales | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:507` | Messenger pour les traitements asynchrones | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:512` | Messenger pour les traitements asynchrones | — |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:323` | colonne vertébrale d'une architecture hexagonale | — |
+| ✅ Sémantique | `src\app\page.tsx:77` | Messenger pour les traitements asynchrones | — |
+| 🟡 Partiel | `src\app\secteur\api-integration\page.tsx:310` | Symfony Messenger | — |
+| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:304` | Symfony Messenger | — |
+| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:300` | Symfony Messenger | — |
+| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:340` | Messenger | — |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:345` | Symfony Messenger comme colonne vertébrale d'une archi hexagonale | — |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:59` | Symfony Messenger structure les flux de messages | — |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:220` | Symfony Messenger | — |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:399` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | — |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:69` | Symfony Messenger | — |
+| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:41` | Messenger | — |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:272` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:77` | Symfony Messenger | — |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:99` | Symfony Messenger | — |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:110` | Symfony Messenger | — |
+| 🟡 Partiel | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:57` | Messenger qui s'appuie sur les événements pour orchestrer l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:29` | Symfony Messenger | — |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:219` | colonne vertébrale d'une architecture CQRS | — |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:256` | Symfony Messenger : colonne vertébrale de l'architecture hexagonale | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:254` | l'architecture hexagonale appliquée à Symfony | — |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:537` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:59` | Symfony Messenger | — |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:273` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | — |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:20` | Messenger | — |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:30` | Symfony Messenger | — |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:89` | Symfony Messenger | — |
+
+---
+
+### `/article/symfony-pour-les-moldus` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **50%** · Partiel : **33%** · Sémantique : **17%** · Total : 6
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 exact → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:21` | Comprendre Symfony facilement | — |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:128` | Symfony pour débutants | — |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:117` | Symfony pour les débutants | — |
+| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:20` | Symfony pour les moldus | — |
+| 🔵 Exact | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:152` | Symfony pour les moldus | — |
+| 🔵 Exact | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:20` | Symfony pour les moldus | — |
+
+---
+
+### `/article/symfony-vs-laravel-quel-framework-php-choisir` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:40` | article Symfony vs Laravel | — |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | comparatif Symfony vs Laravel | — |
+
+---
+
+### `/article/tout-savoir-sur-la-mise-en-cache-tips` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 18
+*Après correction → Exact match : **28%** · Partiel : **33%** · Sémantique : **39%***
+> 🔧 Actions : 5 partiel → exact · 7 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\integration-redis-symfony\page.tsx:205` | nos conseils sur la mise en cache | — |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:44` | la mise en cache appliquée aux applications web | — |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:46` | stratégies de mise en cache | — |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:113` | Tout savoir sur la mise en cache | — |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:33` | la mise en cache appliquée aux applications PHP | — |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:220` | stratégies de mise en cache complémentaires au CDN CloudFront | — |
+| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:82` | stratégies de mise en cache | — |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:75` | mise en cache | — |
+| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:69` | mise en cache | — |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:53` | stratégies de mise en cache classiques | — |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:196` | Tout savoir sur la mise en cache | — |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:334` | Tout savoir sur la mise en cache | — |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:76` | mise en cache applicative | — |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:111` | mise en cache HTTP | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:55` | mise en cache | — |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | mise en cache HTTP | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:450` | Tout savoir sur la mise en cache | — |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:56` | la mise en cache | — |
+
+---
+
+### `/article/twig-4-ce-que-lon-pourrait-attendre` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:151` | Twig 4 | — |
+| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:37` | les nouveautés attendues dans Twig 4 | — |
+| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:147` | évolutions attendues dans Twig 4 | — |
+
+---
+
+### `/article/utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 12
+*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
+> 🔧 Actions : 4 partiel → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:55` | Composer | — |
+| ✅ Sémantique | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:19` | gestion des dépendances via Composer | — |
+| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:248` | Utilisation de Composer dans le développement Symfony | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:34` | l'utilisation de Composer dans un projet Symfony | — |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:25` | Composer | — |
+| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:88` | gestion des dépendances avec Composer | — |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:83` | l'utilisation de Composer dans un projet Symfony | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | Composer | — |
+| 🟡 Partiel | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:25` | l'utilisation de Composer dans le développement Symfony | — |
+| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:27` | Composer | — |
+| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:227` | Composer | — |
+| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:37` | Composer | — |
+
+---
+
+### `/article/vivatech-2025-linnovation-au-rendez-vous` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 1
+*Après correction → Exact match : **0%** · Partiel : **0%** · Sémantique : **100%***
+> 🔧 Actions : 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:95` | retour sur VivaTech 2025 | — |
+
+---
+
+### `/audit-code-php` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **58%** · Partiel : **42%** · Sémantique : **0%** · Total : 24
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **42%***
+> 🔧 Actions : 7 exact → sémantique · 3 partiel → sémantique
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\agence-symfony-france\page.tsx:330` | audit de code PHP | — |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:340` | audit technique approfondi | — |
+| 🔵 Exact | `src\app\architecture-hexagonale-symfony\page.tsx:367` | audit de code PHP | — |
+| 🟡 Partiel | `src\app\audit-symfony-gratuit\page.tsx:183` | prestation d'audit approfondi | — |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:297` | audit de code PHP | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:259` | Audit technique approfondi → | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:181` | Audit de code PHP | — |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:280` | audit de code | — |
+| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:309` | audit de code | — |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:298` | audit de code | — |
+| 🔵 Exact | `src\app\securite-application-symfony\page.tsx:202` | audit de code PHP | — |
+| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:322` | audit de code | — |
+| 🔵 Exact | `src\app\tests-automatises-php\page.tsx:253` | audit de code PHP | — |
+| 🔵 Exact | `content\blog\code-mort-mission-elimination.mdx:105` | audit de code PHP | — |
+| 🔵 Exact | `content\blog\coding-conventions.mdx:116` | audit de code PHP | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:37` | audit de code | — |
+| 🔵 Exact | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:246` | audit de code PHP | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:89` | audit technique régulier | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:34` | audit technique approfondi | — |
+| 🔵 Exact | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:176` | audit de code PHP | — |
+| 🔵 Exact | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | audit de code PHP | — |
+| 🔵 Exact | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | audit de code PHP | — |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | audit de code PHP | — |
+| 🔵 Exact | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:13` | audit de code PHP | — |
+
+---
+
+### `/audit-ia-entreprise` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
+*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:355` | audit IA en entreprise | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:173` | audit IA en entreprise | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:451` | Audit IA en entreprise Diagnostic de vos processus, accompagnement à la mise en place et formation de vos équipes à l'intelligence artificielle. | — |
+| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:355` | audit IA en entreprise | — |
+
+---
+
+### `/audit-symfony-gratuit` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **11%** · Partiel : **89%** · Sémantique : **0%** · Total : 45
+*Après correction → Exact match : **31%** · Partiel : **29%** · Sémantique : **40%***
+> 🔧 Actions : 9 partiel → exact · 18 partiel → sémantique
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:291` | audit Symfony gratuit de 30 minutes | — |
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:435` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:395` | audit Symfony gratuit de 30 minutes | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:578` | Demander un audit gratuit | — |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:460` | audit Symfony gratuit de 30 minutes | — |
+| 🔵 Exact | `src\app\agence-symfony-nantes\page.tsx:460` | audit Symfony gratuit | — |
+| 🔵 Exact | `src\app\agence-symfony-paris\page.tsx:446` | audit Symfony gratuit | — |
+| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:461` | Audit gratuit 30 min | — |
+| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:437` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:416` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:358` | audit Symfony gratuit de 30 minutes | — |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:405` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:453` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\contact\page.tsx:92` | Demander un audit Symfony gratuit de 30 minutes | — |
+| 🔵 Exact | `src\app\developpement-web-sur-mesure\page.tsx:430` | audit Symfony gratuit | — |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:640` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:383` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\hebergement-symfony\page.tsx:362` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:454` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:391` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:463` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:255` | audit gratuit de 30 minutes | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:265` | Commencer par un diagnostic gratuit → | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:464` | Demander mon diagnostic gratuit | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:182` | Audit Symfony gratuit | — |
+| 🟡 Partiel | `src\app\page.tsx:107` | audit gratuit de 30 minutes | — |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:445` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:482` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\secteur\e-commerce\page.tsx:347` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:365` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:376` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:421` | Demander mon audit gratuit | — |
+| 🟡 Partiel | `src\components\layout\MobileMenu.tsx:125` | { trackEvent("cta_click", { cta_location: "header_mobile", cta_text: "Audit Symfony gratuit" }); closeMenu(); }} > Audit Symfony gratuit | — |
+| 🟡 Partiel | `src\components\sections\StickyMobileCta.tsx:34` | trackEvent("cta_click", { cta_location: "sticky_mobile", cta_text: "Audit gratuit 30 min" })} > Audit gratuit 30 min → | — |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:102` | audit Symfony gratuit de 30 minutes | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:94` | audit Symfony gratuit de 30 minutes | — |
+| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:101` | audit Symfony gratuit | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:115` | audit technique complet | — |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:84` | diagnostic gratuit de votre application | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:43` | audit Symfony gratuit de 30 minutes | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:94` | audit Symfony gratuit de 30 minutes | — |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:103` | audit gratuit de 30 minutes | — |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | audit gratuit | — |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | audit gratuit de 30 minutes | — |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:101` | audit Symfony gratuit de 30 minutes | — |
+
+---
+
+### `/base-de-donnees-postgresql-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **42%** · Sémantique : **58%** · Total : 12
+*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
+> 🔧 Actions : 4 partiel → exact · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:540` | PostgreSQL | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:536` | PostgreSQL | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:526` | PostgreSQL | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:519` | PostgreSQL | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:197` | PostgreSQL et Symfony | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | PostgreSQL | — |
+| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | PostgreSQL dans les projets Symfony | — |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:39` | base de données PostgreSQL avec Symfony | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:58` | PostgreSQL | — |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:61` | PostgreSQL avec Symfony | — |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:529` | optimisation Doctrine / PostgreSQL | — |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:46` | guide sur PostgreSQL et Symfony | — |
+
+---
+
+### `/blog` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 sémantique → exact · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\blog\page.tsx:58` | Tous | — |
+| ✅ Sémantique | `src\app\blog\[category]\page.tsx:112` | Tous | — |
+| ✅ Sémantique | `src\app\green-it\page.tsx:218` | Voir les articles Green IT → | — |
+| ✅ Sémantique | `src\components\seo\GonePage.tsx:15` | Retour au blog → | — |
+| ✅ Sémantique | `src\components\seo\GonePage.tsx:27` | Parcourir tous nos articles | — |
+
+---
+
+### `/cloud-et-devops` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **52%** · Partiel : **17%** · Sémantique : **30%** · Total : 23
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **39%***
+> 🔧 Actions : 3 exact → partiel · 2 exact → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:456` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | — |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:650` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:417` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | — |
+| 🔵 Exact | `src\app\hebergement-symfony\page.tsx:186` | Cloud et DevOps | — |
+| 🔵 Exact | `src\app\hebergement-symfony\page.tsx:302` | Cloud et DevOps | — |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:201` | pipelines CI/CD | — |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:325` | infrastructure DevOps | — |
+| 🔵 Exact | `src\app\integration-elasticsearch-symfony\page.tsx:320` | Cloud et DevOps | — |
+| 🔵 Exact | `src\app\integration-redis-symfony\page.tsx:262` | Cloud et DevOps | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:195` | Cloud et DevOps | — |
+| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:461` | pipeline CI/CD | — |
+| ✅ Sémantique | `src\components\sections\ProcessSteps.tsx:59` | CI/CD | — |
+| 🔵 Exact | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:170` | Cloud et DevOps | — |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:100` | accompagnement cloud et DevOps | — |
+| 🔵 Exact | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:242` | Cloud et DevOps | — |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:37` | DevOps | — |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:95` | services cloud managés | — |
+| 🔵 Exact | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:35` | Cloud et DevOps | — |
+| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:136` | Cloud et DevOps | — |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:160` | monitoring en production | — |
+| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:35` | Cloud et DevOps | — |
+| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:189` | Cloud et DevOps | — |
+| 🔵 Exact | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:56` | Cloud et DevOps | — |
+
+---
+
+### `/contact` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **33%** · Partiel : **11%** · Sémantique : **56%** · Total : 18
+*Après correction → Exact match : **28%** · Partiel : **33%** · Sémantique : **39%***
+> 🔧 Actions : 1 exact → partiel · 3 sémantique → partiel
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\agence-symfony-lille\page.tsx:584` | Nous contacter | — |
+| 🔵 Exact | `src\app\api-nodejs-nestjs\page.tsx:455` | Nous contacter | — |
+| 🔵 Exact | `src\app\api-sur-mesure-symfony\page.tsx:443` | Nous contacter | — |
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:498` | Demander un audit IA | — |
+| 🟡 Partiel | `src\app\audit-symfony-gratuit\page.tsx:451` | Contactez-nous pour en discuter | — |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:514` | Contactez-nous dès aujourd'hui | — |
+| 🔵 Exact | `src\app\expertise-ia\page.tsx:396` | Contactez-nous | — |
+| ✅ Sémantique | `src\app\formation-symfony-entreprise\page.tsx:379` | Demander un programme de formation | — |
+| 🔵 Exact | `src\app\geo-optimisation-ia\page.tsx:368` | Contactez-nous | — |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:366` | Parlons de votre projet | — |
+| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:365` | Parlons de votre projet | — |
+| ✅ Sémantique | `src\app\secteur\finance\page.tsx:365` | Parlons de votre projet | — |
+| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:369` | Demander un devis | — |
+| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:378` | Discutons de votre besoin | — |
+| ✅ Sémantique | `src\app\secteur\saas\page.tsx:364` | Parlons de votre projet | — |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:378` | Demander un audit | — |
+| ✅ Sémantique | `src\components\layout\MobileMenu.tsx:134` | { trackEvent("cta_click", { cta_location: "header_mobile", cta_text: "Contact" }); closeMenu(); }} > Contact | — |
+| 🔵 Exact | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:531` | contactez-nous | — |
+
+---
+
+### `/developpement-frontend` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **50%** · Partiel : **20%** · Sémantique : **30%** · Total : 10
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
+> 🔧 Actions : 1 exact → partiel · 1 exact → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:294` | expertise frontend complète | — |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:217` | frontend React et Vue.js | — |
+| 🔵 Exact | `src\app\developpement-typescript\page.tsx:324` | développement frontend | — |
+| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:254` | frontend | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:193` | Développement frontend | — |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:252` | Développement frontend sur mesure | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:106` | Développement frontend sur mesure | — |
+| 🔵 Exact | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | développement frontend | — |
+| 🔵 Exact | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:88` | développement frontend | — |
+| 🔵 Exact | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:52` | développement frontend | — |
+
+---
+
+### `/developpement-nodejs` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 9
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 3 sémantique → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\api-nodejs-nestjs\page.tsx:195` | développement Node.js | — |
+| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:212` | Node.js | — |
+| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:318` | Node.js | — |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:218` | Node.js | — |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:224` | backend Node.js | — |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:346` | APIs Node.js | — |
+| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:98` | développement Node.js | — |
+| ✅ Sémantique | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:115` | développement Node.js | — |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:25` | développement Node.js sur mesure | — |
+
+---
+
+### `/developpement-php` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **25%** · Partiel : **0%** · Sémantique : **75%** · Total : 16
+*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
+> 🔧 Actions : 1 sémantique → exact · 5 sémantique → partiel
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\base-de-donnees-postgresql-symfony\page.tsx:209` | applications PHP | — |
+| 🔵 Exact | `src\app\base-de-donnees-postgresql-symfony\page.tsx:325` | développement PHP | — |
+| ✅ Sémantique | `src\app\integration-elasticsearch-symfony\page.tsx:204` | applications PHP | — |
+| ✅ Sémantique | `src\app\integration-elasticsearch-symfony\page.tsx:310` | applications PHP | — |
+| ✅ Sémantique | `src\app\integration-redis-symfony\page.tsx:198` | applications PHP | — |
+| ✅ Sémantique | `src\app\integration-redis-symfony\page.tsx:322` | application PHP | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:191` | Développement PHP | — |
+| ✅ Sémantique | `src\app\pourquoi-efficience-it\page.tsx:273` | PHP et Symfony | — |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:40` | PHP et Symfony | — |
+| ✅ Sémantique | `content\blog\concretement-cest-quoi-frankenphp.mdx:109` | développement PHP sur mesure | — |
+| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:12` | développement d'applications web | — |
+| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:78` | Développement PHP sur mesure | — |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:146` | Développement PHP sur mesure | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:20` | agence qui travaille avec les deux technologies | — |
+| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:48` | développement PHP | — |
+| 🔵 Exact | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:13` | développement PHP | — |
+
+---
+
+### `/developpement-react` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | React | — |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:29` | React | — |
+
+---
+
+### `/developpement-typescript` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **33%** · Partiel : **0%** · Sémantique : **67%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | TypeScript | — |
+| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:102` | TypeScript | — |
+| 🔵 Exact | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:54` | développement TypeScript | — |
+
+---
+
+### `/developpement-vuejs` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 1 sémantique → exact · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:290` | Vue.js | — |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:354` | Vue.js | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | Vue.js | — |
+| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:27` | développement Vue.js | — |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:48` | Vue.js | — |
+
+---
+
+### `/developpement-web-sur-mesure` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **47%** · Partiel : **17%** · Sémantique : **36%** · Total : 36
+*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **39%***
+> 🔧 Actions : 5 exact → partiel · 1 exact → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:445` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | — |
+| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:463` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | — |
+| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:311` | Symfony | — |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:422` | développement d'API sur mesure avec Symfony | — |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:246` | développement web sur mesure | — |
+| 🟡 Partiel | `src\app\developpement-php\page.tsx:348` | projet de développement web sur mesure | — |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:229` | projet web sur mesure | — |
+| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:332` | projet web sur mesure | — |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:184` | solutions e-commerce sur mesure | — |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:324` | applications web sur mesure | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:406` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:192` | Développement web sur mesure | — |
+| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:445` | développement web | — |
+| ✅ Sémantique | `src\app\secteur\page.tsx:185` | web sur mesure | — |
+| ✅ Sémantique | `src\components\sections\ProcessSteps.tsx:55` | applications web sur mesure | — |
+| 🔵 Exact | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | développement web sur mesure | — |
+| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:266` | conception d'une application métier | — |
+| 🔵 Exact | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:14` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:243` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:151` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:68` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:96` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:83` | développement web sur mesure | — |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:49` | projet web sur mesure | — |
+| 🔵 Exact | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:99` | développement web sur mesure | — |
+| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:258` | développement d'applications web Symfony | — |
+| 🔵 Exact | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:338` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:119` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:112` | développement web sur mesure | — |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:106` | développement web sur mesure en Symfony | — |
+| 🔵 Exact | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:36` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:160` | développement web sur mesure | — |
+| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | construction d'applications métier Symfony | — |
+| 🔵 Exact | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:129` | développement web sur mesure | — |
+| 🔵 Exact | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:120` | développement web sur mesure | — |
+| ✅ Sémantique | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:56` | applications métier sur mesure | — |
+
+---
+
+### `/ecommerce-sylius` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 12
+*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
+> 🔧 Actions : 4 sémantique → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:518` | Sylius | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:329` | Sylius, la solution e-commerce Symfony | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:326` | Sylius, la solution e-commerce Symfony | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:505` | Sylius | — |
+| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:178` | Sylius | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | e-commerce | — |
+| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | e-commerce Sylius | — |
+| ✅ Sémantique | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:113` | e-commerce Sylius | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:85` | Sylius | — |
+| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:70` | e-commerce Sylius | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:20` | agence spécialisée Symfony et Sylius | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:97` | Sylius | — |
+
+---
+
+### `/expertise-ia` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **17%** · Partiel : **0%** · Sémantique : **83%** · Total : 12
+*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
+> 🔧 Actions : 2 sémantique → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:368` | intégration technique dans une application Symfony | — |
+| 🔵 Exact | `src\app\geo-optimisation-ia\page.tsx:263` | expertise IA | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:206` | Expertise IA | — |
+| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:268` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:95` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:89` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:109` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:81` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:95` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:195` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:529` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:267` | expertise en intelligence artificielle | — |
+
+---
+
+### `/formation-symfony-entreprise` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **7%** · Partiel : **87%** · Sémantique : **7%** · Total : 15
+*Après correction → Exact match : **33%** · Partiel : **27%** · Sémantique : **40%***
+> 🔧 Actions : 4 partiel → exact · 5 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:340` | formations Symfony en entreprise | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:301` | formations Symfony | — |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:358` | formations Symfony en entreprise | — |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:347` | formations Symfony en entreprise | — |
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:410` | formation professionnelle | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:200` | Formation Symfony entreprise | — |
+| 🟡 Partiel | `src\app\page.tsx:96` | formations Symfony en entreprise | — |
+| 🟡 Partiel | `src\app\secteur\renfort-equipe\page.tsx:327` | formation Symfony | — |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:111` | formation Symfony en entreprise | — |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:100` | formations Symfony en entreprise | — |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:81` | formation Symfony en entreprise | — |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:74` | formation Symfony certifiante | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:92` | formations Symfony en entreprise | — |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:16` | formations Symfony en entreprise | — |
+| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:82` | formation Symfony en entreprise | — |
+
+---
+
+### `/geo-optimisation-ia` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 7
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 2 sémantique → exact · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:182` | visibilité dans les moteurs IA (GEO) | — |
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:308` | offre dédiée d'optimisation GEO | — |
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:440` | GEO - Optimisation IA Rendez votre site visible dans ChatGPT, Perplexity et les AI Overviews de Google grâce au Generative Engine Optimization. | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:207` | GEO et optimisation IA | — |
+| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:95` | optimisation pour les moteurs IA | — |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:107` | GEO et optimisation IA | — |
+| ✅ Sémantique | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:89` | GEO et optimisation IA | — |
+
+---
+
+### `/green-it` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **60%** · Partiel : **0%** · Sémantique : **40%** · Total : 5
+*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
+> 🔧 Actions : 2 exact → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:14` | Green IT | — |
+| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:109` | Green IT | — |
+| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:48` | page Green IT | — |
+| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:74` | page Green IT | — |
+| 🔵 Exact | `content\blog\ecosia-preservateur-decologie.mdx:79` | Green IT | — |
+
+---
+
+### `/hebergement-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **47%** · Partiel : **6%** · Sémantique : **47%** · Total : 17
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
+> 🔧 Actions : 3 exact → partiel · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:556` | hébergement optimisé | — |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:317` | déploiement en production | — |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:209` | hébergement dédié | — |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:333` | hébergement adapté | — |
+| 🟡 Partiel | `src\app\integration-redis-symfony\page.tsx:269` | hébergement Symfony optimisé | — |
+| 🔵 Exact | `src\app\secteur\e-commerce\page.tsx:294` | hébergement Symfony | — |
+| 🔵 Exact | `src\app\secteur\saas\page.tsx:197` | hébergement Symfony | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:56` | hébergement managé | — |
+| 🔵 Exact | `content\blog\concretement-cest-quoi-frankenphp.mdx:39` | hébergement Symfony | — |
+| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:228` | hébergement fiable | — |
+| 🔵 Exact | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:242` | hébergement Symfony | — |
+| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:81` | hébergement Symfony | — |
+| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:34` | hébergement responsable | — |
+| 🔵 Exact | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:187` | hébergement Symfony | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:66` | hébergement | — |
+| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:177` | hébergement Symfony | — |
+| 🔵 Exact | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:97` | hébergement Symfony | — |
+
+---
+
+### `/integration-docker-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **36%** · Sémantique : **64%** · Total : 11
+*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
+> 🔧 Actions : 3 partiel → exact · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:500` | Docker | — |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:552` | Docker | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:529` | Docker | — |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:538` | intégration Docker | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:512` | Docker | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:196` | Docker et Symfony | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:41` | Docker | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:64` | Docker | — |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:28` | intégration de Docker dans un projet Symfony | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:60` | Docker | — |
+| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:87` | Docker et Symfony en production | — |
+
+---
+
+### `/integration-elasticsearch-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 9
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 3 partiel → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:548` | Elasticsearch | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:544` | Elasticsearch | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:534` | Elasticsearch | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:527` | recherche Elasticsearch | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:199` | Elasticsearch et Symfony | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | Elasticsearch | — |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:33` | intégration d'Elasticsearch dans Symfony | — |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:141` | intégration d'Elasticsearch avec Symfony | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | Elasticsearch pour la recherche | — |
+
+---
+
+### `/integration-redis-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **22%** · Sémantique : **78%** · Total : 9
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:544` | Redis | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:540` | Redis | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:530` | Redis | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:523` | cache Redis | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:198` | Redis et Symfony | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | Redis | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | Redis pour le cache | — |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:56` | Redis | — |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:27` | intégration de Redis avec Symfony | — |
+
+---
+
+### `/l-entreprise` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\contact\page.tsx:102` | En savoir plus sur l'agence | — |
+
+---
+
+### `/maintenance-applicative-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **38%** · Partiel : **57%** · Sémantique : **5%** · Total : 21
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 2 exact → sémantique · 6 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:193` | maintenir | — |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:491` | maintenance applicative | — |
+| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:477` | maintenance applicative | — |
+| 🔵 Exact | `src\app\migration-symfony\page.tsx:367` | maintenance applicative Symfony | — |
+| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:439` | maintenance applicative Symfony | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:417` | Maintenance applicative → | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:175` | Maintenance applicative Symfony | — |
+| 🟡 Partiel | `src\app\page.tsx:88` | maintenance applicative | — |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:367` | maintenance applicative | — |
+| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:468` | maintenance applicative | — |
+| 🔵 Exact | `src\app\reprise-projet-symfony\page.tsx:446` | maintenance applicative Symfony | — |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:194` | maintenance applicative | — |
+| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:292` | maintenance applicative | — |
+| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:183` | maintenance applicative | — |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:82` | maintenance applicative | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:67` | maintenance applicative | — |
+| 🔵 Exact | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:73` | maintenance applicative Symfony | — |
+| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:59` | maintenance applicative Symfony | — |
+| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:70` | maintenance applicative Symfony | — |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | maintenance applicative Symfony | — |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:72` | maintenance applicative | — |
+
+---
+
+### `/migration-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **50%** · Partiel : **44%** · Sémantique : **6%** · Total : 16
+*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
+> 🔧 Actions : 3 exact → sémantique · 2 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:521` | migration de versions Symfony | — |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:374` | migration Symfony | — |
+| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:289` | refonte et migration sous Symfony | — |
+| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:421` | migration Symfony | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:376` | Migration Symfony → | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:172` | Migration Symfony | — |
+| ✅ Sémantique | `src\app\page.tsx:92` | migration vers les dernières versions LTS | — |
+| 🔵 Exact | `src\app\reprise-projet-symfony\page.tsx:436` | migration Symfony | — |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | migration technique vers Symfony | — |
+| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:107` | migration Symfony | — |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:115` | accompagnement migration Symfony | — |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:45` | migration Symfony clé en main | — |
+| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:14` | migration Symfony | — |
+| 🔵 Exact | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:208` | migration Symfony | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:73` | migration vers une version LTS de Symfony | — |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | migration Symfony | — |
+
+---
+
+### `/modernisation-application-php` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 15
+*Après correction → Exact match : **33%** · Partiel : **27%** · Sémantique : **40%***
+> 🔧 Actions : 5 partiel → exact
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:287` | modernisation d'applications PHP | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:318` | Notre offre de modernisation PHP | — |
+| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:297` | moderniser | — |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:348` | modernisation d'application PHP | — |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:335` | Modernisation PHP → | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:173` | Modernisation d'application PHP | — |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:427` | modernisation d'application PHP | — |
+| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:311` | modernisation progressive | — |
+| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:189` | modernise vos applications legacy | — |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:170` | modernisation d'application PHP | — |
+| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:45` | modernisation d'applications PHP | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:20` | agence spécialisée en modernisation d'applications PHP | — |
+| ✅ Sémantique | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:97` | moderniser leur application PHP | — |
+| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:142` | modernisation de l'application PHP | — |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:263` | modernisation d'application PHP | — |
+
+---
+
+### `/modernisation-applicative` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 12
+*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
+> 🔧 Actions : 2 exact → partiel · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:349` | mise à niveau de vos systèmes | — |
+| ✅ Sémantique | `src\app\developpement-php\page.tsx:239` | modernisation d'applications legacy | — |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:356` | modernisation applicative | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:170` | Amélioration de vos logiciels existants | — |
+| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:274` | Adaptation de vos outils aux standards actuels | — |
+| 🔵 Exact | `content\blog\code-mort-mission-elimination.mdx:105` | modernisation applicative | — |
+| 🔵 Exact | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:246` | modernisation applicative | — |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:107` | modernisation de vos outils | — |
+| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:94` | modernisation applicative | — |
+| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:14` | modernisation de vos applications | — |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:13` | modernisation applicative | — |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | modernisation applicative | — |
+
+---
+
+### `/nos-references` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:480` | références clients | — |
+
+---
+
+### `/notre-expertise` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **7%** · Partiel : **7%** · Sémantique : **86%** · Total : 14
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 1 partiel → exact · 2 sémantique → exact · 4 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:199` | experts Symfony | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:186` | expertise Symfony de référence | — |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:186` | expertise Symfony de référence | — |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:184` | spécialistes Symfony | — |
+| ✅ Sémantique | `src\app\contact\page.tsx:97` | Découvrir nos expertises techniques | — |
+| ✅ Sémantique | `src\app\la-team\page.tsx:138` | Découvrir nos expertises → | — |
+| ✅ Sémantique | `src\app\la-team\page.tsx:184` | Découvrir nos services → | — |
+| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:421` | développement Symfony | — |
+| ✅ Sémantique | `src\app\secteur\page.tsx:333` | expertise transversale | — |
+| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:267` | expertise technique | — |
+| ✅ Sémantique | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:102` | expertise technique | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:103` | Efficience IT | — |
+| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:112` | notre expertise Symfony | — |
+| 🔵 Exact | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | notre expertise | — |
+
+---
+
+### `/politique-de-confidentialite` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\components\ui\CookieConsent.tsx:47` | En savoir plus | — |
+
+---
+
+### `/pourquoi-efficience-it` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:33` | pourquoi nous choisir | — |
+
+---
+
+### `/processus-collaboration` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:277` | notre processus de collaboration | — |
+| 🟡 Partiel | `src\components\sections\ProcessSteps.tsx:63` | notre processus de collaboration | — |
+
+---
+
+### `/reprise-projet-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **79%** · Sémantique : **21%** · Total : 14
+*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
+> 🔧 Actions : 4 partiel → exact · 3 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:277` | reprise de projets Symfony | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:525` | reprise de projets | — |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:332` | Notre service de reprise de projets Symfony | — |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:359` | reprise de projet Symfony | — |
+| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:430` | reprise de projet Symfony | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:299` | Reprise de projet Symfony → | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:174` | Reprise de projet Symfony | — |
+| 🟡 Partiel | `src\app\page.tsx:103` | reprise de projets Symfony | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:14` | reprise de projet Symfony | — |
+| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:105` | reprendre un projet en main | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:20` | reprendre des projets | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:69` | reprise de projet Symfony | — |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:78` | Reprendre un projet en dette technique | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:92` | reprise de projets Symfony | — |
+
+---
+
+### `/secteur` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:303` | secteurs d'activité | — |
+
+---
+
+### `/secteur/api-integration` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:297` | API sur mesure | — |
+| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:314` | intégration d'API | — |
+
+---
+
+### `/secteur/e-commerce` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 2 sémantique → exact · 3 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:261` | spécialistes du secteur e-commerce | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:213` | E-commerce | — |
+| ✅ Sémantique | `src\app\secteur\page.tsx:307` | e-commerce Sylius | — |
+| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:275` | e-commerce | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | e-commerce | — |
+| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | projets e-commerce | — |
+| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:18` | secteur e-commerce | — |
+| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:84` | secteur e-commerce | — |
+
+---
+
+### `/secteur/finance` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **38%** · Partiel : **0%** · Sémantique : **63%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 1 exact → partiel · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:216` | Finance | — |
+| ✅ Sémantique | `src\app\secteur\page.tsx:314` | conformité bancaire | — |
+| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:282` | finance | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | secteur financier | — |
+| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | finance | — |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:49` | entreprises du secteur financier | — |
+| ✅ Sémantique | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:99` | secteur financier | — |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:19` | conformité dans la finance | — |
+
+---
+
+### `/secteur/industrie` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **38%** · Partiel : **0%** · Sémantique : **63%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 1 exact → partiel · 2 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:290` | secteur industriel | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:214` | Industrie | — |
+| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:289` | industrie | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | industrielle | — |
+| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | industrie | — |
+| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:258` | outils métier industriels | — |
+| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:18` | secteur industriel | — |
+| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:223` | applications industrielles | — |
+
+---
+
+### `/secteur/maintenance-applicative` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **33%** · Partiel : **0%** · Sémantique : **67%** · Total : 3
+*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
+> 🔧 Actions : 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:312` | suivi de vos systèmes | — |
+| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:324` | maintenance de vos applications | — |
+| 🔵 Exact | `src\app\secteur\securite-conformite\page.tsx:326` | maintenance applicative | — |
+
+---
+
+### `/secteur/migration-legacy` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 2
+*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
+> 🔧 Actions : 1 exact → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:316` | modernisation | — |
+| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:307` | migration legacy | — |
+
+---
+
+### `/secteur/saas` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 8
+*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
+> 🔧 Actions : 2 exact → partiel · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:215` | SaaS | — |
+| ✅ Sémantique | `src\app\secteur\page.tsx:321` | SaaS multi-tenant | — |
+| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:296` | SaaS | — |
+| 🔵 Exact | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | SaaS | — |
+| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | SaaS | — |
+| ✅ Sémantique | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:44` | produit SaaS | — |
+| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:177` | plateformes SaaS | — |
+| ✅ Sémantique | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:102` | application SaaS | — |
+
+---
+
+### `/securite-application-symfony` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 12
+*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
+> 🔧 Actions : 4 partiel → exact · 1 sémantique → partiel
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:480` | sécurité applicative | — |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:185` | Sécurité applicative Symfony | — |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:300` | couche de sécurité | — |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:280` | sécurité de votre application | — |
+| 🟡 Partiel | `src\app\secteur\securite-conformite\page.tsx:184` | sécurise vos applications Symfony | — |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:58` | Sécurité applicative | — |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:89` | sécurité applicative | — |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:34` | sécurité applicative Symfony | — |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:19` | sécurité applicative Symfony | — |
+| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:58` | sécurité applicative | — |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:86` | Sécurité applicative | — |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:70` | sécurité applicative Symfony | — |
+
+---
+
+### `/tests-automatises-php` ✅
+> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
+Exact match : **19%** · Partiel : **68%** · Sémantique : **14%** · Total : 37
+*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
+> 🔧 Actions : 4 partiel → exact · 10 partiel → sémantique
+
+> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\agence-symfony-nantes\page.tsx:355` | tests automatisés PHP | — |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:549` | tests automatisés | — |
+| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:344` | tests automatisés | — |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:340` | tests automatisés | — |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:381` | tests automatisés PHP | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:341` | Tests automatisés PHP → | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:183` | Tests automatisés PHP | — |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:334` | revue de code et des tests automatisés | — |
+| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:383` | tests automatisés | — |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:304` | tests automatisés | — |
+| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:284` | tester exhaustivement | — |
+| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:298` | tests automatisés | — |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:316` | tests automatisés | — |
+| 🟡 Partiel | `src\app\secteur\saas\page.tsx:301` | approche par tests automatisés | — |
+| 🟡 Partiel | `src\app\secteur\securite-conformite\page.tsx:286` | tests automatisés | — |
+| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:209` | tests automatisés | — |
+| ✅ Sémantique | `content\blog\coding-conventions.mdx:86` | stratégie de tests | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | tests automatisés | — |
+| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | tests automatisés PHP | — |
+| 🔵 Exact | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:120` | tests automatisés PHP | — |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:91` | tests automatisés | — |
+| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:37` | tests automatisés PHP | — |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:36` | tests automatisés | — |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:115` | tests automatisés en PHP | — |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:105` | tests automatisés | — |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:22` | tests automatisés | — |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:39` | tests automatisés | — |
+| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | stratégie de couverture de tests Symfony | — |
+| 🔵 Exact | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | tests automatisés PHP | — |
+| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:164` | stratégie de tests end-to-end et PHPUnit | — |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:44` | tests automatisés | — |
+| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | tests PHPUnit en intégration continue | — |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:43` | tests automatisés | — |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:26` | tests automatisés | — |
+| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:69` | tests automatisés | — |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:397` | tests automatisés | — |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:44` | tests automatisés | — |
+
+## Légende
+- 🔵 Exact match
+- 🟡 Partiel
+- ✅ Sémantique
\ No newline at end of file
diff --git a/content/blog/claude-assistant-architecture-symfony-legacy.mdx b/content/blog/claude-assistant-architecture-symfony-legacy.mdx
index b38d2dd6..64738d5b 100644
--- a/content/blog/claude-assistant-architecture-symfony-legacy.mdx
+++ b/content/blog/claude-assistant-architecture-symfony-legacy.mdx
@@ -271,7 +271,7 @@ Le plus inattendu : le `CLAUDE.md` est devenu le document d'architecture de réf
- [Symfony AI dans un projet legacy](/article/symfony-ai-projet-legacy-retour-experience), intégrer l'IA dans du code existant
- [RAG avec Symfony AI et Doctrine](/article/rag-symfony-ai-doctrine-indexer-base-metier), indexer sa base métier pour l'IA
-- [Modernisation applicative](/modernisation-applicative), notre parcours complet pour reprendre un legacy en main
+- [Adaptation de vos outils aux standards actuels](/modernisation-applicative), notre parcours complet pour reprendre un legacy en main
- [Migration Symfony vers l'architecture hexagonale](/article/migration-symfony-architecture-hexagonale-retour-mission), structurer le legacy
- [Monter en compétence sur Claude Code](/article/monter-en-competence-claude-code), le guide complet : skills, hooks et serveurs MCP
- [Serveurs MCP pour développeurs Symfony](/article/serveurs-mcp-claude-code-developpeurs-symfony), connecter Claude Code à sa base de données et ses outils
diff --git a/content/blog/commandes-invocables-symfony-attributs-console.mdx b/content/blog/commandes-invocables-symfony-attributs-console.mdx
index 88cb5269..533e0b9b 100644
--- a/content/blog/commandes-invocables-symfony-attributs-console.mdx
+++ b/content/blog/commandes-invocables-symfony-attributs-console.mdx
@@ -331,7 +331,7 @@ Trois critères pour décider :
2. **Commandes complexes avec beaucoup d'inputs** → migrez avec `#[MapInput]` pour assainir la signature
3. **Commandes avec `interact()` sophistiqué** (wizards multi-étapes) → gardez l'ancien style ou utilisez `#[Interact]` si la logique reste simple
-Si vous êtes en train de [migrer votre projet vers Symfony 7.4](/article/guide-de-migration-dans-un-projet-symfony), c'est l'occasion idéale de convertir vos commandes une par une. Notre accompagnement en [migration Symfony](/migration-symfony) couvre ce type de modernisation progressive. [PHPStan](/article/phpstan-niveau-max-symfony-10-erreurs) vous aidera à vérifier que vous n'avez rien cassé.
+Si vous êtes en train de [migrer votre projet vers Symfony 7.4](/article/guide-de-migration-dans-un-projet-symfony), c'est l'occasion idéale de convertir vos commandes une par une. Notre accompagnement en [migration technique vers Symfony](/migration-symfony) couvre ce type de modernisation progressive. [PHPStan](/article/phpstan-niveau-max-symfony-10-erreurs) vous aidera à vérifier que vous n'avez rien cassé.
## Un signe de la direction que prend Symfony
diff --git a/content/blog/comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx b/content/blog/comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx
index 86cb7ed0..9c9911e9 100644
--- a/content/blog/comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx
+++ b/content/blog/comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx
@@ -100,7 +100,7 @@ L'OWASP SAMM fournit un framework d'évaluation structuré autour de cinq pratiq
Former des équipes à la sécurité informatique n'est pas un projet avec une date de fin. C'est une capacité organisationnelle qui se construit par couches successives : d'abord les fondamentaux (OWASP Top 10, hygiène de développement), puis les pratiques d'ingénierie (revue de code sécurisée, outillage SAST/DAST, gestion des dépendances), enfin la dimension architecturale (threat modeling, pipeline DevSecOps, programme de Security Champions, pilotage par la maturité).
-L'erreur la plus fréquente est de traiter la sécurité comme un sujet à part, délégué à des spécialistes. Les organisations les plus résilientes sont celles où chaque développeur, chaque lead, chaque architecte intègre la sécurité comme une dimension intrinsèque de la qualité logicielle. Notre service d'[accompagnement et conseil](/accompagnement-et-conseil) inclut des programmes de sensibilisation et de formation adaptés au niveau de maturité de chaque équipe.
+L'erreur la plus fréquente est de traiter la sécurité comme un sujet à part, délégué à des spécialistes. Les organisations les plus résilientes sont celles où chaque développeur, chaque lead, chaque architecte intègre la sécurité comme une dimension intrinsèque de la qualité logicielle. Notre service d'[appui stratégique](/accompagnement-et-conseil) inclut des programmes de sensibilisation et de formation adaptés au niveau de maturité de chaque équipe.
## Pour aller plus loin
diff --git a/content/blog/comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx b/content/blog/comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx
index 04713a39..efdfb2c7 100644
--- a/content/blog/comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx
+++ b/content/blog/comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx
@@ -102,7 +102,7 @@ Un audit technique régulier, comme un contrôle technique pour un véhicule, d
## Pour aller plus loin
-- [Découvrez les raisons de nous confier la maintenance de vos applications web](/article/decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web), pourquoi la maintenance applicative est indispensable après un audit
+- [Pourquoi nous confier la maintenance de vos applications web](/article/decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web), pourquoi la maintenance applicative est indispensable après un audit
- [La dette technique : faut-il vraiment en avoir peur ?](/article/la-dette-technique-faut-il-vraiment-en-avoir-peur), comprendre et gérer la dette technique identifiée lors d'un audit
- [PHPStan au niveau max sur un projet Symfony](/article/phpstan-niveau-max-symfony-10-erreurs), les erreurs les plus courantes révélées par l'analyse statique
- [Guide de migration dans un projet Symfony](/article/guide-de-migration-dans-un-projet-symfony), transformer les recommandations d'audit en plan de migration concret
diff --git a/content/blog/core-team-organisation-projet.mdx b/content/blog/core-team-organisation-projet.mdx
index bee7a6c7..284a4707 100644
--- a/content/blog/core-team-organisation-projet.mdx
+++ b/content/blog/core-team-organisation-projet.mdx
@@ -72,7 +72,7 @@ Les outils collaboratifs deviennent le centre de gravité : le code, les issues,
La Core Team doit pouvoir dire "non" ou changer de direction sans attendre un aval hiérarchique. Concrètement, cela passe par un système de vote entre membres ou l'autorité du Lead sur les sujets non consensuels. Cette décentralisation élimine les goulots d'étranglement bureaucratiques qui paralysent tant de projets.
-C'est exactement le même principe qu'un bon [cahier des charges agile](/article/comment-rediger-un-cahier-de-charge-pour-un-projet-agile) : définir un cadre clair, puis laisser l'équipe autonome dans l'exécution. Notre service d'[accompagnement et conseil](/accompagnement-et-conseil) aide les organisations à structurer leurs équipes selon ce modèle.
+C'est exactement le même principe qu'un bon [cahier des charges agile](/article/comment-rediger-un-cahier-de-charge-pour-un-projet-agile) : définir un cadre clair, puis laisser l'équipe autonome dans l'exécution. Notre service de [pilotage stratégique](/accompagnement-et-conseil) aide les organisations à structurer leurs équipes selon ce modèle.
### L'automatisation au service du flux
diff --git a/content/blog/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx b/content/blog/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx
index 3dd8c08a..7346d088 100644
--- a/content/blog/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx
+++ b/content/blog/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx
@@ -111,7 +111,7 @@ Avez-vous une idée de projet ? Contactez Efficience IT qui vous accompagnera to
- [Comment rédiger un cahier des charges pour un projet Agile](/article/comment-rediger-un-cahier-de-charge-pour-un-projet-agile), structurer votre projet pour maximiser ses chances de succès
- [Pourquoi choisir Symfony pour vos projets](/article/pourquoi-choisir-symfony-pour-vos-projets), les raisons techniques qui en font le framework de référence pour les projets métier
-- [Découvrez les raisons de nous confier la maintenance de vos applications web](/article/decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web), assurer la pérennité du MVP après sa mise en production
+- [Maintenance d’applications web : pourquoi nous choisir](/article/decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web), assurer la pérennité du MVP après sa mise en production
- [Symfony : Le framework PHP pour les projets web](https://symfony.com/), le framework utilisé pour développer le MVP Doctavis
- [Lean Startup : Méthodologie MVP](http://theleanstartup.com/), l'approche Lean Startup qui inspire la construction de MVP
- [API Platform : Framework pour créer des API](https://api-platform.com/), outil pour construire rapidement des API robustes avec Symfony
diff --git a/content/blog/guide-de-migration-dans-un-projet-symfony.mdx b/content/blog/guide-de-migration-dans-un-projet-symfony.mdx
index 31a2fa2f..4c86ed9c 100644
--- a/content/blog/guide-de-migration-dans-un-projet-symfony.mdx
+++ b/content/blog/guide-de-migration-dans-un-projet-symfony.mdx
@@ -104,7 +104,7 @@ Toute migration majeure mérite une analyse de risques formalisée. Trois axes s
**Risque métier** : périodes critiques à éviter (Black Friday, clôture comptable), SLA à respecter, tolérance à l'indisponibilité, impact d'une régression sur le chiffre d'affaires.
-Un projet avec une dette technique modérée, une bonne couverture de tests et une équipe expérimentée migrera en place avec la stratégie par phases. Un projet legacy critique avec peu de tests et des bundles abandonnés justifiera un Strangler Fig ou une réécriture partielle. Pour les applications PHP vieillissantes, notre parcours de [modernisation applicative](/modernisation-applicative) prend en charge la transition complète vers un socle Symfony moderne. Dans ce second cas, notre service de [migration Symfony](/migration-symfony) accompagne les équipes de l'audit initial jusqu'au déploiement de la version cible, en s'appuyant sur une méthodologie éprouvée.
+Un projet avec une dette technique modérée, une bonne couverture de tests et une équipe expérimentée migrera en place avec la stratégie par phases. Un projet legacy critique avec peu de tests et des bundles abandonnés justifiera un Strangler Fig ou une réécriture partielle. Pour les applications PHP vieillissantes, notre parcours de [modernisation de vos outils](/modernisation-applicative) prend en charge la transition complète vers un socle Symfony moderne. Dans ce second cas, notre service de [migration Symfony](/migration-symfony) accompagne les équipes de l'audit initial jusqu'au déploiement de la version cible, en s'appuyant sur une méthodologie éprouvée.
### Conduire le changement dans l'organisation
diff --git a/content/blog/les-6-etapes-pour-monter-en-competences-sur-symfony.mdx b/content/blog/les-6-etapes-pour-monter-en-competences-sur-symfony.mdx
index 71db121d..5bdf4296 100644
--- a/content/blog/les-6-etapes-pour-monter-en-competences-sur-symfony.mdx
+++ b/content/blog/les-6-etapes-pour-monter-en-competences-sur-symfony.mdx
@@ -18,7 +18,7 @@ Pour structurer votre apprentissage, quelques ressources se distinguent par leur
- [SymfonyCasts](https://symfonycasts.com/), dont les parcours vidéo progressifs permettent de comprendre le "pourquoi" derrière chaque mécanisme
- Le blog officiel Symfony, indispensable pour suivre les évolutions du framework à chaque version
-La lecture seule ne suffit pas. Dès les premières semaines, créez un projet personnel qui dépasse le simple CRUD : une application avec authentification, gestion de rôles et au moins une [commande console](/article/commandes-invocables-symfony-attributs-console). Pour les développeurs qui abordent le framework depuis zéro, [Symfony pour les moldus](/article/symfony-pour-les-moldus) offre une introduction accessible avant de plonger dans ces ressources. C'est dans la friction du réel que se forment les réflexes.
+La lecture seule ne suffit pas. Dès les premières semaines, créez un projet personnel qui dépasse le simple CRUD : une application avec authentification, gestion de rôles et au moins une [commande console](/article/commandes-invocables-symfony-attributs-console). Pour les développeurs qui abordent le framework depuis zéro, [Comprendre Symfony facilement](/article/symfony-pour-les-moldus) offre une introduction accessible avant de plonger dans ces ressources. C'est dans la friction du réel que se forment les réflexes.
## Maîtriser le conteneur de services et l'injection de dépendances
diff --git a/content/blog/les-certifications-symfony-twig-symfony-sylius.mdx b/content/blog/les-certifications-symfony-twig-symfony-sylius.mdx
index f8b90226..7b9a33b0 100644
--- a/content/blog/les-certifications-symfony-twig-symfony-sylius.mdx
+++ b/content/blog/les-certifications-symfony-twig-symfony-sylius.mdx
@@ -125,4 +125,4 @@ Efficience IT met l'accent sur la formation continue, combinant connaissances th
- [Les 6 étapes pour monter en compétences sur Symfony](/article/les-6-etapes-pour-monter-en-competences-sur-symfony), Un parcours structuré pour progresser sur le framework
- [Pourquoi choisir Symfony pour vos projets](/article/pourquoi-choisir-symfony-pour-vos-projets), Les atouts de Symfony pour le développement d'applications métier
-- [Symfony pour les moldus](/article/symfony-pour-les-moldus), Revenir aux fondamentaux du framework avant de passer la certification
+- [Symfony pour débutants](/article/symfony-pour-les-moldus), Revenir aux fondamentaux du framework avant de passer la certification
diff --git a/content/blog/migration-symfony-architecture-hexagonale-retour-mission.mdx b/content/blog/migration-symfony-architecture-hexagonale-retour-mission.mdx
index cd6de5ec..5b1af5c7 100644
--- a/content/blog/migration-symfony-architecture-hexagonale-retour-mission.mdx
+++ b/content/blog/migration-symfony-architecture-hexagonale-retour-mission.mdx
@@ -11,7 +11,7 @@ proficiencyLevel: "Expert"
Le client nous appelle un mardi. Son application Symfony gère 40 000 commandes par mois. Le code a six ans. Trois équipes bossent dessus en parallèle. Les déploiements prennent deux heures parce que personne n'ose toucher au code sans régression. La dette technique est devenue un risque business.
-La demande : rendre l'application maintenable sans tout réécrire. Ce type de projet est au cœur de notre offre de [modernisation applicative](/modernisation-applicative) et de [migration Symfony](/migration-symfony). On a proposé une migration progressive vers une architecture hexagonale. Pas un big bang. Pas un projet de six mois en salle blanche. Une migration chirurgicale, feature par feature, en continuant à livrer.
+La demande : rendre l'application maintenable sans tout réécrire. Ce type de projet est au cœur de notre offre de [modernisation de vos applications](/modernisation-applicative) et de [migration Symfony](/migration-symfony). On a proposé une migration progressive vers une architecture hexagonale. Pas un big bang. Pas un projet de six mois en salle blanche. Une migration chirurgicale, feature par feature, en continuant à livrer.
Voici comment ça s'est passé.
diff --git a/content/blog/monofony-le-guide-ultime-pour-les-debutants.mdx b/content/blog/monofony-le-guide-ultime-pour-les-debutants.mdx
index e0cb4610..45fce81e 100644
--- a/content/blog/monofony-le-guide-ultime-pour-les-debutants.mdx
+++ b/content/blog/monofony-le-guide-ultime-pour-les-debutants.mdx
@@ -114,7 +114,7 @@ Monofony occupe une place précise dans l'écosystème PHP : entre Symfony pur,
## Pour aller plus loin
-- [Symfony pour les moldus](/article/symfony-pour-les-moldus), comprendre les bases du framework Symfony
+- [Symfony pour les débutants](/article/symfony-pour-les-moldus), comprendre les bases du framework Symfony
- [Pourquoi choisir Symfony pour vos projets](/article/pourquoi-choisir-symfony-pour-vos-projets), les atouts de Symfony pour vos applications
- [Les bundles les plus utilisés dans les projets Symfony](/article/les-bundles-les-plus-utilises-dans-les-projets-symfony), découvrir l'écosystème de bundles qui complète Monofony
- [Dépôt GitHub de Monofony](https://github.com/Monofony/Monofony), code source et documentation du projet
diff --git a/content/blog/symfony-pour-les-moldus.mdx b/content/blog/symfony-pour-les-moldus.mdx
index cc799e29..70d3b22f 100644
--- a/content/blog/symfony-pour-les-moldus.mdx
+++ b/content/blog/symfony-pour-les-moldus.mdx
@@ -79,7 +79,7 @@ La SymfonyCon, conférence annuelle internationale, rassemble chaque année des
Pour un simple site vitrine, Symfony n'est pas nécessairement le bon choix. Il prend tout son sens lorsque le projet implique une logique métier complexe, des intégrations multiples, des exigences de sécurité élevées ou une durée de vie longue. Applications métier (ERP, CRM), plateformes e-commerce, API alimentant des applications mobiles, intranets sécurisés : ce sont les terrains où Symfony excelle, comme le détaille l'article [pourquoi choisir Symfony pour vos projets](/article/pourquoi-choisir-symfony-pour-vos-projets).
-Un framework comme Symfony reste un outil exigeant qui nécessite des développeurs compétents pour en exploiter le potentiel. Pour les équipes qui débutent ou souhaitent monter en compétences, notre [formation Symfony en entreprise](/formation-symfony-entreprise) offre un parcours adapté aux projets réels. Plus largement, notre service d'[accompagnement et conseil](/accompagnement-et-conseil) structure la montée en compétences de vos équipes techniques. S'entourer d'une équipe expérimentée, comme Efficience IT, fait toute la différence entre un projet qui tient ses promesses et un projet qui s'enlise.
+Un framework comme Symfony reste un outil exigeant qui nécessite des développeurs compétents pour en exploiter le potentiel. Pour les équipes qui débutent ou souhaitent monter en compétences, notre [formation Symfony en entreprise](/formation-symfony-entreprise) offre un parcours adapté aux projets réels. Plus largement, notre service d'[expertise stratégique](/accompagnement-et-conseil) structure la montée en compétences de vos équipes techniques. S'entourer d'une équipe expérimentée, comme Efficience IT, fait toute la différence entre un projet qui tient ses promesses et un projet qui s'enlise.
## Pour aller plus loin
diff --git a/package-lock.json b/package-lock.json
index f36bcaea..8302eedf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -583,34 +583,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@cspotcode/source-map-support": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
"node_modules/@csstools/color-helpers": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
@@ -3818,42 +3790,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@tsconfig/node10": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz",
- "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/@tsconfig/node12": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
- "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/@tsconfig/node14": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
- "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/@tsconfig/node16": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
- "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
"node_modules/@tybys/wasm-util": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
@@ -4758,21 +4694,6 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/acorn-walk": {
- "version": "8.3.5",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz",
- "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "acorn": "^8.11.0"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/agent-base": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
@@ -4866,15 +4787,6 @@
"node": ">= 8"
}
},
- "node_modules/arg": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
- "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -6070,15 +5982,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/create-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
- "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -6445,18 +6348,6 @@
"dev": true,
"license": "BSD-3-Clause"
},
- "node_modules/diff": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz",
- "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=0.3.1"
- }
- },
"node_modules/doctrine": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
@@ -11500,15 +11391,6 @@
"node": ">=10"
}
},
- "node_modules/make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true
- },
"node_modules/makeerror": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
@@ -15585,52 +15467,6 @@
"typescript": ">=4.8.4"
}
},
- "node_modules/ts-node": {
- "version": "10.9.2",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
- "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
- }
- },
"node_modules/tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -16104,15 +15940,6 @@
"uuid": "dist/bin/uuid"
}
},
- "node_modules/v8-compile-cache-lib": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
- "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
"node_modules/v8-to-istanbul": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
@@ -16646,18 +16473,6 @@
"fd-slicer": "~1.1.0"
}
},
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/scripts/audit-anchor-diversity.ts b/scripts/audit-anchor-diversity.ts
new file mode 100644
index 00000000..ebd19553
--- /dev/null
+++ b/scripts/audit-anchor-diversity.ts
@@ -0,0 +1,558 @@
+#!/usr/bin/env tsx
+/* npx tsx scripts/audit-anchor-diversity.ts (--all) */
+
+import fs from "fs";
+import path from "path";
+
+const SCAN_DIRS = ["src/app", "src/components", "content/blog"];
+const EXTENSIONS = [".tsx", ".jsx", ".mdx"];
+const DEFAULT_THRESHOLD = 60;
+const ALERT_MARGIN = 7;
+
+interface AnchorOccurrence {
+ file: string;
+ line: number;
+ href: string;
+ anchorText: string;
+ category: "exact_match" | "partial" | "semantic";
+}
+
+interface PageReport {
+ targetUrl: string;
+ total: number;
+ exactMatch: { count: number; pct: number; anchors: string[] };
+ partial: { count: number; pct: number; anchors: string[] };
+ semantic: { count: number; pct: number; anchors: string[] };
+ occurrences: AnchorOccurrence[];
+ alert: boolean;
+}
+
+interface LexiconEntry {
+ exactMatch: string[];
+ partial: string[];
+ semantic: string[];
+ targets?: { exactMatch: number; partial: number; semantic: number };
+}
+
+const LEXICON_PATH = path.resolve(".docs/reference/anchor-lexicon.md");
+
+let _globalTargets: { exactMatch: number; partial: number; semantic: number } | null = null;
+
+function loadLexicon(): Record {
+ if (!fs.existsSync(LEXICON_PATH)) {
+ console.warn(`⚠ Lexique introuvable : ${LEXICON_PATH}`);
+ return {};
+ }
+
+ const raw = fs.readFileSync(LEXICON_PATH, "utf-8");
+ const lexicon: Record = {};
+
+ const globalTargetsMatch = raw.match(/^>\s*targets:\s*exactMatch=(\d+)\s+partial=(\d+)\s+semantic=(\d+)/im);
+ _globalTargets = globalTargetsMatch
+ ? {
+ exactMatch: parseInt(globalTargetsMatch[1]),
+ partial: parseInt(globalTargetsMatch[2]),
+ semantic: parseInt(globalTargetsMatch[3]),
+ }
+ : null;
+
+ let currentUrl: string | null = null;
+ let currentCategory: "exactMatch" | "partial" | "semantic" | null = null;
+
+ for (const line of raw.split("\n")) {
+ const urlMatch = line.match(/^##\s+(`[^`]+`|\S+)/);
+ if (urlMatch) {
+ currentUrl = urlMatch[1].replace(/`/g, "").trim();
+ lexicon[currentUrl] = { exactMatch: [], partial: [], semantic: [] };
+ currentCategory = null;
+ continue;
+ }
+
+ if (!currentUrl) continue;
+
+ const targetsMatch = line.match(/^>\s*targets:\s*exactMatch=(\d+)\s+partial=(\d+)\s+semantic=(\d+)/i);
+ if (targetsMatch) {
+ lexicon[currentUrl].targets = {
+ exactMatch: parseInt(targetsMatch[1]),
+ partial: parseInt(targetsMatch[2]),
+ semantic: parseInt(targetsMatch[3]),
+ };
+ continue;
+ }
+
+ if (line.match(/###.*[Ee]xact/)) { currentCategory = "exactMatch"; continue; }
+ if (line.match(/###.*([Pp]artial|[Pp]artiel)/)) { currentCategory = "partial"; continue; }
+ if (line.match(/###.*([Ss]émantique|[Ss]emantic|[Vv]ariation)/)) { currentCategory = "semantic"; continue; }
+ if (line.match(/^###/)) { currentCategory = null; continue; }
+
+ const itemMatch = line.match(/^-\s+(.+)/);
+ if (itemMatch && currentCategory && currentCategory in lexicon[currentUrl]) {
+ (lexicon[currentUrl] as Record)[currentCategory].push(itemMatch[1].trim().toLowerCase());
+ }
+ }
+
+ return lexicon;
+}
+
+function getTargets(entry: LexiconEntry | undefined): { exactMatch: number; partial: number; semantic: number } {
+ if (entry?.targets) return entry.targets;
+ if (_globalTargets) return _globalTargets;
+ return { exactMatch: 30, partial: 30, semantic: 40 };
+}
+
+function walkDir(dir: string, results: string[]): void {
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
+ for (const entry of entries) {
+ const fullPath = path.join(dir, entry.name);
+ if (entry.isDirectory()) {
+ if (entry.name === "node_modules" || entry.name === ".next") continue;
+ walkDir(fullPath, results);
+ } else if (EXTENSIONS.some((ext) => entry.name.endsWith(ext))) {
+ results.push(fullPath);
+ }
+ }
+}
+
+function findFiles(): string[] {
+ const root = process.cwd();
+ const results: string[] = [];
+ for (const dir of SCAN_DIRS) {
+ const fullDir = path.join(root, dir);
+ if (fs.existsSync(fullDir)) walkDir(fullDir, results);
+ }
+ return results;
+}
+
+function extractJsxLinks(content: string, filePath: string): AnchorOccurrence[] {
+ const results: AnchorOccurrence[] = [];
+ const linkRegex =
+ /(?:]*\bhref=(?:"([^"]+)"|'([^']+)'|`([^`]+)`)[^>]*>([\s\S]*?)<\/(?:Link|a)>/g;
+
+ let match: RegExpExecArray | null;
+ while ((match = linkRegex.exec(content)) !== null) {
+ const href = match[1] || match[2] || match[3];
+ const anchorText = match[4].replace(/<[^>]+>/g, "").replace(/\s+/g, " ").trim();
+ if (!anchorText || !href) continue;
+ results.push({
+ file: path.relative(process.cwd(), filePath),
+ line: content.slice(0, match.index).split("\n").length,
+ href,
+ anchorText,
+ category: "semantic",
+ });
+ }
+ return results;
+}
+
+function extractMdxLinks(content: string, filePath: string): AnchorOccurrence[] {
+ const results: AnchorOccurrence[] = [];
+ const mdLinkRegex = /\[([^\]]+)\]\(([^)]+)\)/g;
+
+ let match: RegExpExecArray | null;
+ while ((match = mdLinkRegex.exec(content)) !== null) {
+ const anchorText = match[1].trim();
+ const href = match[2].trim();
+ if (!anchorText || !href) continue;
+ results.push({
+ file: path.relative(process.cwd(), filePath),
+ line: content.slice(0, match.index).split("\n").length,
+ href,
+ anchorText,
+ category: "semantic",
+ });
+ }
+ return results;
+}
+
+function normalizeUrl(url: string): string {
+ return url.replace(/\/$/, "").toLowerCase().split("?")[0].split("#")[0];
+}
+
+function categorizeAnchor(
+ anchorText: string,
+ targetUrl: string,
+ lexicon: Record
+): "exact_match" | "partial" | "semantic" {
+ const text = anchorText.toLowerCase().trim().normalize('NFD').replace(/[\u0300-\u036f]/g, '').replace(/'/g, ' ').replace(/→/g, '').replace(/→/g, '');
+ const lex = lexicon[targetUrl];
+ if (!lex) return "semantic";
+ if (lex.exactMatch.some((em) => text === em)) return "exact_match";
+ if (lex.partial?.some((pt) => text.includes(pt) || pt.includes(text))) return "partial";
+ if (lex.semantic.some((sem) => text.includes(sem) || sem.includes(text))) return "semantic";
+ const exactWords = lex.exactMatch.join(" ").split(" ");
+ const matchedWords = exactWords.filter((w) => w.length > 3 && text.includes(w));
+ if (matchedWords.length >= 2) return "partial";
+ return "semantic";
+}
+
+function buildReport(
+ targetUrl: string,
+ occurrences: AnchorOccurrence[],
+ lexicon: Record
+): PageReport {
+ const total = occurrences.length;
+
+ if (total === 0) {
+ return {
+ targetUrl,
+ total: 0,
+ exactMatch: { count: 0, pct: 0, anchors: [] },
+ partial: { count: 0, pct: 0, anchors: [] },
+ semantic: { count: 0, pct: 0, anchors: [] },
+ occurrences: [],
+ alert: false,
+ };
+ }
+
+ const em = occurrences.filter((o) => o.category === "exact_match");
+ const pt = occurrences.filter((o) => o.category === "partial");
+ const sm = occurrences.filter((o) => o.category === "semantic");
+ const pct = (n: number) => Math.round((n / total) * 100);
+
+ return {
+ targetUrl,
+ total,
+ exactMatch: { count: em.length, pct: pct(em.length), anchors: [...new Set(em.map((o) => o.anchorText))] },
+ partial: { count: pt.length, pct: pct(pt.length), anchors: [...new Set(pt.map((o) => o.anchorText))] },
+ semantic: { count: sm.length, pct: pct(sm.length), anchors: [...new Set(sm.map((o) => o.anchorText))] },
+ occurrences,
+ alert: pct(em.length) > DEFAULT_THRESHOLD,
+ };
+}
+
+interface Projection {
+ projExact: number;
+ projPartial: number;
+ projSemantic: number;
+ exactToPartial: number;
+ exactToSemantic: number;
+ partialToExact: number;
+ semanticToExact: number;
+ partialToSemantic: number;
+ semanticToPartial: number;
+}
+
+function computeProjection(
+ total: number,
+ emCount: number,
+ ptCount: number,
+ smCount: number,
+ targets: { exactMatch: number; partial: number; semantic: number }
+): Projection {
+ const zero: Projection = {
+ projExact: 0, projPartial: 0, projSemantic: 0,
+ exactToPartial: 0, exactToSemantic: 0,
+ partialToExact: 0, semanticToExact: 0,
+ partialToSemantic: 0, semanticToPartial: 0,
+ };
+ if (total === 0) return zero;
+
+ const emIdeal = Math.round(total * targets.exactMatch / 100);
+ const emMax = Math.floor(total * (targets.exactMatch + ALERT_MARGIN) / 100);
+ const projExact = Math.min(emIdeal, emMax);
+
+ const remaining = total - projExact;
+ const ptRatio = targets.partial / (targets.partial + targets.semantic);
+ let projPartial = Math.round(remaining * ptRatio);
+ let projSemantic = remaining - projPartial;
+
+ if (remaining >= 2) {
+ if (projPartial === 0) { projPartial = 1; projSemantic -= 1; }
+ else if (projSemantic === 0) { projSemantic = 1; projPartial -= 1; }
+ }
+
+ const excessExact = Math.max(0, emCount - projExact);
+ const missingExact = Math.max(0, projExact - emCount);
+ const excessPartial = Math.max(0, ptCount - projPartial);
+ const excessSemantic = Math.max(0, smCount - projSemantic);
+
+ const ptNeed = Math.max(0, projPartial - ptCount);
+ const smNeed = Math.max(0, projSemantic - smCount);
+ const totalNeed = ptNeed + smNeed;
+
+ let exactToPartial = 0, exactToSemantic = 0;
+ if (excessExact > 0) {
+ if (totalNeed > 0) {
+ exactToPartial = Math.round(excessExact * (ptNeed / totalNeed));
+ exactToSemantic = excessExact - exactToPartial;
+ } else {
+ exactToPartial = Math.round(excessExact * ptRatio);
+ exactToSemantic = excessExact - exactToPartial;
+ }
+ }
+
+ let partialToExact = 0, semanticToExact = 0;
+ if (missingExact > 0) {
+ partialToExact = Math.min(missingExact, ptCount);
+ semanticToExact = Math.min(missingExact - partialToExact, smCount);
+ }
+
+ const ptAfter = ptCount - partialToExact + exactToPartial;
+ const smAfter = smCount - semanticToExact + exactToSemantic;
+ const partialToSemantic = Math.max(0, ptAfter - projPartial);
+ const semanticToPartial = Math.max(0, smAfter - projSemantic);
+
+ return {
+ projExact, projPartial, projSemantic,
+ exactToPartial, exactToSemantic,
+ partialToExact, semanticToExact,
+ partialToSemantic, semanticToPartial,
+ };
+}
+
+function printReport(reports: PageReport[], isFullAudit: boolean, lexiconUrls: Set, lexicon: Record): void {
+ const R = "\x1b[31m";
+ const G = "\x1b[32m";
+ const Y = "\x1b[33m";
+ const C = "\x1b[36m";
+ const B = "\x1b[1m";
+ const X = "\x1b[0m";
+
+ const gap = (actual: number, target: number): string => {
+ const diff = actual - target;
+ if (Math.abs(diff) <= 5) return `${G}≈ cible${X}`;
+ return diff > 0 ? `${R}+${diff}% vs cible${X}` : `${Y}${diff}% vs cible${X}`;
+ };
+
+ const mode = isFullAudit ? "Audit complet" : "Pages hub";
+ const globalNote = _globalTargets
+ ? `global (${_globalTargets.exactMatch}/${_globalTargets.partial}/${_globalTargets.semantic})`
+ : "fallback 30/30/40";
+ console.log(`\n${B}═══════════════════════════════════════════════════${X}`);
+ console.log(`${B} Audit Diversité des Ancres — ${mode} — Marge : ±${ALERT_MARGIN}%${X}`);
+ console.log(`${B}═══════════════════════════════════════════════════${X}`);
+ console.log(`\n${B} Objectif cible par page (depuis lexicon URL > ${globalNote})${X}`);
+ console.log(` ${G}Exact match${X} ex: "audit Symfony gratuit"`);
+ console.log(` ${Y}Partiel${X} ex: "notre audit Symfony de 30 minutes"`);
+ console.log(` ${C}Sémantique${X} ex: "diagnostic technique Symfony"`);
+ console.log(`\n ${G}≈ cible${X} écart ≤ 5% ${R}+N% vs cible${X} trop haut ${Y}-N% vs cible${X} trop bas\n`);
+
+ for (const report of reports) {
+ const targets = getTargets(lexicon[report.targetUrl]);
+ const status = report.alert ? `${R}⚠ ALERTE${X}` : `${G}✓ OK${X}`;
+ console.log(`${B}${C}${report.targetUrl}${X} ${status}`);
+ console.log(` Total occurrences : ${report.total} (cibles: EM=${targets.exactMatch}% PT=${targets.partial}% SM=${targets.semantic}% · seuil alerte: ${DEFAULT_THRESHOLD}% exact match)`);
+
+ if (report.total === 0) {
+ console.log(` ${Y}Aucun lien trouvé vers cette page.${X}\n`);
+ continue;
+ }
+
+ const emColor = report.exactMatch.pct > DEFAULT_THRESHOLD ? R : G;
+ console.log(` Exact match : ${emColor}${report.exactMatch.pct}%${X} (${report.exactMatch.count}) cible ~${targets.exactMatch}% ${gap(report.exactMatch.pct, targets.exactMatch)}`);
+ console.log(` → ${report.exactMatch.anchors.join(" | ") || "—"}`);
+ console.log(` Partiel : ${report.partial.pct}% (${report.partial.count}) cible ~${targets.partial}% ${gap(report.partial.pct, targets.partial)}`);
+ console.log(` → ${report.partial.anchors.join(" | ") || "—"}`);
+ console.log(` Semantic : ${C}${report.semantic.pct}%${X} (${report.semantic.count}) cible ~${targets.semantic}% ${gap(report.semantic.pct, targets.semantic)}`);
+ console.log(` → ${report.semantic.anchors.slice(0, 5).join(" | ") || "—"}`);
+
+ if (isFullAudit && !lexiconUrls.has(report.targetUrl)) {
+ console.log(` ${Y}ℹ Catégorisation approximative (lexique inféré) — ajouter cette URL dans le lexicon pour un résultat précis.${X}`);
+ }
+
+ if (report.alert) {
+ const proj = computeProjection(report.total, report.exactMatch.count, report.partial.count, report.semantic.count, targets);
+ const parts: string[] = [];
+ if (proj.exactToPartial > 0) parts.push(`${proj.exactToPartial} exact → partiel`);
+ if (proj.exactToSemantic > 0) parts.push(`${proj.exactToSemantic} exact → sémantique`);
+ if (proj.partialToExact > 0) parts.push(`${proj.partialToExact} partiel → exact`);
+ if (proj.semanticToExact > 0) parts.push(`${proj.semanticToExact} sémantique → exact`);
+ if (proj.partialToSemantic > 0) parts.push(`${proj.partialToSemantic} partiel → sémantique`);
+ if (proj.semanticToPartial > 0) parts.push(`${proj.semanticToPartial} sémantique → partiel`);
+ if (parts.length > 0) console.log(` ${R}→ ${parts.join(" · ")}${X}`);
+ }
+
+ console.log();
+ }
+
+ const alerts = reports.filter((r) => r.alert);
+ if (alerts.length === 0) {
+ console.log(`${G}${B}✓ Toutes les pages sont sous le seuil.${X}\n`);
+ } else {
+ console.log(`${R}${B}⚠ ${alerts.length} page(s) dépassent le seuil d'exact match.${X}\n`);
+ }
+}
+
+function buildSection(
+ r: PageReport,
+ lexiconUrls: Set,
+ lexicon: Record
+): string {
+ const statusIcon = r.alert ? "⚠️" : "✅";
+ const inLexicon = lexiconUrls.has(r.targetUrl);
+ const note = !inLexicon
+ ? "\n> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.\n"
+ : "";
+
+ const targets = getTargets(lexicon[r.targetUrl]);
+
+ const categoryLabel: Record = {
+ exact_match: "🔵 Exact",
+ partial: "🟡 Partiel",
+ semantic: "✅ Sémantique",
+ };
+
+ const tableRows = (): string => {
+ if (r.total === 0) return `| — | — | — | — |`;
+ return r.occurrences
+ .map((o) => `| ${categoryLabel[o.category]} | \`${o.file}:${o.line}\` | ${o.anchorText} | — |`)
+ .join("\n");
+ };
+
+ const { projExact, projPartial, projSemantic, exactToPartial, exactToSemantic, partialToExact, semanticToExact, partialToSemantic, semanticToPartial } = computeProjection(
+ r.total,
+ r.exactMatch.count,
+ r.partial.count,
+ r.semantic.count,
+ targets
+ );
+
+ const pct = (n: number) => (r.total > 0 ? Math.round((n / r.total) * 100) : 0);
+
+ const actionParts: string[] = [];
+ if (exactToPartial > 0) actionParts.push(`${exactToPartial} exact → partiel`);
+ if (exactToSemantic > 0) actionParts.push(`${exactToSemantic} exact → sémantique`);
+ if (partialToExact > 0) actionParts.push(`${partialToExact} partiel → exact`);
+ if (semanticToExact > 0) actionParts.push(`${semanticToExact} sémantique → exact`);
+ if (partialToSemantic > 0) actionParts.push(`${partialToSemantic} partiel → sémantique`);
+ if (semanticToPartial > 0) actionParts.push(`${semanticToPartial} sémantique → partiel`);
+
+ const hasChanges = actionParts.length > 0;
+
+ const actionLine = hasChanges
+ ? `> 🔧 Actions : ${actionParts.join(" · ")}`
+ : null;
+
+ const projLine = hasChanges
+ ? `*Après correction → Exact match : **${pct(projExact)}%** · Partiel : **${pct(projPartial)}%** · Sémantique : **${pct(projSemantic)}%***`
+ : null;
+
+ const targetsNote = `> Cibles : Exact match ${targets.exactMatch}% · Partiel ${targets.partial}% · Sémantique ${targets.semantic}%`;
+
+ return [
+ `### \`${r.targetUrl}\` ${statusIcon}`,
+ "",
+ targetsNote,
+ "",
+ `Exact match : **${r.exactMatch.pct}%** · Partiel : **${r.partial.pct}%** · Sémantique : **${r.semantic.pct}%** · Total : ${r.total}`,
+ projLine,
+ actionLine,
+ note,
+ "| Statut | Fichier | Ancre actuelle | Ancre proposée |",
+ "|--------|---------|----------------|----------------|",
+ tableRows(),
+ ]
+ .filter(Boolean)
+ .join("\n");
+}
+
+function writeRevisionPlan(
+ reports: PageReport[],
+ lexiconUrls: Set,
+ lexicon: Record
+): void {
+ const date = new Date().toISOString().slice(0, 10);
+ const alerts = reports.filter((r) => r.alert);
+ const ok = reports.filter((r) => !r.alert);
+
+ const alertSections = alerts.map((r) => buildSection(r, lexiconUrls, lexicon)).join("\n\n---\n\n");
+ const okSections = ok.map((r) => buildSection(r, lexiconUrls, lexicon)).join("\n\n---\n\n");
+
+ const sections = [
+ "## ⚠️ Pages en alerte",
+ "",
+ alertSections,
+ "",
+ "---",
+ "",
+ "## Pages OK",
+ "",
+ okSections,
+ ].join("\n");
+
+ const output = [
+ `# Plan de révision des ancres — ${date}`,
+ "",
+ `> ${alerts.length} page(s) en alerte sur ${reports.length} auditées.`,
+ "",
+ "## Acceptance criteria",
+ "",
+ "- [ ] Script d'audit opérationnel",
+ "- [ ] Rapport initial produit",
+ `- [ ] ${alerts.length === 0 ? "~~Aucune page hub au-dessus du seuil~~" : "Aucune page hub au-dessus du seuil après révision"}`,
+ "- [ ] Lexique à jour (`docs/anchor-lexicon.md`)",
+ "",
+ "---",
+ "",
+ "## Détail par page",
+ "",
+ sections,
+ "",
+ "## Légende",
+ "- 🔵 Exact match",
+ "- 🟡 Partiel",
+ "- ✅ Sémantique",
+ ].join("\n");
+
+ const outPath = path.resolve(".docs/reference/anchor-revision-plan.md");
+ fs.mkdirSync(path.dirname(outPath), { recursive: true });
+ fs.writeFileSync(outPath, output, "utf-8");
+ console.log(`Plan de révision écrit : ${outPath}`);
+}
+
+async function main() {
+ const args = process.argv.slice(2);
+ const isFullAudit = args.includes("--all");
+ const lexicon = loadLexicon();
+ const files = findFiles();
+
+ console.log(`Scan de ${files.length} fichiers...`);
+
+ const allOccurrences: AnchorOccurrence[] = [];
+
+ for (const file of files) {
+ const content = fs.readFileSync(file, "utf-8");
+ const ext = path.extname(file);
+ const raw = ext === ".mdx"
+ ? extractMdxLinks(content, file)
+ : extractJsxLinks(content, file);
+ allOccurrences.push(...raw);
+ }
+
+ let targetUrls: string[];
+
+ if (isFullAudit) {
+ const allHrefs = allOccurrences
+ .map((o) => normalizeUrl(o.href))
+ .filter((href) => href.startsWith("/") && !href.match(/\.(png|jpg|svg|ico|webp|pdf)$/));
+ targetUrls = [...new Set(allHrefs)].sort();
+
+ for (const url of targetUrls) {
+ if (lexicon[url]) continue;
+ const urlLabel = url.split('/').filter(Boolean).pop()?.replace(/-/g, ' ') ?? '';
+ lexicon[url] = { exactMatch: [urlLabel], partial: [], semantic: [] };
+ }
+ } else {
+ targetUrls = Object.keys(lexicon);
+ }
+
+ const reports: PageReport[] = targetUrls.map((url) => {
+ const normalized = normalizeUrl(url);
+ const relevant = allOccurrences
+ .filter((o) => normalizeUrl(o.href) === normalized)
+ .map((o) => ({ ...o, category: categorizeAnchor(o.anchorText, url, lexicon) }));
+ return buildReport(url, relevant, lexicon);
+ });
+
+ const lexiconUrls = new Set(Object.keys(loadLexicon()));
+
+ printReport(reports, isFullAudit, lexiconUrls, lexicon);
+ writeRevisionPlan(reports, lexiconUrls, lexicon);
+
+ process.exit(reports.some((r) => r.alert) ? 1 : 0);
+}
+
+main().catch((err) => {
+ console.error("Erreur :", err);
+ process.exit(2);
+});
\ No newline at end of file
diff --git a/src/app/agence-symfony-france/page.tsx b/src/app/agence-symfony-france/page.tsx
index f5c156e6..adc5ed21 100644
--- a/src/app/agence-symfony-france/page.tsx
+++ b/src/app/agence-symfony-france/page.tsx
@@ -350,7 +350,7 @@ export default function AgenceSymfonyFrance() {
href="/modernisation-applicative"
className="text-primary hover:underline"
>
- modernisation applicative
+ mise à niveau de vos systèmes
{" "}
couvre l'ensemble du parcours, de l'audit initial
au déploiement de la nouvelle architecture.
diff --git a/src/app/maintenance-applicative-symfony/page.tsx b/src/app/maintenance-applicative-symfony/page.tsx
index e7a72c60..1d021743 100644
--- a/src/app/maintenance-applicative-symfony/page.tsx
+++ b/src/app/maintenance-applicative-symfony/page.tsx
@@ -290,7 +290,7 @@ export default function MaintenanceApplicativeSymfony() {
href="/migration-symfony"
className="text-primary hover:underline"
>
- migration Symfony
+ refonte et migration sous Symfony
{" "}
prend le relais avec une approche par paliers.
Pour les applications PHP legacy à{" "}
diff --git a/src/app/notre-expertise/page.tsx b/src/app/notre-expertise/page.tsx
index a3beaa29..bff3643e 100644
--- a/src/app/notre-expertise/page.tsx
+++ b/src/app/notre-expertise/page.tsx
@@ -167,7 +167,7 @@ export default function NotreExpertise() {
-
Modernisation applicative
+
Amélioration de vos logiciels existants
Migration Symfony : montée de version par paliers
Modernisation d'application PHP : du legacy vers Symfony
@@ -221,7 +221,7 @@ export default function NotreExpertise() {
Agence Symfony à Lille : notre ancrage régional
Prestataire Symfony en France
-
Accompagnement et conseil
+
Aide à la prise de décision stratégique
diff --git a/src/app/secteur/application-metier/page.tsx b/src/app/secteur/application-metier/page.tsx
index 611a2418..34ba13d1 100644
--- a/src/app/secteur/application-metier/page.tsx
+++ b/src/app/secteur/application-metier/page.tsx
@@ -313,7 +313,7 @@ export default function SecteurApplicationMetier() {
href="/secteur/maintenance-applicative"
className="text-primary hover:underline"
>
- maintenance applicative
+ suivi de vos systèmes
{" "}
garantit la pérennité de l'investissement après la
mise en production.
diff --git a/src/app/secteur/migration-legacy/page.tsx b/src/app/secteur/migration-legacy/page.tsx
index 2554aea3..ad6f3b98 100644
--- a/src/app/secteur/migration-legacy/page.tsx
+++ b/src/app/secteur/migration-legacy/page.tsx
@@ -325,7 +325,7 @@ export default function SecteurMigrationLegacy() {
href="/secteur/maintenance-applicative"
className="text-primary hover:underline"
>
- maintenance applicative
+ maintenance de vos applications
{" "}
prend le relais pour garantir la pérennité de l'investissement.
diff --git a/src/components/seo/GonePage.tsx b/src/components/seo/GonePage.tsx
index a43b03d3..3c049366 100644
--- a/src/components/seo/GonePage.tsx
+++ b/src/components/seo/GonePage.tsx
@@ -36,7 +36,7 @@ export default function GonePage() {
href="/article/7-bonnes-raisons-de-rejoindre-efficience-it"
className="font-semibold text-primary hover:underline"
>
- 7 bonnes raisons de rejoindre Efficience IT
+ 7 raisons de choisir Efficience IT
From 73245fdcaa86705ab03b92eb8cf6ed858217f8f6 Mon Sep 17 00:00:00 2001
From: unknown
Date: Mon, 11 May 2026 10:49:43 +0200
Subject: [PATCH 2/7] correction pour ci
---
scripts/audit-anchor-diversity.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/audit-anchor-diversity.ts b/scripts/audit-anchor-diversity.ts
index ebd19553..433a386d 100644
--- a/scripts/audit-anchor-diversity.ts
+++ b/scripts/audit-anchor-diversity.ts
@@ -87,7 +87,7 @@ function loadLexicon(): Record {
const itemMatch = line.match(/^-\s+(.+)/);
if (itemMatch && currentCategory && currentCategory in lexicon[currentUrl]) {
- (lexicon[currentUrl] as Record)[currentCategory].push(itemMatch[1].trim().toLowerCase());
+ (lexicon[currentUrl] as unknown as Record)[currentCategory].push(itemMatch[1].trim().toLowerCase());
}
}
From d53276d30809f937652d91dbf9876f557235a2bb Mon Sep 17 00:00:00 2001
From: unknown
Date: Mon, 11 May 2026 11:16:32 +0200
Subject: [PATCH 3/7] add script to package.json
---
package.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 7082a24f..4d6f5695 100644
--- a/package.json
+++ b/package.json
@@ -10,7 +10,8 @@
"lint": "eslint",
"knip": "knip",
"test": "jest",
- "generate:image-variants": "npx -y tsx@4 scripts/generate-image-variants.ts"
+ "generate:image-variants": "npx -y tsx@4 scripts/generate-image-variants.ts",
+ "audit:anchor-diversity": "npx tsx scripts/audit-anchor-diversity.ts --all"
},
"dependencies": {
"@tailwindcss/typography": "^0.5.19",
From 67a18672375cba65093701daff818ea5bf0ad0de Mon Sep 17 00:00:00 2001
From: unknown
Date: Mon, 11 May 2026 11:22:59 +0200
Subject: [PATCH 4/7] cleaning unused variables + correction script
---
scripts/audit-anchor-diversity.ts | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/scripts/audit-anchor-diversity.ts b/scripts/audit-anchor-diversity.ts
index 433a386d..92ca1520 100644
--- a/scripts/audit-anchor-diversity.ts
+++ b/scripts/audit-anchor-diversity.ts
@@ -187,8 +187,7 @@ function categorizeAnchor(
function buildReport(
targetUrl: string,
- occurrences: AnchorOccurrence[],
- lexicon: Record
+ occurrences: AnchorOccurrence[]
): PageReport {
const total = occurrences.length;
@@ -263,8 +262,6 @@ function computeProjection(
const excessExact = Math.max(0, emCount - projExact);
const missingExact = Math.max(0, projExact - emCount);
- const excessPartial = Math.max(0, ptCount - projPartial);
- const excessSemantic = Math.max(0, smCount - projSemantic);
const ptNeed = Math.max(0, projPartial - ptCount);
const smNeed = Math.max(0, projSemantic - smCount);
@@ -541,7 +538,7 @@ async function main() {
const relevant = allOccurrences
.filter((o) => normalizeUrl(o.href) === normalized)
.map((o) => ({ ...o, category: categorizeAnchor(o.anchorText, url, lexicon) }));
- return buildReport(url, relevant, lexicon);
+ return buildReport(url, relevant);
});
const lexiconUrls = new Set(Object.keys(loadLexicon()));
From cada1deed233893b7b93d3f95cdf24c3c435e18b Mon Sep 17 00:00:00 2001
From: unknown
Date: Mon, 11 May 2026 11:25:34 +0200
Subject: [PATCH 5/7] =?UTF-8?q?forgot=20to=20git=20add=20....=C3=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 4d6f5695..02aabffd 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,7 @@
"knip": "knip",
"test": "jest",
"generate:image-variants": "npx -y tsx@4 scripts/generate-image-variants.ts",
- "audit:anchor-diversity": "npx tsx scripts/audit-anchor-diversity.ts --all"
+ "audit:anchor-diversity": "npx -y tsx scripts/audit-anchor-diversity.ts --all"
},
"dependencies": {
"@tailwindcss/typography": "^0.5.19",
From d95038932c40d911911e7c47abefbfdf0f2ff4d5 Mon Sep 17 00:00:00 2001
From: unknown
Date: Mon, 11 May 2026 11:31:11 +0200
Subject: [PATCH 6/7] replace em dash
---
.docs/reference/anchor-revision-plan.md | 3364 +++++++++++------------
scripts/audit-anchor-diversity.ts | 18 +-
2 files changed, 1691 insertions(+), 1691 deletions(-)
diff --git a/.docs/reference/anchor-revision-plan.md b/.docs/reference/anchor-revision-plan.md
index 2ffe3c4f..95a76581 100644
--- a/.docs/reference/anchor-revision-plan.md
+++ b/.docs/reference/anchor-revision-plan.md
@@ -1,4 +1,4 @@
-# Plan de révision des ancres — 2026-05-05
+# Plan de révision des ancres - 2026-05-11
> 1 page(s) en alerte sur 142 auditées.
@@ -21,11 +21,11 @@ Exact match : **100%** · Partiel : **0%** · Sémantique : **0%** · Total : 1
*Après correction → Exact match : **0%** · Partiel : **0%** · Sémantique : **100%***
> 🔧 Actions : 1 exact → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\components\layout\Footer.tsx:164` | Plan du site | — |
+| 🔵 Exact | `src\components\layout\Footer.tsx:164` | Plan du site | - |
---
@@ -37,23 +37,23 @@ Exact match : **38%** · Partiel : **31%** · Sémantique : **31%** · Total : 1
*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
> 🔧 Actions : 1 exact → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:456` | expertise en accompagnement et conseil | — |
-| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:474` | Accompagnement et Conseil Audit technique, formation Symfony et coaching agile pour structurer vos projets et monter en compétences. | — |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:662` | Accompagnement et Conseil Audit technique, formation Symfony et coaching agile pour structurer vos projets et monter en compétences. | — |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:429` | Accompagnement et Conseil Coaching technique, formation Symfony et audit de code pour accompagner vos équipes dans leur montée en compétences. | — |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:224` | Aide à la prise de décision stratégique | — |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:103` | appui stratégique | — |
-| 🔵 Exact | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:80` | accompagnement et conseil | — |
-| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:101` | accompagnement et conseil | — |
-| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:75` | pilotage stratégique | — |
-| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:122` | accompagnement et conseil | — |
-| 🔵 Exact | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:35` | accompagnement et conseil | — |
-| 🔵 Exact | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:13` | accompagnement et conseil | — |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:82` | expertise stratégique | — |
+| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:456` | expertise en accompagnement et conseil | - |
+| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:475` | Accompagnement et Conseil Audit technique, formation Symfony et coaching agile pour structurer vos projets et monter en compétences. | - |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:663` | Accompagnement et Conseil Audit technique, formation Symfony et coaching agile pour structurer vos projets et monter en compétences. | - |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:429` | Accompagnement et Conseil Coaching technique, formation Symfony et audit de code pour accompagner vos équipes dans leur montée en compétences. | - |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:224` | Aide à la prise de décision stratégique | - |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:103` | appui stratégique | - |
+| 🔵 Exact | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:80` | accompagnement et conseil | - |
+| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:101` | accompagnement et conseil | - |
+| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:75` | pilotage stratégique | - |
+| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:122` | accompagnement et conseil | - |
+| 🔵 Exact | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:40` | accompagnement et conseil | - |
+| 🔵 Exact | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:13` | accompagnement et conseil | - |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:82` | expertise stratégique | - |
---
@@ -64,16 +64,16 @@ Exact match : **10%** · Partiel : **70%** · Sémantique : **20%** · Total : 1
> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:223` | Prestataire Symfony en France | — |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:171` | agence 100 % spécialisée Symfony | — |
-| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:244` | agence de développement Symfony | — |
-| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:67` | France | — |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:20` | agence Symfony | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:20` | agence Symfony spécialisée | — |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:23` | agence spécialisée Symfony | — |
-| 🔵 Exact | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:11` | agence Symfony en France | — |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:84` | prestataire Symfony en France | — |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:18` | agence spécialisée Symfony | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:223` | Prestataire Symfony en France | - |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:171` | agence 100 % spécialisée Symfony | - |
+| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:244` | agence de développement Symfony | - |
+| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:67` | France | - |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:20` | agence Symfony | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:20` | agence Symfony spécialisée | - |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:23` | agence spécialisée Symfony | - |
+| 🔵 Exact | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:11` | agence Symfony en France | - |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:84` | prestataire Symfony en France | - |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:18` | agence spécialisée Symfony | - |
---
@@ -83,24 +83,24 @@ Exact match : **0%** · Partiel : **86%** · Sémantique : **14%** · Total : 14
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:363` | agence Symfony à Lille | — |
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:391` | Lille - Siège social | — |
-| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:241` | agence Symfony à Lille | — |
-| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:332` | agence Symfony à Lille | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:222` | Agence Symfony à Lille | — |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:458` | agence Symfony à Lille | — |
-| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:284` | spécialisée Symfony | — |
-| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:51` | agence Symfony à Lille | — |
-| 🟡 Partiel | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:24` | agence Symfony à Lille | — |
-| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:18` | agence Symfony à Lille | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | agence Symfony à Lille | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:27` | notre agence Symfony à Lille | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:63` | agence Symfony lilloise | — |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:31` | agence Symfony à Lille | — |
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:363` | agence Symfony à Lille | - |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:391` | Lille - Siège social | - |
+| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:242` | agence Symfony à Lille | - |
+| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:332` | agence Symfony à Lille | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:222` | Agence Symfony à Lille | - |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:459` | agence Symfony à Lille | - |
+| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:284` | spécialisée Symfony | - |
+| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:51` | agence Symfony à Lille | - |
+| 🟡 Partiel | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:24` | agence Symfony à Lille | - |
+| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:18` | agence Symfony à Lille | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | agence Symfony à Lille | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:27` | notre agence Symfony à Lille | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:63` | agence Symfony lilloise | - |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:31` | agence Symfony à Lille | - |
---
@@ -110,13 +110,13 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:187` | Lyon | — |
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:415` | Lyon - Auvergne-Rhône-Alpes | — |
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:59` | Lyon | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:187` | Lyon | - |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:415` | Lyon - Auvergne-Rhône-Alpes | - |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:59` | Lyon | - |
---
@@ -126,13 +126,13 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:191` | Nantes | — |
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:427` | Nantes - Pays de la Loire | — |
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:63` | Nantes | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:191` | Nantes | - |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:427` | Nantes - Pays de la Loire | - |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:63` | Nantes | - |
---
@@ -142,13 +142,13 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:183` | Paris | — |
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:403` | Paris - Île-de-France | — |
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:55` | Paris | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:183` | Paris | - |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:403` | Paris - Île-de-France | - |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:55` | Paris | - |
---
@@ -158,14 +158,14 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-nodejs\page.tsx:316` | API avec NestJS | — |
-| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:77` | API NestJS | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:46` | NestJS | — |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:90` | developpement API avec NestJS | — |
+| ✅ Sémantique | `src\app\developpement-nodejs\page.tsx:317` | API avec NestJS | - |
+| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:77` | API NestJS | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:46` | NestJS | - |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:90` | developpement API avec NestJS | - |
---
@@ -175,37 +175,37 @@ Exact match : **7%** · Partiel : **11%** · Sémantique : **81%** · Total : 27
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
> 🔧 Actions : 3 partiel → exact · 3 sémantique → exact · 8 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:470` | API REST et GraphQL | — |
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:294` | développement d'API sur mesure | — |
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:529` | API sur mesure | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:514` | API REST et GraphQL avec API Platform | — |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:336` | développement d'API sur mesure avec Symfony | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:519` | conception d'API sur mesure avec API Platform | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:501` | API Platform | — |
-| ✅ Sémantique | `src\app\api-nodejs-nestjs\page.tsx:400` | API avec Symfony et API Platform | — |
-| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:205` | APIs Symfony | — |
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:211` | APIs Symfony | — |
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:338` | API Symfony | — |
-| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:205` | APIs Symfony | — |
-| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:321` | API Platform | — |
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:280` | API Platform pour les API REST | — |
-| ✅ Sémantique | `src\app\formation-symfony-entreprise\page.tsx:344` | développement d'API avec Symfony | — |
-| 🔵 Exact | `src\app\integration-elasticsearch-symfony\page.tsx:260` | API sur mesure Symfony | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:194` | API sur mesure Symfony | — |
-| ✅ Sémantique | `src\app\page.tsx:84` | conception d'API sur mesure avec API Platform | — |
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:183` | API sur mesure | — |
-| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:270` | expertise API sur mesure | — |
-| ✅ Sémantique | `src\app\secteur\saas\page.tsx:190` | API sur mesure | — |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:108` | développement d'API sur mesure avec Symfony | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:113` | API sur mesure avec Symfony | — |
-| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:250` | architecture asynchrone Symfony | — |
-| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:17` | developpement d'API Symfony | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:52` | API Platform | — |
-| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | API Symfony événementielles | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:470` | API REST et GraphQL | - |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:294` | développement d'API sur mesure | - |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:529` | API sur mesure | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:514` | API REST et GraphQL avec API Platform | - |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:336` | développement d'API sur mesure avec Symfony | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:519` | conception d'API sur mesure avec API Platform | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:501` | API Platform | - |
+| ✅ Sémantique | `src\app\api-nodejs-nestjs\page.tsx:401` | API avec Symfony et API Platform | - |
+| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:206` | APIs Symfony | - |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:212` | APIs Symfony | - |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:339` | API Symfony | - |
+| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:206` | APIs Symfony | - |
+| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:322` | API Platform | - |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:281` | API Platform pour les API REST | - |
+| ✅ Sémantique | `src\app\formation-symfony-entreprise\page.tsx:344` | développement d'API avec Symfony | - |
+| 🔵 Exact | `src\app\integration-elasticsearch-symfony\page.tsx:261` | API sur mesure Symfony | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:194` | API sur mesure Symfony | - |
+| ✅ Sémantique | `src\app\page.tsx:84` | conception d'API sur mesure avec API Platform | - |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:183` | API sur mesure | - |
+| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:270` | expertise API sur mesure | - |
+| ✅ Sémantique | `src\app\secteur\saas\page.tsx:190` | API sur mesure | - |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:108` | développement d'API sur mesure avec Symfony | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:113` | API sur mesure avec Symfony | - |
+| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:250` | architecture asynchrone Symfony | - |
+| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:17` | developpement d'API Symfony | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:52` | API Platform | - |
+| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | API Symfony événementielles | - |
---
@@ -215,38 +215,38 @@ Exact match : **18%** · Partiel : **71%** · Sémantique : **11%** · Total : 2
*Après correction → Exact match : **29%** · Partiel : **32%** · Sémantique : **39%***
> 🔧 Actions : 3 partiel → exact · 8 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:316` | architecture hexagonale avec Symfony | — |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:536` | architectures hexagonales | — |
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:347` | architecture hexagonale | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:382` | Architecture hexagonale → | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:184` | Architecture hexagonale Symfony | — |
-| ✅ Sémantique | `src\app\page.tsx:73` | architecture modulaire | — |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:385` | architecture hexagonale | — |
-| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:285` | architecture hexagonale | — |
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:186` | architecture hexagonale | — |
-| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:274` | architecture hexagonale | — |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:306` | architecture hexagonale | — |
-| 🟡 Partiel | `src\app\secteur\renfort-equipe\page.tsx:180` | architecture hexagonale | — |
-| 🟡 Partiel | `src\app\secteur\saas\page.tsx:182` | architecture hexagonale | — |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:311` | architecture | — |
-| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:44` | architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:43` | architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:77` | architecture hexagonale | — |
-| 🔵 Exact | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:394` | architecture hexagonale Symfony | — |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:69` | architecture découplée | — |
-| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:268` | architecture hexagonale Symfony | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:67` | architecture hexagonale avec Symfony | — |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:87` | architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:35` | architecture hexagonale | — |
-| 🔵 Exact | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:106` | architecture hexagonale Symfony | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:53` | architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:42` | architecture hexagonale | — |
-| 🔵 Exact | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | architecture hexagonale Symfony | — |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:82` | architecture hexagonale | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:316` | architecture hexagonale avec Symfony | - |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:536` | architectures hexagonales | - |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:348` | architecture hexagonale | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:383` | Architecture hexagonale → | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:184` | Architecture hexagonale Symfony | - |
+| ✅ Sémantique | `src\app\page.tsx:73` | architecture modulaire | - |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:385` | architecture hexagonale | - |
+| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:285` | architecture hexagonale | - |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:186` | architecture hexagonale | - |
+| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:274` | architecture hexagonale | - |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:306` | architecture hexagonale | - |
+| 🟡 Partiel | `src\app\secteur\renfort-equipe\page.tsx:180` | architecture hexagonale | - |
+| 🟡 Partiel | `src\app\secteur\saas\page.tsx:182` | architecture hexagonale | - |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:311` | architecture | - |
+| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:44` | architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:43` | architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:77` | architecture hexagonale | - |
+| 🔵 Exact | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:394` | architecture hexagonale Symfony | - |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:69` | architecture découplée | - |
+| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:268` | architecture hexagonale Symfony | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:67` | architecture hexagonale avec Symfony | - |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:87` | architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:35` | architecture hexagonale | - |
+| 🔵 Exact | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:106` | architecture hexagonale Symfony | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:53` | architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:42` | architecture hexagonale | - |
+| 🔵 Exact | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | architecture hexagonale Symfony | - |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:82` | architecture hexagonale | - |
---
@@ -256,12 +256,12 @@ Exact match : **50%** · Partiel : **50%** · Sémantique : **0%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 exact → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\la-team\page.tsx:212` | 7 bonnes raisons de rejoindre Efficience IT | — |
-| 🟡 Partiel | `src\components\seo\GonePage.tsx:35` | 7 raisons de choisir Efficience IT | — |
+| 🔵 Exact | `src\app\la-team\page.tsx:212` | 7 bonnes raisons de rejoindre Efficience IT | - |
+| 🟡 Partiel | `src\components\seo\GonePage.tsx:35` | 7 raisons de choisir Efficience IT | - |
---
@@ -271,18 +271,18 @@ Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:345` | manifeste des applications web | — |
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:413` | Améliorer l'expérience utilisateur grâce au manifeste des applications web | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:86` | expérience utilisateur | — |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:253` | Améliorer l'expérience utilisateur grâce au manifeste des applications web | — |
-| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:96` | le manifeste des applications web | — |
-| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:72` | le manifeste des applications web | — |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | améliorer l'expérience utilisateur grâce au manifeste des applications web | — |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:48` | amélioration de l'expérience utilisateur avec le manifeste des applications web | — |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:345` | manifeste des applications web | - |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:413` | Améliorer l'expérience utilisateur grâce au manifeste des applications web | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:86` | expérience utilisateur | - |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:253` | Améliorer l'expérience utilisateur grâce au manifeste des applications web | - |
+| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:96` | le manifeste des applications web | - |
+| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:72` | le manifeste des applications web | - |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | améliorer l'expérience utilisateur grâce au manifeste des applications web | - |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:48` | amélioration de l'expérience utilisateur avec le manifeste des applications web | - |
---
@@ -292,36 +292,36 @@ Exact match : **0%** · Partiel : **81%** · Sémantique : **19%** · Total : 26
*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
> 🔧 Actions : 8 partiel → exact · 5 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:432` | bonnes pratiques API REST | — |
-| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:348` | bonnes pratiques API REST | — |
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:306` | bonnes pratiques REST | — |
-| 🟡 Partiel | `src\app\developpement-react\page.tsx:355` | APIs REST selon les bonnes pratiques | — |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:398` | bonnes pratiques API REST | — |
-| 🟡 Partiel | `src\app\secteur\api-integration\page.tsx:272` | bonnes pratiques REST | — |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | API REST respectant les bonnes pratiques | — |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:88` | bonnes pratiques REST | — |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:114` | les bonnes pratiques REST | — |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:251` | API REST : les bonnes pratiques | — |
-| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:25` | API REST bien structurée | — |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:81` | API REST bien structurées | — |
-| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:39` | APIs sur mesure à fort trafic | — |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:107` | Les bonnes pratiques de conception d'API REST | — |
-| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:39` | bonnes pratiques des API REST | — |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:33` | bonnes pratiques des API REST | — |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:195` | API REST : les bonnes pratiques | — |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:331` | API REST : les bonnes pratiques | — |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:65` | bonnes pratiques des API REST | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:111` | les bonnes pratiques des API REST | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:35` | bonnes pratiques des API REST | — |
-| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:46` | API REST bien conçues | — |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:65` | API REST | — |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:142` | bonnes pratiques REST | — |
-| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:17` | bonnes pratiques des API REST | — |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:15` | bonnes pratiques des API REST | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:433` | bonnes pratiques API REST | - |
+| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:349` | bonnes pratiques API REST | - |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:307` | bonnes pratiques REST | - |
+| 🟡 Partiel | `src\app\developpement-react\page.tsx:356` | APIs REST selon les bonnes pratiques | - |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:399` | bonnes pratiques API REST | - |
+| 🟡 Partiel | `src\app\secteur\api-integration\page.tsx:272` | bonnes pratiques REST | - |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | API REST respectant les bonnes pratiques | - |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:88` | bonnes pratiques REST | - |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:114` | les bonnes pratiques REST | - |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:251` | API REST : les bonnes pratiques | - |
+| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:25` | API REST bien structurée | - |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:81` | API REST bien structurées | - |
+| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:39` | APIs sur mesure à fort trafic | - |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:107` | Les bonnes pratiques de conception d'API REST | - |
+| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:39` | bonnes pratiques des API REST | - |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:33` | bonnes pratiques des API REST | - |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:195` | API REST : les bonnes pratiques | - |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:331` | API REST : les bonnes pratiques | - |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:65` | bonnes pratiques des API REST | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:111` | les bonnes pratiques des API REST | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:35` | bonnes pratiques des API REST | - |
+| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:46` | API REST bien conçues | - |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:65` | API REST | - |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:142` | bonnes pratiques REST | - |
+| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:17` | bonnes pratiques des API REST | - |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:15` | bonnes pratiques des API REST | - |
---
@@ -331,13 +331,13 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | la migration des ID INT vers BIGINT | — |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:193` | Arrivés au max des ID INT | — |
-| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:20` | arriver au max des ID INT | — |
+| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | la migration des ID INT vers BIGINT | - |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:198` | Arrivés au max des ID INT | - |
+| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:20` | arriver au max des ID INT | - |
---
@@ -347,13 +347,13 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:274` | cahier des charges solide | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:75` | cahier des charges | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:94` | cahier des charges | — |
+| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:274` | cahier des charges solide | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:75` | cahier des charges | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:94` | cahier des charges | - |
---
@@ -363,18 +363,18 @@ Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:273` | Claude comme assistant d'architecture | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | l'utilisation de Claude comme assistant d'architecture Symfony legacy | — |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:101` | Claude comme assistant d'architecture Symfony legacy | — |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:64` | un CLAUDE.md bien structuré transforme la qualité des suggestions | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:72` | utilisation de Claude comme assistant d'architecture Symfony | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:535` | Claude comme assistant d'architecture Symfony | — |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:22` | Claude comme assistant d'architecture | — |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:271` | Claude comme assistant d'architecture Symfony | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:273` | Claude comme assistant d'architecture | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | l'utilisation de Claude comme assistant d'architecture Symfony legacy | - |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:101` | Claude comme assistant d'architecture Symfony legacy | - |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:64` | un CLAUDE.md bien structuré transforme la qualité des suggestions | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:72` | utilisation de Claude comme assistant d'architecture Symfony | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:535` | Claude comme assistant d'architecture Symfony | - |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:22` | Claude comme assistant d'architecture | - |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:271` | Claude comme assistant d'architecture Symfony | - |
---
@@ -384,21 +384,21 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 11
*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
> 🔧 Actions : 3 partiel → exact · 5 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:322` | code mort | — |
-| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:293` | code mort | — |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:122` | Code mort : mission élimination | — |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:91` | code mort dans vos projets | — |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:33` | code mort qui alourdit le projet | — |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:102` | code mort | — |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | éliminer le code mort dans vos projets PHP | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:40` | code mort | — |
-| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:126` | code mort | — |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:311` | Éliminer le code mort dans vos projets PHP | — |
-| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:60` | code mort | — |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:323` | code mort | - |
+| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:294` | code mort | - |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:122` | Code mort : mission élimination | - |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:91` | code mort dans vos projets | - |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:33` | code mort qui alourdit le projet | - |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:102` | code mort | - |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | éliminer le code mort dans vos projets PHP | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:40` | code mort | - |
+| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:126` | code mort | - |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:311` | Éliminer le code mort dans vos projets PHP | - |
+| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:60` | code mort | - |
---
@@ -408,38 +408,38 @@ Exact match : **4%** · Partiel : **0%** · Sémantique : **96%** · Total : 28
*Après correction → Exact match : **29%** · Partiel : **32%** · Sémantique : **39%***
> 🔧 Actions : 7 sémantique → exact · 9 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-code-php\page.tsx:369` | conventions de code | — |
-| ✅ Sémantique | `src\app\tests-automatises-php\page.tsx:286` | conventions de code | — |
-| ✅ Sémantique | `content\blog\api-rest-les-bonnes-pratiques.mdx:32` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:22` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:244` | conventions de codage PHP et Symfony | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | conventions de code | — |
-| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:25` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:127` | conventions de codage PHP | — |
-| ✅ Sémantique | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:64` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:27` | conventions de codage pour un code maintenable | — |
-| ✅ Sémantique | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:376` | conventions de codage formalisées | — |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:38` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:72` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:52` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:80` | Les conventions de code : un socle pour la qualité | — |
-| ✅ Sémantique | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:197` | Les conventions de codage | — |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:38` | conventions de code | — |
-| 🔵 Exact | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:95` | Coding conventions | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | conventions de code | — |
-| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:277` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:109` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:164` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:21` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:73` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:47` | conventions de codage | — |
-| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:81` | conventions de code | — |
-| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:17` | conventions de code | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-code-php\page.tsx:370` | conventions de code | - |
+| ✅ Sémantique | `src\app\tests-automatises-php\page.tsx:287` | conventions de code | - |
+| ✅ Sémantique | `content\blog\api-rest-les-bonnes-pratiques.mdx:32` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:22` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:244` | conventions de codage PHP et Symfony | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | conventions de code | - |
+| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:25` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:127` | conventions de codage PHP | - |
+| ✅ Sémantique | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:64` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:27` | conventions de codage pour un code maintenable | - |
+| ✅ Sémantique | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:376` | conventions de codage formalisées | - |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:38` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:72` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:52` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:80` | Les conventions de code : un socle pour la qualité | - |
+| ✅ Sémantique | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:197` | Les conventions de codage | - |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:38` | conventions de code | - |
+| 🔵 Exact | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:95` | Coding conventions | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | conventions de code | - |
+| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:277` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:109` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:164` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:21` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:73` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:47` | conventions de codage | - |
+| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:81` | conventions de code | - |
+| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:17` | conventions de code | - |
---
@@ -449,13 +449,13 @@ Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | commandes console | — |
-| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:21` | commande console | — |
-| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:48` | commandes invocables | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | commandes console | - |
+| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:21` | commande console | - |
+| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:48` | commandes invocables | - |
---
@@ -463,12 +463,12 @@ Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 3
> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 2
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:34` | choisir son prestataire Symfony | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:90` | prestataire spécialisé | — |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:34` | choisir son prestataire Symfony | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:90` | prestataire spécialisé | - |
---
@@ -478,21 +478,21 @@ Exact match : **9%** · Partiel : **91%** · Sémantique : **0%** · Total : 11
*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
> 🔧 Actions : 2 partiel → exact · 5 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:257` | L'intégration des tests API dans GitLab CI | — |
-| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:380` | Postman via Newman dans GitLab CI | — |
-| 🔵 Exact | `content\blog\api-rest-les-bonnes-pratiques.mdx:114` | Comment exécuter des tests Postman avec Newman dans GitLab CI | — |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:18` | automatisent déjà leurs tests d'API avec Newman en CI/CD | — |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:139` | Tests Postman avec Newman dans GitLab CI | — |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:81` | mise en place d'outils comme Newman dans une CI | — |
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:41` | l'exécution de tests Postman avec Newman dans GitLab CI | — |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:49` | tests Postman avec Newman dans GitLab CI | — |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:112` | automatisent déjà leurs tests d'API avec Newman en CI/CD | — |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:160` | tests d'API via Newman | — |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:168` | Tests d'API avec Newman dans GitLab CI | — |
+| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:258` | L'intégration des tests API dans GitLab CI | - |
+| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:381` | Postman via Newman dans GitLab CI | - |
+| 🔵 Exact | `content\blog\api-rest-les-bonnes-pratiques.mdx:114` | Comment exécuter des tests Postman avec Newman dans GitLab CI | - |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:18` | automatisent déjà leurs tests d'API avec Newman en CI/CD | - |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:139` | Tests Postman avec Newman dans GitLab CI | - |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:81` | mise en place d'outils comme Newman dans une CI | - |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:41` | l'exécution de tests Postman avec Newman dans GitLab CI | - |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:49` | tests Postman avec Newman dans GitLab CI | - |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:112` | automatisent déjà leurs tests d'API avec Newman en CI/CD | - |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:160` | tests d'API via Newman | - |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:168` | Tests d'API avec Newman dans GitLab CI | - |
---
@@ -502,17 +502,17 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 7
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 2 partiel → exact · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:234` | se former à la sécurité informatique | — |
-| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:273` | former vos équipes à la sécurité informatique | — |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:128` | Former vos équipes à la sécurité informatique efficacement | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:99` | former vos équipes à la sécurité informatique | — |
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:155` | Former vos équipes à la sécurité informatique | — |
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:62` | former vos équipes à la sécurité informatique | — |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:93` | Former vos équipes à la sécurité informatique efficacement | — |
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:234` | se former à la sécurité informatique | - |
+| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:274` | former vos équipes à la sécurité informatique | - |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:128` | Former vos équipes à la sécurité informatique efficacement | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:99` | former vos équipes à la sécurité informatique | - |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:155` | Former vos équipes à la sécurité informatique | - |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:62` | former vos équipes à la sécurité informatique | - |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:93` | Former vos équipes à la sécurité informatique efficacement | - |
---
@@ -522,58 +522,58 @@ Exact match : **4%** · Partiel : **25%** · Sémantique : **71%** · Total : 48
*Après correction → Exact match : **29%** · Partiel : **31%** · Sémantique : **40%***
> 🔧 Actions : 12 partiel → exact · 15 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:490` | comment PHPStan améliore la qualité de votre code | — |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:498` | comment PHPStan améliore la qualité de votre code PHP | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:525` | PHPStan au niveau maximal | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:545` | analyse statique PHPStan | — |
-| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:337` | PHPStan améliore la qualité de votre code PHP | — |
-| ✅ Sémantique | `src\app\audit-code-php\page.tsx:265` | PHPStan | — |
-| 🟡 Partiel | `src\app\developpement-php\page.tsx:289` | découvrez comment PHPStan améliore la qualité de votre code PHP | — |
-| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:257` | découvrez comment PHPStan peut améliorer la qualité de votre code PHP | — |
-| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:354` | PHPStan | — |
-| ✅ Sémantique | `src\app\modernisation-application-php\page.tsx:356` | PHPStan | — |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:251` | PHPStan | — |
-| ✅ Sémantique | `src\app\reprise-projet-symfony\page.tsx:296` | PHPStan | — |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:299` | PHPStan | — |
-| ✅ Sémantique | `src\app\tests-automatises-php\page.tsx:244` | PHPStan | — |
-| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:15` | notre guide sur PHPStan et l'amélioration de la qualité du code PHP | — |
-| ✅ Sémantique | `content\blog\coding-conventions.mdx:84` | PHPStan | — |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:120` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | PHPStan | — |
-| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:90` | outillage d'analyse statique comme PHPStan | — |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:49` | PHPStan avec des règles de sécurité personnalisées | — |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:108` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
-| ✅ Sémantique | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:68` | PHPStan | — |
-| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:249` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
-| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:81` | analyseurs statiques | — |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:137` | PHPStan détecte les erreurs de typage | — |
-| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:42` | PHPStan | — |
-| ✅ Sémantique | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:368` | PHPStan comme gardien d'architecture | — |
-| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:89` | analyse statique comme PHPStan | — |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:61` | PHPStan | — |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | PHPStan | — |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:123` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
-| ✅ Sémantique | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:41` | analyse statique avec PHPStan | — |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:79` | PHPStan | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:40` | PHPStan | — |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:59` | PHPStan | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | PHPStan | — |
-| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:190` | Comment PHPStan peut améliorer la qualité de votre code PHP | — |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:14` | comment PHPStan peut améliorer la qualité de votre code PHP | — |
-| ✅ Sémantique | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:25` | PHPStan | — |
-| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:129` | Comment PHPStan peut vous aider à améliorer la qualité de votre code PHP | — |
-| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:89` | PHPStan | — |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:198` | Comment PHPStan peut vous aider à améliorer la qualité de votre code PHP | — |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2024.mdx:43` | analyse statique avec PHPStan | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | PHPStan | — |
-| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:21` | PHPStan | — |
-| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:57` | PHPStan | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:64` | PHPStan | — |
-| ✅ Sémantique | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:30` | PHPStan | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:490` | comment PHPStan améliore la qualité de votre code | - |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:498` | comment PHPStan améliore la qualité de votre code PHP | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:525` | PHPStan au niveau maximal | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:545` | analyse statique PHPStan | - |
+| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:337` | PHPStan améliore la qualité de votre code PHP | - |
+| ✅ Sémantique | `src\app\audit-code-php\page.tsx:266` | PHPStan | - |
+| 🟡 Partiel | `src\app\developpement-php\page.tsx:290` | découvrez comment PHPStan améliore la qualité de votre code PHP | - |
+| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:257` | découvrez comment PHPStan peut améliorer la qualité de votre code PHP | - |
+| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:355` | PHPStan | - |
+| ✅ Sémantique | `src\app\modernisation-application-php\page.tsx:357` | PHPStan | - |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:252` | PHPStan | - |
+| ✅ Sémantique | `src\app\reprise-projet-symfony\page.tsx:297` | PHPStan | - |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:299` | PHPStan | - |
+| ✅ Sémantique | `src\app\tests-automatises-php\page.tsx:245` | PHPStan | - |
+| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:15` | notre guide sur PHPStan et l'amélioration de la qualité du code PHP | - |
+| ✅ Sémantique | `content\blog\coding-conventions.mdx:84` | PHPStan | - |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:120` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | PHPStan | - |
+| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:90` | outillage d'analyse statique comme PHPStan | - |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:49` | PHPStan avec des règles de sécurité personnalisées | - |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:108` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
+| ✅ Sémantique | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:68` | PHPStan | - |
+| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:249` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
+| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:81` | analyseurs statiques | - |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:137` | PHPStan détecte les erreurs de typage | - |
+| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:42` | PHPStan | - |
+| ✅ Sémantique | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:368` | PHPStan comme gardien d'architecture | - |
+| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:89` | analyse statique comme PHPStan | - |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:61` | PHPStan | - |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | PHPStan | - |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:123` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
+| ✅ Sémantique | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:41` | analyse statique avec PHPStan | - |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:84` | PHPStan | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:40` | PHPStan | - |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:59` | PHPStan | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | PHPStan | - |
+| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:190` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:14` | comment PHPStan peut améliorer la qualité de votre code PHP | - |
+| ✅ Sémantique | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:25` | PHPStan | - |
+| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:129` | Comment PHPStan peut vous aider à améliorer la qualité de votre code PHP | - |
+| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:89` | PHPStan | - |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:198` | Comment PHPStan peut vous aider à améliorer la qualité de votre code PHP | - |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2024.mdx:43` | analyse statique avec PHPStan | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | PHPStan | - |
+| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:21` | PHPStan | - |
+| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:57` | PHPStan | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:64` | PHPStan | - |
+| ✅ Sémantique | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:30` | PHPStan | - |
---
@@ -583,14 +583,14 @@ Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:145` | Comment produire la documentation sur votre projet Symfony avec l'approche Diataxis | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:85` | approche Diataxis | — |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:65` | documentation Symfony avec l'approche Diataxis | — |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:97` | Documentation Symfony avec l'approche Diataxis | — |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:145` | Comment produire la documentation sur votre projet Symfony avec l'approche Diataxis | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:85` | approche Diataxis | - |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:65` | documentation Symfony avec l'approche Diataxis | - |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:97` | Documentation Symfony avec l'approche Diataxis | - |
---
@@ -600,16 +600,16 @@ Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 6
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 2 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:28` | la rédaction d'un cahier des charges agile | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:59` | méthodologie agile | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:77` | approche agile | — |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:75` | cahier des charges agile | — |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:36` | cahier des charges | — |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:112` | Comment rédiger un cahier des charges pour un projet Agile | — |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:28` | la rédaction d'un cahier des charges agile | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:59` | méthodologie agile | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:77` | approche agile | - |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:75` | cahier des charges agile | - |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:36` | cahier des charges | - |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:112` | Comment rédiger un cahier des charges pour un projet Agile | - |
---
@@ -619,21 +619,21 @@ Exact match : **0%** · Partiel : **64%** · Sémantique : **36%** · Total : 11
*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-symfony-gratuit\page.tsx:384` | notre méthodologie d'audit | — |
-| ✅ Sémantique | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:163` | notre processus d'audit technique | — |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:56` | un audit technique chez Efficience IT | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:121` | Audit web chez Efficience IT : méthode, critères et contenu | — |
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:157` | Audit web chez Efficience IT : méthode, critères et contenu | — |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:118` | Audit web chez Efficience IT : méthode, critères et contenu | — |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:84` | audit web structuré | — |
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:81` | Comment se passe un audit chez Efficience IT ? | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:34` | comment se passe un audit chez Efficience IT | — |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:142` | audit de code avant la migration | — |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:70` | Comment se passe un audit chez Efficience IT | — |
+| ✅ Sémantique | `src\app\audit-symfony-gratuit\page.tsx:384` | notre méthodologie d'audit | - |
+| ✅ Sémantique | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:163` | notre processus d'audit technique | - |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:56` | un audit technique chez Efficience IT | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:121` | Audit web chez Efficience IT : méthode, critères et contenu | - |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:157` | Audit web chez Efficience IT : méthode, critères et contenu | - |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:118` | Audit web chez Efficience IT : méthode, critères et contenu | - |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:84` | audit web structuré | - |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:81` | Comment se passe un audit chez Efficience IT ? | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:34` | comment se passe un audit chez Efficience IT | - |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:142` | audit de code avant la migration | - |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:70` | Comment se passe un audit chez Efficience IT | - |
---
@@ -643,14 +643,14 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:100` | le bundle Alice Faker dans vos projets Symfony | — |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:59` | Alice et Faker dans vos projets Symfony | — |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:35` | bundle Alice Faker | — |
-| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:166` | Le bundle Alice et Faker dans vos projets Symfony | — |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:100` | le bundle Alice Faker dans vos projets Symfony | - |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:59` | Alice et Faker dans vos projets Symfony | - |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:35` | bundle Alice Faker | - |
+| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:166` | Le bundle Alice et Faker dans vos projets Symfony | - |
---
@@ -660,21 +660,21 @@ Exact match : **0%** · Partiel : **18%** · Sémantique : **82%** · Total : 11
*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:426` | FrankenPHP | — |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:274` | ce qu'est FrankenPHP | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:28` | FrankenPHP | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:64` | FrankenPHP | — |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:62` | FrankenPHP | — |
-| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:163` | FrankenPHP | — |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:193` | Concrètement : c'est quoi FrankenPHP ? | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:87` | FrankenPHP concrètement | — |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:48` | FrankenPHP | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:60` | FrankenPHP | — |
-| ✅ Sémantique | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:27` | FrankenPHP | — |
+| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:427` | FrankenPHP | - |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:275` | ce qu'est FrankenPHP | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:28` | FrankenPHP | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:64` | FrankenPHP | - |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:62` | FrankenPHP | - |
+| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:163` | FrankenPHP | - |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:193` | Concrètement : c'est quoi FrankenPHP ? | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:87` | FrankenPHP concrètement | - |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:48` | FrankenPHP | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:60` | FrankenPHP | - |
+| ✅ Sémantique | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:27` | FrankenPHP | - |
---
@@ -684,14 +684,14 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:61` | organisation en core team | — |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:142` | Core Team : structurer une équipe projet | — |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:108` | Core Team : structurer une équipe projet | — |
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:81` | Core Team : structurer une équipe projet | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:61` | organisation en core team | - |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:142` | Core Team : structurer une équipe projet | - |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:108` | Core Team : structurer une équipe projet | - |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:81` | Core Team : structurer une équipe projet | - |
---
@@ -701,35 +701,35 @@ Exact match : **0%** · Partiel : **8%** · Sémantique : **92%** · Total : 25
*Après correction → Exact match : **32%** · Partiel : **28%** · Sémantique : **40%***
> 🔧 Actions : 2 partiel → exact · 6 sémantique → exact · 7 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-code-php\page.tsx:331` | CVE connues | — |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:183` | vulnérabilités connues | — |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:411` | CVE | — |
-| ✅ Sémantique | `src\app\secteur\finance\page.tsx:313` | CVE | — |
-| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:270` | failles de sécurité | — |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:278` | CVE publiée | — |
-| ✅ Sémantique | `src\app\securite-application-symfony\page.tsx:266` | découvrez notre guide sur les CVE | — |
-| ✅ Sémantique | `content\blog\api-rest-les-bonnes-pratiques.mdx:78` | failles CVE | — |
-| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:35` | failles CVE | — |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:17` | CVE publiées sur des bibliothèques connues | — |
-| ✅ Sémantique | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:47` | CVE connues | — |
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:21` | les failles CVE et comment s'en protéger | — |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:121` | CVE : comprendre les failles de sécurité et protéger les applications web | — |
-| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:115` | se prémunir contre les failles de sécurité | — |
-| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:42` | les failles CVE et leur fonctionnement | — |
-| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:18` | les CVE et la compréhension des failles de sécurité | — |
-| ✅ Sémantique | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:35` | vulnérabilités de sécurité (CVE) | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:86` | CVE | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:70` | gestion des CVE | — |
-| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:88` | les failles CVE et leur impact | — |
-| ✅ Sémantique | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:175` | CVE et des failles de sécurité | — |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:23` | vulnérabilités (CVE) dans l'arbre de dépendances | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:78` | gestion des CVE | — |
-| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:43` | CVE connues | — |
-| ✅ Sémantique | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:79` | vulnérabilités connues (CVE) | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-code-php\page.tsx:332` | CVE connues | - |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:184` | vulnérabilités connues | - |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:412` | CVE | - |
+| ✅ Sémantique | `src\app\secteur\finance\page.tsx:313` | CVE | - |
+| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:270` | failles de sécurité | - |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:278` | CVE publiée | - |
+| ✅ Sémantique | `src\app\securite-application-symfony\page.tsx:267` | découvrez notre guide sur les CVE | - |
+| ✅ Sémantique | `content\blog\api-rest-les-bonnes-pratiques.mdx:78` | failles CVE | - |
+| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:35` | failles CVE | - |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:17` | CVE publiées sur des bibliothèques connues | - |
+| ✅ Sémantique | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:47` | CVE connues | - |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:21` | les failles CVE et comment s'en protéger | - |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:121` | CVE : comprendre les failles de sécurité et protéger les applications web | - |
+| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:115` | se prémunir contre les failles de sécurité | - |
+| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:42` | les failles CVE et leur fonctionnement | - |
+| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:18` | les CVE et la compréhension des failles de sécurité | - |
+| ✅ Sémantique | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:35` | vulnérabilités de sécurité (CVE) | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:86` | CVE | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:70` | gestion des CVE | - |
+| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:88` | les failles CVE et leur impact | - |
+| ✅ Sémantique | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:175` | CVE et des failles de sécurité | - |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:23` | vulnérabilités (CVE) dans l'arbre de dépendances | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:78` | gestion des CVE | - |
+| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:43` | CVE connues | - |
+| ✅ Sémantique | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:79` | vulnérabilités connues (CVE) | - |
---
@@ -739,20 +739,20 @@ Exact match : **0%** · Partiel : **70%** · Sémantique : **30%** · Total : 10
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:292` | bases de données de recette sont anonymisées | — |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:192` | anonymisation des données | — |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:319` | anonymisation | — |
-| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:330` | anonymisation des bases de données | — |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:39` | DbToolsBundle pour anonymiser vos données de test | — |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:180` | DbToolsBundle : anonymiser vos bases de données | — |
-| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:72` | gestion des secrets dans un projet Symfony | — |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:107` | DbToolsBundle : anonymiser vos bases de données | — |
-| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:231` | DbToolsBundle propose une solution dédiée à l'anonymisation des bases de données | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:119` | DbToolsBundle : anonymiser vos bases de données | — |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:292` | bases de données de recette sont anonymisées | - |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:192` | anonymisation des données | - |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:319` | anonymisation | - |
+| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:331` | anonymisation des bases de données | - |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:39` | DbToolsBundle pour anonymiser vos données de test | - |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:180` | DbToolsBundle : anonymiser vos bases de données | - |
+| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:72` | gestion des secrets dans un projet Symfony | - |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:107` | DbToolsBundle : anonymiser vos bases de données | - |
+| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:231` | DbToolsBundle propose une solution dédiée à l'anonymisation des bases de données | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:119` | DbToolsBundle : anonymiser vos bases de données | - |
---
@@ -762,15 +762,15 @@ Exact match : **40%** · Partiel : **60%** · Sémantique : **0%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 exact → sémantique · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:105` | Pourquoi nous confier la maintenance de vos applications web | — |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:114` | Maintenance d’applications web : pourquoi nous choisir | — |
-| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:121` | Découvrez les raisons de nous confier la maintenance de vos applications web | — |
-| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:111` | Découvrez les raisons de nous confier la maintenance de vos applications web | — |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | maintenance de vos applications web | — |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:105` | Pourquoi nous confier la maintenance de vos applications web | - |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:114` | Maintenance d’applications web : pourquoi nous choisir | - |
+| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:121` | Découvrez les raisons de nous confier la maintenance de vos applications web | - |
+| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:111` | Découvrez les raisons de nous confier la maintenance de vos applications web | - |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | maintenance de vos applications web | - |
---
@@ -780,17 +780,17 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 7
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 2 partiel → exact · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\hebergement-symfony\page.tsx:280` | le déploiement automatisé avec GitLab CI, S3 et CloudFront | — |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:125` | le déploiement Nuxt.js avec GitLab CI | — |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:126` | Déployer Nuxt.js avec GitLab CI : S3 et CloudFront | — |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:94` | le déploiement de Nuxt.js avec GitLab CI, S3 et CloudFront | — |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:95` | Déployer Nuxt.js avec GitLab CI : S3 et CloudFront | — |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:31` | déploiement de Nuxt.js avec CloudFront | — |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:105` | Déployer NuxtJS avec GitLab CI, S3 et CloudFront | — |
+| 🟡 Partiel | `src\app\hebergement-symfony\page.tsx:281` | le déploiement automatisé avec GitLab CI, S3 et CloudFront | - |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:125` | le déploiement Nuxt.js avec GitLab CI | - |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:126` | Déployer Nuxt.js avec GitLab CI : S3 et CloudFront | - |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:94` | le déploiement de Nuxt.js avec GitLab CI, S3 et CloudFront | - |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:95` | Déployer Nuxt.js avec GitLab CI : S3 et CloudFront | - |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:31` | déploiement de Nuxt.js avec CloudFront | - |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:105` | Déployer NuxtJS avec GitLab CI, S3 et CloudFront | - |
---
@@ -800,15 +800,15 @@ Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:87` | MVP Doctavis en un temps record | — |
-| 🟡 Partiel | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:78` | Doctavis et Efficience IT : une course contre la montre pour sortir un MVP | — |
-| ✅ Sémantique | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:136` | Doctavis, un MVP livré en un temps record | — |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:143` | Doctavis et Efficience IT : une course contre la montre pour sortir un MVP | — |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:40` | Doctavis et Efficience IT | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:87` | MVP Doctavis en un temps record | - |
+| 🟡 Partiel | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:78` | Doctavis et Efficience IT : une course contre la montre pour sortir un MVP | - |
+| ✅ Sémantique | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:136` | Doctavis, un MVP livré en un temps record | - |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:143` | Doctavis et Efficience IT : une course contre la montre pour sortir un MVP | - |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:40` | Doctavis et Efficience IT | - |
---
@@ -818,29 +818,29 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 19
*Après correction → Exact match : **32%** · Partiel : **32%** · Sémantique : **37%***
> 🔧 Actions : 6 sémantique → exact · 6 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\base-de-donnees-postgresql-symfony\page.tsx:266` | Découvrez ce qui change avec Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:422` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:178` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | Doctrine correctement | — |
-| ✅ Sémantique | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:17` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:145` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:33` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:171` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:192` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:93` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:162` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:58` | Doctrine | — |
-| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:43` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:61` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:12` | Doctrine | — |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:409` | Doctrine ORM 3.0 | — |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2023.mdx:37` | Doctrine | — |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:35` | Doctrine | — |
-| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:107` | Doctrine | — |
+| ✅ Sémantique | `src\app\base-de-donnees-postgresql-symfony\page.tsx:267` | Découvrez ce qui change avec Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:423` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:178` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | Doctrine correctement | - |
+| ✅ Sémantique | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:17` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:145` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:33` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:176` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:197` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:93` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:162` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:58` | Doctrine | - |
+| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:43` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:61` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:12` | Doctrine | - |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:409` | Doctrine ORM 3.0 | - |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2023.mdx:37` | Doctrine | - |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:35` | Doctrine | - |
+| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:107` | Doctrine | - |
---
@@ -850,27 +850,27 @@ Exact match : **0%** · Partiel : **71%** · Sémantique : **29%** · Total : 17
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
> 🔧 Actions : 5 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:265` | pourquoi le domaine ne devrait jamais connaître Symfony | — |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:225` | domaine métier de Symfony | — |
-| ✅ Sémantique | `src\app\secteur\saas\page.tsx:289` | domaine métier du framework | — |
-| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:248` | architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:346` | Pourquoi votre Domain ne devrait jamais connaître Symfony | — |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:218` | domaine qui ne devrait jamais connaître Symfony | — |
-| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:53` | séparation des responsabilités en architecture logicielle | — |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:179` | event listener Doctrine | — |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:65` | le domaine ne devrait jamais connaître Symfony | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:43` | isoler le domaine de Symfony | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:110` | Le domaine ne devrait jamais connaître Symfony | — |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:258` | Le domaine ne devrait jamais connaître Symfony | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:538` | Le domaine ne devrait jamais connaître Symfony | — |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:95` | domaine ne devrait jamais connaître Symfony | — |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:68` | le domaine ne devrait jamais connaître Symfony | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:18` | le domaine ne devrait jamais connaître Symfony | — |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:32` | l'architecture hexagonale où le domaine ne connaît pas le framework | — |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:265` | pourquoi le domaine ne devrait jamais connaître Symfony | - |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:226` | domaine métier de Symfony | - |
+| ✅ Sémantique | `src\app\secteur\saas\page.tsx:289` | domaine métier du framework | - |
+| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:248` | architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:346` | Pourquoi votre Domain ne devrait jamais connaître Symfony | - |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:218` | domaine qui ne devrait jamais connaître Symfony | - |
+| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:53` | séparation des responsabilités en architecture logicielle | - |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:184` | event listener Doctrine | - |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:65` | le domaine ne devrait jamais connaître Symfony | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:43` | isoler le domaine de Symfony | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:110` | Le domaine ne devrait jamais connaître Symfony | - |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:258` | Le domaine ne devrait jamais connaître Symfony | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:538` | Le domaine ne devrait jamais connaître Symfony | - |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:95` | domaine ne devrait jamais connaître Symfony | - |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:68` | le domaine ne devrait jamais connaître Symfony | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:18` | le domaine ne devrait jamais connaître Symfony | - |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:32` | l'architecture hexagonale où le domaine ne connaît pas le framework | - |
---
@@ -880,12 +880,12 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:39` | comparaison entre EasyAdmin et Forest Admin | — |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:87` | EasyAdmin présente des avantages différents de Forest Admin | — |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:39` | comparaison entre EasyAdmin et Forest Admin | - |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:87` | EasyAdmin présente des avantages différents de Forest Admin | - |
---
@@ -895,18 +895,18 @@ Exact match : **0%** · Partiel : **25%** · Sémantique : **75%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 2 partiel → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\green-it\page.tsx:91` | L'éco-conception | — |
-| ✅ Sémantique | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | éco-conception | — |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:96` | Éco-conception : un idéal en marche ou une illusion durable ? | — |
-| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:46` | l'éco-conception numérique | — |
-| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:102` | l'éco-conception web | — |
-| ✅ Sémantique | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:67` | conception responsable et l'éco-conception des sites web | — |
-| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:85` | l'éco-conception web | — |
-| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:99` | L'éco-conception : un idéal en marche ? | — |
+| ✅ Sémantique | `src\app\green-it\page.tsx:91` | L'éco-conception | - |
+| ✅ Sémantique | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | éco-conception | - |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:96` | Éco-conception : un idéal en marche ou une illusion durable ? | - |
+| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:46` | l'éco-conception numérique | - |
+| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:102` | l'éco-conception web | - |
+| ✅ Sémantique | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:67` | conception responsable et l'éco-conception des sites web | - |
+| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:85` | l'éco-conception web | - |
+| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:99` | L'éco-conception : un idéal en marche ? | - |
---
@@ -916,12 +916,12 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\green-it\page.tsx:208` | Ecosia | — |
-| ✅ Sémantique | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:100` | Ecosia, le moteur de recherche qui finance la reforestation | — |
+| ✅ Sémantique | `src\app\green-it\page.tsx:208` | Ecosia | - |
+| ✅ Sémantique | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:100` | Ecosia, le moteur de recherche qui finance la reforestation | - |
---
@@ -931,16 +931,16 @@ Exact match : **0%** · Partiel : **83%** · Sémantique : **17%** · Total : 6
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:165` | frameworks Node.js Express, Fastify et Hono | — |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:94` | Express, Fastify ou Hono | — |
-| ✅ Sémantique | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:36` | frameworks Node.js | — |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:46` | Express, Fastify et Hono | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:95` | frameworks Node.js comme Express, Fastify ou Hono | — |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:90` | comparatif Express, Fastify et Hono | — |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:166` | frameworks Node.js Express, Fastify et Hono | - |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:94` | Express, Fastify ou Hono | - |
+| ✅ Sémantique | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:36` | frameworks Node.js | - |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:46` | Express, Fastify et Hono | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:95` | frameworks Node.js comme Express, Fastify ou Hono | - |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:90` | comparatif Express, Fastify et Hono | - |
---
@@ -950,19 +950,19 @@ Exact match : **22%** · Partiel : **78%** · Sémantique : **0%** · Total : 9
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 partiel → exact · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:346` | forces et faiblesses des IA génératives | — |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:286` | forces et faiblesses des IA génératives | — |
-| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:81` | forces et faiblesses des IA génératives | — |
-| 🔵 Exact | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:11` | forces et faiblesses des IA génératives les plus utilisées | — |
-| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:27` | forces des IA génératives actuelles | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:127` | IA génératives : forces et faiblesses | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:118` | forces et faiblesses des IA génératives | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:536` | Forces et faiblesses des IA génératives | — |
-| 🔵 Exact | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:37` | forces et faiblesses des IA génératives les plus utilisées | — |
+| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:346` | forces et faiblesses des IA génératives | - |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:286` | forces et faiblesses des IA génératives | - |
+| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:81` | forces et faiblesses des IA génératives | - |
+| 🔵 Exact | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:11` | forces et faiblesses des IA génératives les plus utilisées | - |
+| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:27` | forces des IA génératives actuelles | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:127` | IA génératives : forces et faiblesses | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:118` | forces et faiblesses des IA génératives | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:536` | Forces et faiblesses des IA génératives | - |
+| 🔵 Exact | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:37` | forces et faiblesses des IA génératives les plus utilisées | - |
---
@@ -972,18 +972,18 @@ Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:304` | GEO appliqué aux applications Symfony | — |
-| ✅ Sémantique | `src\app\geo-optimisation-ia\page.tsx:274` | GEO appliqué aux applications web | — |
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:404` | GEO : rendre votre application visible dans les moteurs IA | — |
-| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:70` | visibilité responsable dans les moteurs IA | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:102` | GEO : rendre votre application Symfony visible dans les moteurs IA | — |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:89` | GEO pour rendre une application Symfony visible dans les moteurs IA | — |
-| ✅ Sémantique | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:77` | GEO pour les moteurs IA | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:201` | GEO : rendre son application visible dans les moteurs IA | — |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:304` | GEO appliqué aux applications Symfony | - |
+| ✅ Sémantique | `src\app\geo-optimisation-ia\page.tsx:274` | GEO appliqué aux applications web | - |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:404` | GEO : rendre votre application visible dans les moteurs IA | - |
+| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:70` | visibilité responsable dans les moteurs IA | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:102` | GEO : rendre votre application Symfony visible dans les moteurs IA | - |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:89` | GEO pour rendre une application Symfony visible dans les moteurs IA | - |
+| ✅ Sémantique | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:77` | GEO pour les moteurs IA | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:201` | GEO : rendre son application visible dans les moteurs IA | - |
---
@@ -993,33 +993,33 @@ Exact match : **35%** · Partiel : **43%** · Sémantique : **22%** · Total : 2
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **39%***
> 🔧 Actions : 1 exact → sémantique · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\migration-symfony\page.tsx:258` | guide de migration dans un projet Symfony | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:371` | guides de migration | — |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:370` | guide de migration Symfony | — |
-| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:290` | calendrier officiel | — |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:179` | Guide de migration Symfony | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:82` | montées de version | — |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:93` | guide de migration structuré | — |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | migrer votre projet vers Symfony 7.4 | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:53` | montées de version | — |
-| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:108` | Guide de migration dans un projet Symfony | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:42` | guide de migration Symfony | — |
-| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:120` | Guide de migration dans un projet Symfony | — |
-| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:90` | guide de migration structuré | — |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:66` | guide de migration Symfony | — |
-| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:109` | Guide de migration dans un projet Symfony | — |
-| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:167` | guide de migration dans un projet Symfony | — |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:62` | guide de migration Symfony | — |
-| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:273` | Guide de migration dans un projet Symfony | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:38` | guide de migration Symfony | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:76` | migrations entre versions | — |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | guide de migration dans un projet Symfony | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:83` | montées de version régulières | — |
-| 🔵 Exact | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:102` | guide de migration dans un projet Symfony | — |
+| 🔵 Exact | `src\app\migration-symfony\page.tsx:259` | guide de migration dans un projet Symfony | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:372` | guides de migration | - |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:371` | guide de migration Symfony | - |
+| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:290` | calendrier officiel | - |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:179` | Guide de migration Symfony | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:82` | montées de version | - |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:93` | guide de migration structuré | - |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | migrer votre projet vers Symfony 7.4 | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:53` | montées de version | - |
+| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:108` | Guide de migration dans un projet Symfony | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:42` | guide de migration Symfony | - |
+| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:120` | Guide de migration dans un projet Symfony | - |
+| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:90` | guide de migration structuré | - |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:66` | guide de migration Symfony | - |
+| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:109` | Guide de migration dans un projet Symfony | - |
+| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:167` | guide de migration dans un projet Symfony | - |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:67` | guide de migration Symfony | - |
+| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:273` | Guide de migration dans un projet Symfony | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:38` | guide de migration Symfony | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:76` | migrations entre versions | - |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | guide de migration dans un projet Symfony | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:83` | montées de version régulières | - |
+| 🔵 Exact | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:102` | guide de migration dans un projet Symfony | - |
---
@@ -1029,47 +1029,47 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 37
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
> 🔧 Actions : 11 partiel → exact · 15 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:191` | dette technique | — |
-| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:280` | dette technique | — |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:335` | dette technique | — |
-| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:279` | dette technique | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:137` | dette technique | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:192` | dette technique | — |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:260` | dette technique | — |
-| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:279` | dette technique | — |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:177` | dette technique | — |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:78` | dette technique | — |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:12` | dette technique accumulée | — |
-| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:43` | dette technique, dont les conséquences méritent d'être anticipées | — |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:121` | La dette technique : faut-il vraiment en avoir peur ? | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:86` | dette technique | — |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:103` | dette technique | — |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:97` | dette technique structurelle | — |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:106` | La dette technique : faut-il vraiment en avoir peur ? | — |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:87` | dette technique | — |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:24` | la dette technique et ses impacts réels | — |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:92` | dette technique | — |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:119` | La dette technique | — |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:76` | dette technique | — |
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:82` | La dette technique : faut-il vraiment en avoir peur ? | — |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:94` | La dette technique : faut-il vraiment en avoir peur ? | — |
-| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:136` | dette technique | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:113` | dette technique | — |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:148` | dette technique | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:33` | dette technique | — |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:44` | dette technique | — |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:79` | dette technique | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:102` | gestion de la dette technique | — |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:71` | La dette technique : faut-il vraiment en avoir peur ? | — |
-| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:199` | La dette technique : faut-il vraiment en avoir peur ? | — |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:34` | dette technique | — |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:263` | la dette technique et comment l'apprivoiser | — |
-| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:51` | dette technique | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:350` | dette technique | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:192` | dette technique | - |
+| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:281` | dette technique | - |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:336` | dette technique | - |
+| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:280` | dette technique | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:138` | dette technique | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:193` | dette technique | - |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:261` | dette technique | - |
+| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:279` | dette technique | - |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:177` | dette technique | - |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:78` | dette technique | - |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:12` | dette technique accumulée | - |
+| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:43` | dette technique, dont les conséquences méritent d'être anticipées | - |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:121` | La dette technique : faut-il vraiment en avoir peur ? | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:86` | dette technique | - |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:103` | dette technique | - |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:97` | dette technique structurelle | - |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:106` | La dette technique : faut-il vraiment en avoir peur ? | - |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:87` | dette technique | - |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:24` | la dette technique et ses impacts réels | - |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:92` | dette technique | - |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:119` | La dette technique | - |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:76` | dette technique | - |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:82` | La dette technique : faut-il vraiment en avoir peur ? | - |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:94` | La dette technique : faut-il vraiment en avoir peur ? | - |
+| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:136` | dette technique | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:113` | dette technique | - |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:148` | dette technique | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:33` | dette technique | - |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:44` | dette technique | - |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:79` | dette technique | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:102` | gestion de la dette technique | - |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:71` | La dette technique : faut-il vraiment en avoir peur ? | - |
+| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:199` | La dette technique : faut-il vraiment en avoir peur ? | - |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:34` | dette technique | - |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:263` | la dette technique et comment l'apprivoiser | - |
+| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:51` | dette technique | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:350` | dette technique | - |
---
@@ -1079,15 +1079,15 @@ Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 partiel → exact · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:69` | la Fondation PHP a soufflé ses trois bougies | — |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:147` | La Fondation PHP fête ses 3 ans | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:76` | Fondation PHP | — |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2023.mdx:73` | PHP Foundation | — |
-| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:37` | contributions de la Fondation PHP | — |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:69` | la Fondation PHP a soufflé ses trois bougies | - |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:147` | La Fondation PHP fête ses 3 ans | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:76` | Fondation PHP | - |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2023.mdx:73` | PHP Foundation | - |
+| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:37` | contributions de la Fondation PHP | - |
---
@@ -1097,12 +1097,12 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:68` | méthode du canard en plastique | — |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:47` | méthode du canard en plastique | — |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:68` | méthode du canard en plastique | - |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:47` | méthode du canard en plastique | - |
---
@@ -1112,14 +1112,14 @@ Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\la-team\page.tsx:219` | chocoblast | — |
-| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:64` | le Chocoblast, notre approche ludique de la sensibilisation par le jeu | — |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:61` | le Chocoblast illustre comment la gamification peut rendre la sensibilisation à la sécurité plus engageante | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:120` | Le Chocoblast : un premier pas vers la sécurité par le jeu | — |
+| ✅ Sémantique | `src\app\la-team\page.tsx:219` | chocoblast | - |
+| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:64` | le Chocoblast, notre approche ludique de la sensibilisation par le jeu | - |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:61` | le Chocoblast illustre comment la gamification peut rendre la sensibilisation à la sécurité plus engageante | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:120` | Le Chocoblast : un premier pas vers la sécurité par le jeu | - |
---
@@ -1129,27 +1129,27 @@ Exact match : **41%** · Partiel : **41%** · Sémantique : **18%** · Total : 1
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
> 🔧 Actions : 2 exact → sémantique · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\accompagnement-et-conseil\page.tsx:347` | les 6 étapes pour monter en compétences sur Symfony | — |
-| 🔵 Exact | `src\app\formation-symfony-entreprise\page.tsx:321` | les 6 étapes pour monter en compétences sur Symfony | — |
-| 🔵 Exact | `src\components\seo\GonePage.tsx:43` | Les 6 étapes pour monter en compétences sur Symfony | — |
-| 🔵 Exact | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:46` | les 6 étapes pour monter en compétences sur Symfony | — |
-| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:322` | tests automatisés | — |
-| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:36` | parcours en 6 étapes pour monter en compétences sur Symfony | — |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:30` | monter en compétences sur un framework | — |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:75` | montée en compétences se fait par étapes | — |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:100` | monter en compétences sur Symfony | — |
-| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:74` | programmes de montée en compétences | — |
-| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:126` | Les 6 étapes pour monter en compétences sur Symfony | — |
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:75` | 6 étapes pour monter en compétences sur Symfony | — |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:96` | la montée en compétence sur un framework | — |
-| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:86` | 6 étapes pour monter en compétences sur Symfony | — |
-| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:116` | Les 6 étapes pour monter en compétences sur Symfony | — |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:16` | 6 étapes pour monter en compétences sur Symfony | — |
-| 🔵 Exact | `content\blog\symfony-pour-les-moldus.mdx:86` | Les 6 étapes pour monter en compétences sur Symfony | — |
+| 🔵 Exact | `src\app\accompagnement-et-conseil\page.tsx:347` | les 6 étapes pour monter en compétences sur Symfony | - |
+| 🔵 Exact | `src\app\formation-symfony-entreprise\page.tsx:321` | les 6 étapes pour monter en compétences sur Symfony | - |
+| 🔵 Exact | `src\components\seo\GonePage.tsx:43` | Les 6 étapes pour monter en compétences sur Symfony | - |
+| 🔵 Exact | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:46` | les 6 étapes pour monter en compétences sur Symfony | - |
+| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:322` | tests automatisés | - |
+| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:36` | parcours en 6 étapes pour monter en compétences sur Symfony | - |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:30` | monter en compétences sur un framework | - |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:75` | montée en compétences se fait par étapes | - |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:100` | monter en compétences sur Symfony | - |
+| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:74` | programmes de montée en compétences | - |
+| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:126` | Les 6 étapes pour monter en compétences sur Symfony | - |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:75` | 6 étapes pour monter en compétences sur Symfony | - |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:96` | la montée en compétence sur un framework | - |
+| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:86` | 6 étapes pour monter en compétences sur Symfony | - |
+| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:116` | Les 6 étapes pour monter en compétences sur Symfony | - |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:16` | 6 étapes pour monter en compétences sur Symfony | - |
+| 🔵 Exact | `content\blog\symfony-pour-les-moldus.mdx:86` | Les 6 étapes pour monter en compétences sur Symfony | - |
---
@@ -1159,28 +1159,28 @@ Exact match : **22%** · Partiel : **67%** · Sémantique : **11%** · Total : 1
*Après correction → Exact match : **28%** · Partiel : **33%** · Sémantique : **39%***
> 🔧 Actions : 1 partiel → exact · 5 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:451` | Notre utilisation rigoureuse des bundles Symfony | — |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:248` | bundles Symfony incontournables | — |
-| 🔵 Exact | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:247` | Les bundles les plus utilisés dans les projets Symfony | — |
-| 🔵 Exact | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:156` | Les bundles les plus utilisés dans les projets Symfony | — |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:70` | bundles les plus utilisés dans les projets Symfony | — |
-| 🟡 Partiel | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:17` | bundles les plus utilisés dans les projets Symfony | — |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:19` | bundles dans l'écosystème Symfony | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:31` | bundles les plus utilisés dans les projets Symfony | — |
-| 🔵 Exact | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:119` | Les bundles les plus utilisés dans les projets Symfony | — |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:112` | bundles communautaires | — |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:17` | bundles les plus utilisés dans les projets Symfony | — |
-| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:21` | bundles les plus utilisés dans les projets Symfony | — |
-| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:164` | Les bundles les plus utilisés dans les projets Symfony | — |
-| 🟡 Partiel | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:48` | bundles les plus utilisés dans les projets Symfony | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | bundles habituels | — |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:104` | Les bundles les plus utilisés dans Symfony | — |
-| 🟡 Partiel | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:90` | bundles les plus utilisés dans les projets Symfony | — |
-| 🟡 Partiel | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:108` | bundles les plus utilisés dans Symfony | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:451` | Notre utilisation rigoureuse des bundles Symfony | - |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:249` | bundles Symfony incontournables | - |
+| 🔵 Exact | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:247` | Les bundles les plus utilisés dans les projets Symfony | - |
+| 🔵 Exact | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:156` | Les bundles les plus utilisés dans les projets Symfony | - |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:70` | bundles les plus utilisés dans les projets Symfony | - |
+| 🟡 Partiel | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:17` | bundles les plus utilisés dans les projets Symfony | - |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:19` | bundles dans l'écosystème Symfony | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:31` | bundles les plus utilisés dans les projets Symfony | - |
+| 🔵 Exact | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:119` | Les bundles les plus utilisés dans les projets Symfony | - |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:112` | bundles communautaires | - |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:17` | bundles les plus utilisés dans les projets Symfony | - |
+| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:21` | bundles les plus utilisés dans les projets Symfony | - |
+| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:164` | Les bundles les plus utilisés dans les projets Symfony | - |
+| 🟡 Partiel | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:48` | bundles les plus utilisés dans les projets Symfony | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | bundles habituels | - |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:104` | Les bundles les plus utilisés dans Symfony | - |
+| 🟡 Partiel | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:90` | bundles les plus utilisés dans les projets Symfony | - |
+| 🟡 Partiel | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:108` | bundles les plus utilisés dans Symfony | - |
---
@@ -1190,30 +1190,30 @@ Exact match : **0%** · Partiel : **85%** · Sémantique : **15%** · Total : 20
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 6 partiel → exact · 5 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:270` | certification de vos équipes sur Symfony | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:268` | les certifications Symfony, Twig et Sylius | — |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:347` | Les certifications Symfony, Twig & Sylius | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:35` | certifications Symfony et Sylius | — |
-| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:74` | certifications Symfony, Twig et Sylius | — |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:67` | certification Symfony | — |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:105` | Les certifications Symfony : Twig et Sylius | — |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:91` | certifications Symfony | — |
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:82` | Les certifications Symfony, Twig et Sylius | — |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:86` | certification des équipes | — |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:195` | Les certifications Symfony, Twig et Sylius | — |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:48` | certifications Symfony, Twig et Sylius | — |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:62` | Les certifications Symfony, Twig et Sylius | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | certifications Symfony, Twig et Sylius | — |
-| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:78` | certification Sylius | — |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:88` | Certifications Sylius | — |
-| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:98` | Les certifications Symfony | — |
-| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:72` | certifications officielles Symfony, Twig et Sylius | — |
-| ✅ Sémantique | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:13` | certifications | — |
-| 🟡 Partiel | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:133` | Les certifications Symfony : Twig et Sylius | — |
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:270` | certification de vos équipes sur Symfony | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:268` | les certifications Symfony, Twig et Sylius | - |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:347` | Les certifications Symfony, Twig & Sylius | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:35` | certifications Symfony et Sylius | - |
+| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:74` | certifications Symfony, Twig et Sylius | - |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:67` | certification Symfony | - |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:105` | Les certifications Symfony : Twig et Sylius | - |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:91` | certifications Symfony | - |
+| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:82` | Les certifications Symfony, Twig et Sylius | - |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:86` | certification des équipes | - |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:195` | Les certifications Symfony, Twig et Sylius | - |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:48` | certifications Symfony, Twig et Sylius | - |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:62` | Les certifications Symfony, Twig et Sylius | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | certifications Symfony, Twig et Sylius | - |
+| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:78` | certification Sylius | - |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:88` | Certifications Sylius | - |
+| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:98` | Les certifications Symfony | - |
+| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:72` | certifications officielles Symfony, Twig et Sylius | - |
+| ✅ Sémantique | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:13` | certifications | - |
+| 🟡 Partiel | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:133` | Les certifications Symfony : Twig et Sylius | - |
---
@@ -1223,16 +1223,16 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 6
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\l-entreprise\page.tsx:157` | contributions open source | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:34` | contributions open source | — |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:104` | Le guide des contributions Open Source | — |
-| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:79` | Les contributions open source : un enjeu de taille | — |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:122` | contribuer à l'open source | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:57` | contributions open source | — |
+| 🟡 Partiel | `src\app\l-entreprise\page.tsx:157` | contributions open source | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:34` | contributions open source | - |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:104` | Le guide des contributions Open Source | - |
+| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:79` | Les contributions open source : un enjeu de taille | - |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:122` | contribuer à l'open source | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:57` | contributions open source | - |
---
@@ -1242,12 +1242,12 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:46` | événements incontournables de l'innovation 2025 | — |
-| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:27` | événements incontournables de l'innovation 2025 | — |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:46` | événements incontournables de l'innovation 2025 | - |
+| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:27` | événements incontournables de l'innovation 2025 | - |
---
@@ -1257,17 +1257,17 @@ Exact match : **0%** · Partiel : **57%** · Sémantique : **43%** · Total : 7
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 2 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:312` | llms.txt | — |
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:307` | llms.txt est un levier SEO majeur à l'ère de l'IA | — |
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:395` | llms.txt : le nouveau levier SEO à l'ère de l'IA | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:101` | LLMs.txt : le nouveau levier SEO à l'ère de l'intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:61` | fichier llms.txt | — |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:174` | fichiers llms.txt pour les moteurs IA | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:203` | LLMs.txt : le nouveau levier SEO à l'ère de l'intelligence artificielle | — |
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:312` | llms.txt | - |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:307` | llms.txt est un levier SEO majeur à l'ère de l'IA | - |
+| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:395` | llms.txt : le nouveau levier SEO à l'ère de l'IA | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:101` | LLMs.txt : le nouveau levier SEO à l'ère de l'intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:61` | fichier llms.txt | - |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:174` | fichiers llms.txt pour les moteurs IA | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:203` | LLMs.txt : le nouveau levier SEO à l'ère de l'intelligence artificielle | - |
---
@@ -1277,14 +1277,14 @@ Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\coding-conventions.mdx:110` | vocabulaire partagé | — |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:124` | Mieux comprendre le vocabulaire des développeurs web | — |
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:36` | vocabulaire technique des développeurs web | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:126` | Mieux comprendre le vocabulaire des développeurs web | — |
+| ✅ Sémantique | `content\blog\coding-conventions.mdx:110` | vocabulaire partagé | - |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:124` | Mieux comprendre le vocabulaire des développeurs web | - |
+| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:36` | vocabulaire technique des développeurs web | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:126` | Mieux comprendre le vocabulaire des développeurs web | - |
---
@@ -1294,13 +1294,13 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\base-de-donnees-postgresql-symfony\page.tsx:201` | Migration MySQL vers PostgreSQL | — |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:14` | migration de MySQL vers PostgreSQL | — |
-| 🟡 Partiel | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:51` | migration MySQL vers PostgreSQL | — |
+| 🟡 Partiel | `src\app\base-de-donnees-postgresql-symfony\page.tsx:202` | Migration MySQL vers PostgreSQL | - |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:14` | migration de MySQL vers PostgreSQL | - |
+| 🟡 Partiel | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:51` | migration MySQL vers PostgreSQL | - |
---
@@ -1310,36 +1310,36 @@ Exact match : **0%** · Partiel : **96%** · Sémantique : **4%** · Total : 26
*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
> 🔧 Actions : 8 partiel → exact · 9 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:269` | Notre retour d'expérience sur la migration vers une architecture hexagonale | — |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:351` | migration vers une architecture hexagonale | — |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:278` | migration vers l'architecture hexagonale sur un projet Symfony en production | — |
-| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:309` | architecture hexagonale | — |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:323` | migration Symfony vers une architecture hexagonale | — |
-| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:410` | architecture hexagonale dans nos migrations Symfony | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:365` | architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:275` | Migration Symfony vers l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:96` | architecture hexagonale bien structurée | — |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:95` | migration vers une architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:398` | Migration Symfony vers l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:71` | dont l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:93` | architecture hexagonale et approches classiques | — |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:85` | retour de mission sur la migration vers l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:120` | Migration Symfony vers l'architecture hexagonale : retour de mission | — |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:77` | architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:196` | migration vers l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:69` | retour d'expérience sur la migration vers une architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:313` | Migration Symfony vers l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:22` | migration vers l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:154` | Migration Symfony vers l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:111` | Migration Symfony vers l'architecture hexagonale | — |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:41` | migrer progressivement | — |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:34` | architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:272` | Migration Symfony vers l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | retour de mission sur la migration vers l'architecture hexagonale | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:269` | Notre retour d'expérience sur la migration vers une architecture hexagonale | - |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:351` | migration vers une architecture hexagonale | - |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:279` | migration vers l'architecture hexagonale sur un projet Symfony en production | - |
+| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:309` | architecture hexagonale | - |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:324` | migration Symfony vers une architecture hexagonale | - |
+| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:411` | architecture hexagonale dans nos migrations Symfony | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:366` | architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:275` | Migration Symfony vers l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:96` | architecture hexagonale bien structurée | - |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:95` | migration vers une architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:398` | Migration Symfony vers l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:71` | dont l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:93` | architecture hexagonale et approches classiques | - |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:85` | retour de mission sur la migration vers l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:120` | Migration Symfony vers l'architecture hexagonale : retour de mission | - |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:77` | architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:196` | migration vers l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:69` | retour d'expérience sur la migration vers une architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:313` | Migration Symfony vers l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:22` | migration vers l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:154` | Migration Symfony vers l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:111` | Migration Symfony vers l'architecture hexagonale | - |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:41` | migrer progressivement | - |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:34` | architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:272` | Migration Symfony vers l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | retour de mission sur la migration vers l'architecture hexagonale | - |
---
@@ -1349,13 +1349,13 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:340` | Serializer cède la place à JsonStreamer | — |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:344` | Migrer du Serializer vers JsonStreamer : le guide honnête | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:120` | Migrer du Serializer vers JsonStreamer | — |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:340` | Serializer cède la place à JsonStreamer | - |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:344` | Migrer du Serializer vers JsonStreamer : le guide honnête | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:120` | Migrer du Serializer vers JsonStreamer | - |
---
@@ -1365,13 +1365,13 @@ Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:290` | modernisation progressive | — |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:34` | modernisation d'applications PHP legacy | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:94` | modernisation d'applications PHP legacy | — |
+| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:290` | modernisation progressive | - |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:34` | modernisation d'applications PHP legacy | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:94` | modernisation d'applications PHP legacy | - |
---
@@ -1381,14 +1381,14 @@ Exact match : **0%** · Partiel : **25%** · Sémantique : **75%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:295` | Monofony, le starter kit Sylius pour les applications métier | — |
-| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:75` | Monofony | — |
-| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:55` | Monofony | — |
-| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:76` | Monofony | — |
+| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:296` | Monofony, le starter kit Sylius pour les applications métier | - |
+| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:75` | Monofony | - |
+| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:55` | Monofony | - |
+| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:76` | Monofony | - |
---
@@ -1398,20 +1398,20 @@ Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:131` | Claude Code | — |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:276` | Monter en compétence sur Claude Code | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | guide de montée en compétence Claude Code | — |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:106` | Monter en compétence sur Claude Code | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:77` | montée en compétence sur Claude Code | — |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:18` | Claude Code | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:86` | guide pour monter en compétence sur Claude Code | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:187` | guide pour monter en compétence sur Claude Code | — |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:21` | CLAUDE.md, vos skills et vos hooks | — |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:185` | guide de montée en compétence sur Claude Code | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:131` | Claude Code | - |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:276` | Monter en compétence sur Claude Code | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | guide de montée en compétence Claude Code | - |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:106` | Monter en compétence sur Claude Code | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:77` | montée en compétence sur Claude Code | - |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:18` | Claude Code | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:86` | guide pour monter en compétence sur Claude Code | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:187` | guide pour monter en compétence sur Claude Code | - |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:21` | CLAUDE.md, vos skills et vos hooks | - |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:185` | guide de montée en compétence sur Claude Code | - |
---
@@ -1421,20 +1421,20 @@ Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:56` | normes d'accessibilité RGAA | — |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:94` | Normes RGAA : les clés d'une expérience utilisateur réussie pour tous | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:60` | RGAA | — |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:109` | Normes RGAA : une expérience utilisateur réussie pour tous | — |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:73` | normes RGAA | — |
-| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:108` | Normes RGAA : une expérience utilisateur réussie pour tous | — |
-| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:58` | conformes aux normes RGAA | — |
-| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:78` | Normes RGAA : une expérience utilisateur réussie pour tous | — |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:26` | applications respectant les normes d'accessibilité RGAA | — |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:96` | Les normes RGAA : accessibilité pour tous | — |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:56` | normes d'accessibilité RGAA | - |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:94` | Normes RGAA : les clés d'une expérience utilisateur réussie pour tous | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:60` | RGAA | - |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:109` | Normes RGAA : une expérience utilisateur réussie pour tous | - |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:73` | normes RGAA | - |
+| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:108` | Normes RGAA : une expérience utilisateur réussie pour tous | - |
+| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:58` | conformes aux normes RGAA | - |
+| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:78` | Normes RGAA : une expérience utilisateur réussie pour tous | - |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:26` | applications respectant les normes d'accessibilité RGAA | - |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:96` | Les normes RGAA : accessibilité pour tous | - |
---
@@ -1444,18 +1444,18 @@ Exact match : **0%** · Partiel : **38%** · Sémantique : **63%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 2 partiel → exact · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-php\page.tsx:364` | les nouveautés de PHP 9.0 | — |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:115` | PHP 9.0 : ce que vous devez savoir | — |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:75` | changements prévus pour PHP 9.0 | — |
-| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:47` | PHP 9.0 et les changements majeurs à anticiper | — |
-| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:125` | PHP 9.0 et les changements à anticiper | — |
-| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:167` | évolutions de PHP 9.0 | — |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:49` | PHP 9.0 et ce qu'il faut savoir avant la sortie | — |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:101` | PHP 9.0 : ce que vous devez savoir avant la sortie | — |
+| ✅ Sémantique | `src\app\developpement-php\page.tsx:365` | les nouveautés de PHP 9.0 | - |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:115` | PHP 9.0 : ce que vous devez savoir | - |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:75` | changements prévus pour PHP 9.0 | - |
+| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:47` | PHP 9.0 et les changements majeurs à anticiper | - |
+| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:125` | PHP 9.0 et les changements à anticiper | - |
+| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:167` | évolutions de PHP 9.0 | - |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:49` | PHP 9.0 et ce qu'il faut savoir avant la sortie | - |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:101` | PHP 9.0 : ce que vous devez savoir avant la sortie | - |
---
@@ -1465,12 +1465,12 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | comparatif PHP vs Node.js | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:101` | comparatif PHP vs Node.js | — |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | comparatif PHP vs Node.js | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:101` | comparatif PHP vs Node.js | - |
---
@@ -1480,16 +1480,16 @@ Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 6
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 2 partiel → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:17` | PHPStan 2.0 et son niveau 10 | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | PHPStan | — |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:250` | PHPStan 2.0 : niveau 10 et nouvelles fonctionnalités | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:59` | PHPStan | — |
-| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:277` | PHPStan 2.0 | — |
-| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:197` | PHPStan 2.0 : niveau 10 et nouvelles fonctionnalités | — |
+| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:17` | PHPStan 2.0 et son niveau 10 | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | PHPStan | - |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:250` | PHPStan 2.0 : niveau 10 et nouvelles fonctionnalités | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:59` | PHPStan | - |
+| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:277` | PHPStan 2.0 | - |
+| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:197` | PHPStan 2.0 : niveau 10 et nouvelles fonctionnalités | - |
---
@@ -1499,22 +1499,22 @@ Exact match : **0%** · Partiel : **92%** · Sémantique : **8%** · Total : 12
*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:191` | les 10 erreurs les plus courantes détectées par PHPStan au niveau max sur Symfony | — |
-| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:109` | Les 10 erreurs PHPStan niveau max sur Symfony | — |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:86` | PHPStan au niveau max sur un projet Symfony | — |
-| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | PHPStan | — |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:244` | les 10 erreurs PHPStan niveau max sur un projet Symfony | — |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:107` | PHPStan au niveau max sur un projet Symfony | — |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:266` | PHPStan au niveau max | — |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | PHPStan au niveau maximum | — |
-| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:11` | 10 erreurs PHPStan niveau max sur un projet Symfony | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:43` | analyse statique comme PHPStan niveau max | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:125` | PHPStan niveau max sur Symfony | — |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:157` | niveau max de PHPStan | — |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:191` | les 10 erreurs les plus courantes détectées par PHPStan au niveau max sur Symfony | - |
+| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:109` | Les 10 erreurs PHPStan niveau max sur Symfony | - |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:86` | PHPStan au niveau max sur un projet Symfony | - |
+| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | PHPStan | - |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:244` | les 10 erreurs PHPStan niveau max sur un projet Symfony | - |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:107` | PHPStan au niveau max sur un projet Symfony | - |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:266` | PHPStan au niveau max | - |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | PHPStan au niveau maximum | - |
+| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:11` | 10 erreurs PHPStan niveau max sur un projet Symfony | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:43` | analyse statique comme PHPStan niveau max | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:125` | PHPStan niveau max sur Symfony | - |
+| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:157` | niveau max de PHPStan | - |
---
@@ -1524,23 +1524,23 @@ Exact match : **0%** · Partiel : **92%** · Sémantique : **8%** · Total : 13
*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:102` | éditeur de code adapté à votre workflow | — |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:109` | Quel éditeur de code choisir ? | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:103` | PHPStorm, VS Code, Sublime Text : quel éditeur choisir ? | — |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:125` | Quel éditeur de code choisir : PHPStorm, VSCode, Sublime Text ou NetBeans ? | — |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:79` | PhpStorm, VS Code, Cursor ou Sublime Text | — |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:193` | Quel éditeur de code choisir | — |
-| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:155` | les éditeurs de code disponibles | — |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:169` | Quel éditeur de code choisir | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:18` | quel éditeur de code choisir | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:202` | Quel éditeur de code choisir : PhpStorm, VS Code, Cursor | — |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:94` | Quel éditeur de code choisir ? | — |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:89` | éditeur de code | — |
-| ✅ Sémantique | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:32` | PhpStorm et d'autres IDE | — |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:102` | éditeur de code adapté à votre workflow | - |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:109` | Quel éditeur de code choisir ? | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:103` | PHPStorm, VS Code, Sublime Text : quel éditeur choisir ? | - |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:125` | Quel éditeur de code choisir : PHPStorm, VSCode, Sublime Text ou NetBeans ? | - |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:79` | PhpStorm, VS Code, Cursor ou Sublime Text | - |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:193` | Quel éditeur de code choisir | - |
+| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:155` | les éditeurs de code disponibles | - |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:169` | Quel éditeur de code choisir | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:18` | quel éditeur de code choisir | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:202` | Quel éditeur de code choisir : PhpStorm, VS Code, Cursor | - |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:94` | Quel éditeur de code choisir ? | - |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:89` | éditeur de code | - |
+| ✅ Sémantique | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:32` | PhpStorm et d'autres IDE | - |
---
@@ -1550,55 +1550,55 @@ Exact match : **38%** · Partiel : **27%** · Sémantique : **36%** · Total : 4
*Après correction → Exact match : **31%** · Partiel : **29%** · Sémantique : **40%***
> 🔧 Actions : 1 exact → partiel · 2 exact → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:248` | Symfony, le framework PHP de référence | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:311` | Symfony, le framework PHP de référence | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:308` | Symfony, le framework PHP de référence | — |
-| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:261` | les raisons de choisir Symfony | — |
-| ✅ Sémantique | `src\app\api-sur-mesure-symfony\page.tsx:405` | consultez notre article sur le choix de Symfony | — |
-| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:465` | Symfony, le framework PHP de référence | — |
-| ✅ Sémantique | `src\app\l-entreprise\page.tsx:163` | Symfony | — |
-| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:402` | pourquoi choisir Symfony pour vos projets | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:240` | les raisons de choisir Symfony pour vos projets | — |
-| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:24` | Symfony | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | injection de dépendances | — |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:37` | Symfony | — |
-| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:32` | les raisons de choisir Symfony pour vos projets | — |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:59` | les atouts pour les projets web | — |
-| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:119` | Pourquoi choisir Symfony pour vos projets | — |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:72` | les raisons de choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:113` | Pourquoi choisir Symfony pour vos projets | — |
-| 🟡 Partiel | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:59` | le framework à adopter pour vos projets | — |
-| 🔵 Exact | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:87` | Pourquoi choisir Symfony pour vos projets | — |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:109` | vous choisissez Symfony pour votre projet | — |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:14` | Symfony, par sa rigueur structurelle et son écosystème | — |
-| 🔵 Exact | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:102` | pourquoi choisir Symfony pour vos projets | — |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:13` | pourquoi Symfony s'impose pour vos projets | — |
-| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:127` | Pourquoi choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:75` | pourquoi choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:194` | Pourquoi choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:118` | Pourquoi choisir Symfony pour vos projets | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:40` | Symfony | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:25` | choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:194` | Pourquoi choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:95` | Pourquoi choisir Symfony pour vos projets | — |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:58` | Symfony pour le backend PHP | — |
-| ✅ Sémantique | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:45` | Symfony | — |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:94` | Symfony un choix pertinent pour les projets d'envergure | — |
-| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | Symfony | — |
-| 🔵 Exact | `content\blog\retour-sur-lafup-day-2024.mdx:101` | Pourquoi choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:165` | Pourquoi choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:20` | pourquoi choisir Symfony pour vos projets | — |
-| 🔵 Exact | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:88` | Pourquoi choisir Symfony pour vos projets | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | bonnes pratiques | — |
-| 🔵 Exact | `content\blog\symfony-pour-les-moldus.mdx:80` | pourquoi choisir Symfony pour vos projets | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:28` | injection de dépendances | — |
-| 🔵 Exact | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:129` | pourquoi choisir Symfony pour vos projets | — |
-| ✅ Sémantique | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:13` | Symfony | — |
-| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:77` | Symfony pour le développement d'applications métiers | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:248` | Symfony, le framework PHP de référence | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:311` | Symfony, le framework PHP de référence | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:308` | Symfony, le framework PHP de référence | - |
+| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:261` | les raisons de choisir Symfony | - |
+| ✅ Sémantique | `src\app\api-sur-mesure-symfony\page.tsx:406` | consultez notre article sur le choix de Symfony | - |
+| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:466` | Symfony, le framework PHP de référence | - |
+| ✅ Sémantique | `src\app\l-entreprise\page.tsx:163` | Symfony | - |
+| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:403` | pourquoi choisir Symfony pour vos projets | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:240` | les raisons de choisir Symfony pour vos projets | - |
+| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:24` | Symfony | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | injection de dépendances | - |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:37` | Symfony | - |
+| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:32` | les raisons de choisir Symfony pour vos projets | - |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:59` | les atouts pour les projets web | - |
+| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:119` | Pourquoi choisir Symfony pour vos projets | - |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:72` | les raisons de choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:113` | Pourquoi choisir Symfony pour vos projets | - |
+| 🟡 Partiel | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:59` | le framework à adopter pour vos projets | - |
+| 🔵 Exact | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:87` | Pourquoi choisir Symfony pour vos projets | - |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:109` | vous choisissez Symfony pour votre projet | - |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:14` | Symfony, par sa rigueur structurelle et son écosystème | - |
+| 🔵 Exact | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:102` | pourquoi choisir Symfony pour vos projets | - |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:13` | pourquoi Symfony s'impose pour vos projets | - |
+| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:127` | Pourquoi choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:75` | pourquoi choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:194` | Pourquoi choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:118` | Pourquoi choisir Symfony pour vos projets | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:40` | Symfony | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:25` | choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:194` | Pourquoi choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:95` | Pourquoi choisir Symfony pour vos projets | - |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:58` | Symfony pour le backend PHP | - |
+| ✅ Sémantique | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:45` | Symfony | - |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:94` | Symfony un choix pertinent pour les projets d'envergure | - |
+| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | Symfony | - |
+| 🔵 Exact | `content\blog\retour-sur-lafup-day-2024.mdx:101` | Pourquoi choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:165` | Pourquoi choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:20` | pourquoi choisir Symfony pour vos projets | - |
+| 🔵 Exact | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:88` | Pourquoi choisir Symfony pour vos projets | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | bonnes pratiques | - |
+| 🔵 Exact | `content\blog\symfony-pour-les-moldus.mdx:80` | pourquoi choisir Symfony pour vos projets | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:28` | injection de dépendances | - |
+| 🔵 Exact | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:129` | pourquoi choisir Symfony pour vos projets | - |
+| ✅ Sémantique | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:13` | Symfony | - |
+| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:77` | Symfony pour le développement d'applications métiers | - |
---
@@ -1608,32 +1608,32 @@ Exact match : **0%** · Partiel : **64%** · Sémantique : **36%** · Total : 22
*Après correction → Exact match : **32%** · Partiel : **27%** · Sémantique : **41%***
> 🔧 Actions : 7 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\cloud-et-devops\page.tsx:308` | conteneurisation avec Docker | — |
-| ✅ Sémantique | `src\app\hebergement-symfony\page.tsx:255` | la conteneurisation avec Docker | — |
-| 🟡 Partiel | `src\app\integration-docker-symfony\page.tsx:266` | pourquoi Docker est indispensable en production | — |
-| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:54` | Docker | — |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:125` | Docker en production | — |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:100` | pourquoi Docker est indispensable en production | — |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:81` | Docker est utilisé en production | — |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:39` | Docker en production | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:58` | Pourquoi Docker est indispensable en production | — |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:119` | Docker | — |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:250` | Pourquoi Docker est indispensable en production | — |
-| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:94` | Docker en production | — |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:96` | Docker en production | — |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:163` | pourquoi Docker est indispensable en production aujourd'hui | — |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:333` | Pourquoi Docker est indispensable en production aujourd'hui | — |
-| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:136` | Docker | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:63` | Docker en production | — |
-| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:211` | Docker | — |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:166` | Docker | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:87` | pourquoi Docker est indispensable en production | — |
-| ✅ Sémantique | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:77` | Docker | — |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:103` | Pourquoi Docker est indispensable en production | — |
+| ✅ Sémantique | `src\app\cloud-et-devops\page.tsx:309` | conteneurisation avec Docker | - |
+| ✅ Sémantique | `src\app\hebergement-symfony\page.tsx:256` | la conteneurisation avec Docker | - |
+| 🟡 Partiel | `src\app\integration-docker-symfony\page.tsx:267` | pourquoi Docker est indispensable en production | - |
+| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:54` | Docker | - |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:125` | Docker en production | - |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:100` | pourquoi Docker est indispensable en production | - |
+| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:81` | Docker est utilisé en production | - |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:39` | Docker en production | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:58` | Pourquoi Docker est indispensable en production | - |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:119` | Docker | - |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:250` | Pourquoi Docker est indispensable en production | - |
+| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:94` | Docker en production | - |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:96` | Docker en production | - |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:163` | pourquoi Docker est indispensable en production aujourd'hui | - |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:333` | Pourquoi Docker est indispensable en production aujourd'hui | - |
+| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:136` | Docker | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:63` | Docker en production | - |
+| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:211` | Docker | - |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:166` | Docker | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:87` | pourquoi Docker est indispensable en production | - |
+| ✅ Sémantique | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:77` | Docker | - |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:103` | Pourquoi Docker est indispensable en production | - |
---
@@ -1643,20 +1643,20 @@ Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\base-de-donnees-postgresql-symfony\page.tsx:274` | notre comparatif int vs UUID vs ULID | — |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:68` | INT, UUID ou ULID ont chacun des implications sur les performances d'index | — |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:153` | INT, UUID ou ULID : quel identifiant choisir pour vos bases de données | — |
-| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:176` | type d'identifiant (INT, UUID ou ULID) | — |
-| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | identifiants de premier plan | — |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:400` | Prendre int, UUID ou ULID pour un index de base de données | — |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:85` | choix entre INT, UUID et ULID | — |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:191` | INT, UUID ou ULID : quel identifiant choisir | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:425` | UUID ou ULID | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:452` | Prendre int, UUID ou ULID pour un index de base de données | — |
+| 🟡 Partiel | `src\app\base-de-donnees-postgresql-symfony\page.tsx:275` | notre comparatif int vs UUID vs ULID | - |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:68` | INT, UUID ou ULID ont chacun des implications sur les performances d'index | - |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:153` | INT, UUID ou ULID : quel identifiant choisir pour vos bases de données | - |
+| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:176` | type d'identifiant (INT, UUID ou ULID) | - |
+| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | identifiants de premier plan | - |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:400` | Prendre int, UUID ou ULID pour un index de base de données | - |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:90` | choix entre INT, UUID et ULID | - |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:196` | INT, UUID ou ULID : quel identifiant choisir | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:425` | UUID ou ULID | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:452` | Prendre int, UUID ou ULID pour un index de base de données | - |
---
@@ -1666,20 +1666,20 @@ Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 10
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:21` | ce que sont les PSR et à quoi ils servent | — |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:21` | PSRs qui structurent l'écosystème PHP | — |
-| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:33` | PSRs qui structurent l'interopérabilité de l'écosystème PHP | — |
-| ✅ Sémantique | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:61` | PSR en PHP | — |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:11` | PSRs, ces standards de l'écosystème PHP | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | PSR | — |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:24` | PSR (PHP Standards Recommendations) | — |
-| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:64` | conventions PSR | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:28` | PSR | — |
-| 🟡 Partiel | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:124` | Les PSRs et à quoi servent-ils | — |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:21` | ce que sont les PSR et à quoi ils servent | - |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:21` | PSRs qui structurent l'écosystème PHP | - |
+| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:33` | PSRs qui structurent l'interopérabilité de l'écosystème PHP | - |
+| ✅ Sémantique | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:61` | PSR en PHP | - |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:11` | PSRs, ces standards de l'écosystème PHP | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | PSR | - |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:24` | PSR (PHP Standards Recommendations) | - |
+| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:64` | conventions PSR | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:28` | PSR | - |
+| 🟡 Partiel | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:124` | Les PSRs et à quoi servent-ils | - |
---
@@ -1689,15 +1689,15 @@ Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:299` | REST face à GraphQL | — |
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:291` | GraphQL | — |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:54` | les différences entre REST et GraphQL | — |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:25` | REST et GraphQL | — |
-| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:125` | GraphQL | — |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:300` | REST face à GraphQL | - |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:291` | GraphQL | - |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:54` | les différences entre REST et GraphQL | - |
+| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:25` | REST et GraphQL | - |
+| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:125` | GraphQL | - |
---
@@ -1707,20 +1707,20 @@ Exact match : **0%** · Partiel : **80%** · Sémantique : **20%** · Total : 10
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 3 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:379` | assistants IA dans le workflow de développement | — |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:266` | choisir et configurer les bons assistants IA | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:63` | guide pratique pour choisir votre assistant IA pour coder | — |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:86` | assistants IA pour coder | — |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:33` | choisir le bon assistant IA pour coder | — |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:100` | Quel assistant IA choisir pour coder ? | — |
-| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:25` | assistants IA pour le code | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:85` | quel assistant IA choisir pour coder en 2026 | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:539` | Quel assistant IA choisir pour coder en 2026 ? | — |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:153` | assistant IA bien configuré | — |
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:379` | assistants IA dans le workflow de développement | - |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:266` | choisir et configurer les bons assistants IA | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:63` | guide pratique pour choisir votre assistant IA pour coder | - |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:86` | assistants IA pour coder | - |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:33` | choisir le bon assistant IA pour coder | - |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:100` | Quel assistant IA choisir pour coder ? | - |
+| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:25` | assistants IA pour le code | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:85` | quel assistant IA choisir pour coder en 2026 | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:539` | Quel assistant IA choisir pour coder en 2026 ? | - |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:153` | assistant IA bien configuré | - |
---
@@ -1730,22 +1730,22 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 12
*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
> 🔧 Actions : 4 partiel → exact · 5 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\developpement-frontend\page.tsx:260` | comparatif des frameworks JavaScript | — |
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:204` | bon framework JavaScript | — |
-| 🟡 Partiel | `src\app\developpement-react\page.tsx:287` | guide comparatif des frameworks JavaScript | — |
-| 🟡 Partiel | `src\app\developpement-vuejs\page.tsx:274` | guide comparatif des frameworks JavaScript | — |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:72` | framework JavaScript | — |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:95` | Quel framework JavaScript choisir ? | — |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:27` | comparer les frameworks JavaScript disponibles | — |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:110` | comparatif des frameworks JavaScript | — |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | choix du framework JavaScript | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:67` | frameworks JavaScript comme React ou Vue.js | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:119` | Quel framework JavaScript choisir ? | — |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:21` | frameworks JavaScript comme React ou Vue.js | — |
+| 🟡 Partiel | `src\app\developpement-frontend\page.tsx:261` | comparatif des frameworks JavaScript | - |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:205` | bon framework JavaScript | - |
+| 🟡 Partiel | `src\app\developpement-react\page.tsx:288` | guide comparatif des frameworks JavaScript | - |
+| 🟡 Partiel | `src\app\developpement-vuejs\page.tsx:275` | guide comparatif des frameworks JavaScript | - |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:72` | framework JavaScript | - |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:95` | Quel framework JavaScript choisir ? | - |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:27` | comparer les frameworks JavaScript disponibles | - |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:110` | comparatif des frameworks JavaScript | - |
+| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | choix du framework JavaScript | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:67` | frameworks JavaScript comme React ou Vue.js | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:119` | Quel framework JavaScript choisir ? | - |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:21` | frameworks JavaScript comme React ou Vue.js | - |
---
@@ -1755,15 +1755,15 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:92` | Quel outil choisir pour votre documentation technique ? | — |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:103` | bon outil de documentation technique | — |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:144` | Quel outil choisir pour votre documentation technique ? | — |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:61` | choix d'un bon outil de documentation technique | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:62` | documentation technique | — |
+| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:92` | Quel outil choisir pour votre documentation technique ? | - |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:103` | bon outil de documentation technique | - |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:144` | Quel outil choisir pour votre documentation technique ? | - |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:61` | choix d'un bon outil de documentation technique | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:62` | documentation technique | - |
---
@@ -1773,36 +1773,36 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 26
*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
> 🔧 Actions : 8 partiel → exact · 10 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:311` | microservices ou monolithe modulaire | — |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:356` | micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:386` | microservices versus monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:102` | micro-service et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:43` | monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:58` | monolithe modulaire et micro-services | — |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:89` | micro-services ou monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:101` | architecture micro-services ou monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:22` | monolithe modulaire ou un ensemble de micro-services | — |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:84` | le choix d'architecture entre micro-service et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:380` | choisir entre micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:57` | monolithe et microservices | — |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:108` | Monolithe modulaire ou microservices : quelle architecture choisir ? | — |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:60` | micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:274` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | — |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:332` | Quelle architecture choisir entre micro-service ou monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:77` | choix entre micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:169` | choix entre micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:153` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:105` | décision entre micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:121` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:148` | micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:106` | micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:257` | Quelle architecture choisir : micro-service ou monolithe modulaire ? | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:75` | micro-services et monolithe modulaire | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:449` | Quelle architecture choisir : micro-service ou monolithe modulaire ? | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:312` | microservices ou monolithe modulaire | - |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:357` | micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:387` | microservices versus monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:102` | micro-service et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:43` | monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:58` | monolithe modulaire et micro-services | - |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:89` | micro-services ou monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:101` | architecture micro-services ou monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:22` | monolithe modulaire ou un ensemble de micro-services | - |
+| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:84` | le choix d'architecture entre micro-service et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:380` | choisir entre micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:57` | monolithe et microservices | - |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:108` | Monolithe modulaire ou microservices : quelle architecture choisir ? | - |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:60` | micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:274` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | - |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:332` | Quelle architecture choisir entre micro-service ou monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:77` | choix entre micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:169` | choix entre micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:153` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:105` | décision entre micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:121` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:148` | micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:106` | micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:257` | Quelle architecture choisir : micro-service ou monolithe modulaire ? | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:75` | micro-services et monolithe modulaire | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:449` | Quelle architecture choisir : micro-service ou monolithe modulaire ? | - |
---
@@ -1812,17 +1812,17 @@ Exact match : **0%** · Partiel : **71%** · Sémantique : **29%** · Total : 7
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\integration-elasticsearch-symfony\page.tsx:196` | Symfony Messenger | — |
-| 🟡 Partiel | `src\app\secteur\saas\page.tsx:310` | Symfony Messenger | — |
-| ✅ Sémantique | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:75` | Messenger | — |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:39` | Symfony Messenger utilise pour le transport Doctrine | — |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:66` | messaging asynchrone dans l'écosystème Symfony | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:112` | Les différences entre Symfony Messenger et PHP Enqueue | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:448` | Symfony Messenger vs PHP-Enqueue | — |
+| 🟡 Partiel | `src\app\integration-elasticsearch-symfony\page.tsx:197` | Symfony Messenger | - |
+| 🟡 Partiel | `src\app\secteur\saas\page.tsx:310` | Symfony Messenger | - |
+| ✅ Sémantique | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:75` | Messenger | - |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:44` | Symfony Messenger utilise pour le transport Doctrine | - |
+| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:66` | messaging asynchrone dans l'écosystème Symfony | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:112` | Les différences entre Symfony Messenger et PHP Enqueue | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:448` | Symfony Messenger vs PHP-Enqueue | - |
---
@@ -1832,18 +1832,18 @@ Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:36` | événements PHP et Symfony | — |
-| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:67` | événements Symfony et PHP et leurs différences | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:103` | Quels événements suivre dans le monde de Symfony et PHP ? | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:100` | Quels événements suivre dans le monde Symfony et PHP ? | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:31` | événements suivre dans le monde Symfony et PHP | — |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:93` | événements à suivre dans le monde Symfony et PHP | — |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:100` | Quels événements suivre dans le monde Symfony et PHP ? | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:66` | conférences PHP et Symfony | — |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:36` | événements PHP et Symfony | - |
+| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:67` | événements Symfony et PHP et leurs différences | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:103` | Quels événements suivre dans le monde de Symfony et PHP ? | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:100` | Quels événements suivre dans le monde Symfony et PHP ? | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:31` | événements suivre dans le monde Symfony et PHP | - |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:93` | événements à suivre dans le monde Symfony et PHP | - |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:100` | Quels événements suivre dans le monde Symfony et PHP ? | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:66` | conférences PHP et Symfony | - |
---
@@ -1853,15 +1853,15 @@ Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 partiel → exact · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:158` | progiciels sur mesure | — |
-| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:185` | progiciel dédié | — |
-| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:180` | progiciel sur mesure | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | progiciel | — |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:83` | avantages d'un progiciel pour votre entreprise | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:158` | progiciels sur mesure | - |
+| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:185` | progiciel dédié | - |
+| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:180` | progiciel sur mesure | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | progiciel | - |
+| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:83` | avantages d'un progiciel pour votre entreprise | - |
---
@@ -1871,20 +1871,20 @@ Exact match : **0%** · Partiel : **70%** · Sémantique : **30%** · Total : 10
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:386` | RAG sur vos données métier | — |
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:243` | RAG (Retrieval-Augmented Generation) sur des données Doctrine | — |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:273` | RAG avec Symfony AI et Doctrine | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:100` | RAG avec Symfony : indexer une base métier avec l'IA | — |
-| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:113` | RAG avec Symfony AI et Doctrine | — |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:136` | l'indexation de données métier pour des agents IA | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:199` | RAG avec Symfony AI et Doctrine | — |
-| 🟡 Partiel | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:125` | RAG avec Symfony AI et Doctrine | — |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:208` | RAG avec Symfony AI et Doctrine | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:451` | RAG avec Symfony AI et Doctrine | — |
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:386` | RAG sur vos données métier | - |
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:243` | RAG (Retrieval-Augmented Generation) sur des données Doctrine | - |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:273` | RAG avec Symfony AI et Doctrine | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:100` | RAG avec Symfony : indexer une base métier avec l'IA | - |
+| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:113` | RAG avec Symfony AI et Doctrine | - |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:136` | l'indexation de données métier pour des agents IA | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:199` | RAG avec Symfony AI et Doctrine | - |
+| 🟡 Partiel | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:125` | RAG avec Symfony AI et Doctrine | - |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:208` | RAG avec Symfony AI et Doctrine | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:451` | RAG avec Symfony AI et Doctrine | - |
---
@@ -1894,37 +1894,37 @@ Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 27
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
> 🔧 Actions : 8 partiel → exact · 7 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-code-php\page.tsx:301` | Rector | — |
-| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:361` | Rector | — |
-| ✅ Sémantique | `src\app\migration-symfony\page.tsx:293` | Rector et ses capacités de transformation automatique | — |
-| ✅ Sémantique | `src\app\modernisation-application-php\page.tsx:365` | Rector | — |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:328` | Rector | — |
-| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:24` | Rector | — |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:116` | Rector permettent d'appliquer les conventions automatiquement sur le code existant | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | Rector | — |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:67` | Rector pour automatiser les montées de version PHP et Symfony | — |
-| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:22` | Rector peut automatiser cette migration | — |
-| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:100` | Rector pour moderniser votre code Symfony | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | Rector pour automatiser l'évolution du code | — |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:53` | Rector | — |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | Rector | — |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:110` | Rector : maîtrisez l'évolution de votre code Symfony | — |
-| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:179` | Rector | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:59` | Rector | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:73` | Rector | — |
-| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:106` | Rector permet de maîtriser l'évolution de votre code Symfony | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | Rector | — |
-| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:90` | Rector automatise les transformations répétitives | — |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:312` | Rector : maîtrisez l'évolution de votre code Symfony | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:109` | Rector automatisent l'évolution du code Symfony | — |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:128` | Rector : maîtriser l'évolution de votre code Symfony | — |
-| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:138` | Rector | — |
-| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:91` | migration entre versions majeures de frameworks | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:64` | Rector | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| ✅ Sémantique | `src\app\audit-code-php\page.tsx:302` | Rector | - |
+| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:362` | Rector | - |
+| ✅ Sémantique | `src\app\migration-symfony\page.tsx:294` | Rector et ses capacités de transformation automatique | - |
+| ✅ Sémantique | `src\app\modernisation-application-php\page.tsx:366` | Rector | - |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:329` | Rector | - |
+| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:24` | Rector | - |
+| 🟡 Partiel | `content\blog\coding-conventions.mdx:116` | Rector permettent d'appliquer les conventions automatiquement sur le code existant | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | Rector | - |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:67` | Rector pour automatiser les montées de version PHP et Symfony | - |
+| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:22` | Rector peut automatiser cette migration | - |
+| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:100` | Rector pour moderniser votre code Symfony | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | Rector pour automatiser l'évolution du code | - |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:53` | Rector | - |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | Rector | - |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:110` | Rector : maîtrisez l'évolution de votre code Symfony | - |
+| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:179` | Rector | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:59` | Rector | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:73` | Rector | - |
+| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:106` | Rector permet de maîtriser l'évolution de votre code Symfony | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | Rector | - |
+| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:90` | Rector automatise les transformations répétitives | - |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:312` | Rector : maîtrisez l'évolution de votre code Symfony | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:109` | Rector automatisent l'évolution du code Symfony | - |
+| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:128` | Rector : maîtriser l'évolution de votre code Symfony | - |
+| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:138` | Rector | - |
+| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:91` | migration entre versions majeures de frameworks | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:64` | Rector | - |
---
@@ -1932,11 +1932,11 @@ Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 27
> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2024.mdx:25` | AFUP Day 2023 | — |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2024.mdx:25` | AFUP Day 2023 | - |
---
@@ -1946,15 +1946,15 @@ Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:28` | retour sur l'AFUP Day 2024 | — |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:60` | Retour sur l'AFUP Day 2024 | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | retour sur l'AFUP Day 2024 | — |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:23` | AFUP Day 2024 | — |
-| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:93` | AFUP Day 2024 | — |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:28` | retour sur l'AFUP Day 2024 | - |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:60` | Retour sur l'AFUP Day 2024 | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | retour sur l'AFUP Day 2024 | - |
+| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:23` | AFUP Day 2024 | - |
+| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:93` | AFUP Day 2024 | - |
---
@@ -1964,14 +1964,14 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:88` | retour sur l'AFUP Day 2025 à Lille | — |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:61` | Retour sur l'AFUP Day 2025 Lille | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:93` | retour sur l'AFUP Day 2025 Lille | — |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:99` | Retour sur l'AFUP Day 2025 Lille | — |
+| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:88` | retour sur l'AFUP Day 2025 à Lille | - |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:61` | Retour sur l'AFUP Day 2025 Lille | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:93` | retour sur l'AFUP Day 2025 Lille | - |
+| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:99` | Retour sur l'AFUP Day 2025 Lille | - |
---
@@ -1981,17 +1981,17 @@ Exact match : **43%** · Partiel : **43%** · Sémantique : **14%** · Total : 7
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 1 exact → sémantique · 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:46` | conférences comme le Forum PHP | — |
-| 🔵 Exact | `content\blog\concretement-cest-quoi-frankenphp.mdx:113` | Retour sur le Forum PHP 2024 | — |
-| 🔵 Exact | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:130` | Retour sur le Forum PHP 2024 | — |
-| 🔵 Exact | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:30` | retour sur le Forum PHP 2024 | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:104` | Forum PHP & SymfonyCon 2024 | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:99` | Forum PHP & SymfonyCon 2024 | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:67` | Forum PHP & SymfonyCon 2024 | — |
+| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:46` | conférences comme le Forum PHP | - |
+| 🔵 Exact | `content\blog\concretement-cest-quoi-frankenphp.mdx:113` | Retour sur le Forum PHP 2024 | - |
+| 🔵 Exact | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:130` | Retour sur le Forum PHP 2024 | - |
+| 🔵 Exact | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:30` | retour sur le Forum PHP 2024 | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:104` | Forum PHP & SymfonyCon 2024 | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:99` | Forum PHP & SymfonyCon 2024 | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:67` | Forum PHP & SymfonyCon 2024 | - |
---
@@ -2001,14 +2001,14 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:140` | Serveurs MCP et Claude Code pour les développeurs Symfony | — |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:277` | Serveurs MCP pour développeurs Symfony | — |
-| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:138` | serveurs MCP pour les développeurs Symfony | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:540` | Serveurs MCP pour développeurs Symfony | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:140` | Serveurs MCP et Claude Code pour les développeurs Symfony | - |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:277` | Serveurs MCP pour développeurs Symfony | - |
+| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:138` | serveurs MCP pour les développeurs Symfony | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:540` | Serveurs MCP pour développeurs Symfony | - |
---
@@ -2018,12 +2018,12 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:133` | skills Claude Code | — |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:146` | skills Claude Code | — |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:133` | skills Claude Code | - |
+| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:146` | skills Claude Code | - |
---
@@ -2033,21 +2033,21 @@ Exact match : **0%** · Partiel : **91%** · Sémantique : **9%** · Total : 11
*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
> 🔧 Actions : 3 partiel → exact · 4 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:280` | OpenAPI automatique | — |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:94` | documentation automatique via Swagger et Nelmio bundle | — |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:112` | Swagger Nelmio bundle et ses fonctionnalités | — |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:69` | Swagger via le bundle Nelmio | — |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:127` | Swagger Nelmio bundle et ses fonctionnalités | — |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:43` | Swagger et NelmioApiDocBundle | — |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:103` | Swagger Nelmio bundle | — |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:335` | Swagger et NelmioApiDocBundle | — |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:27` | documentation Swagger via Nelmio bundle | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:27` | Swagger via NelmioApiDocBundle | — |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:98` | Swagger : NelmioBundle et ses fonctionnalités | — |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:280` | OpenAPI automatique | - |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:94` | documentation automatique via Swagger et Nelmio bundle | - |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:112` | Swagger Nelmio bundle et ses fonctionnalités | - |
+| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:69` | Swagger via le bundle Nelmio | - |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:127` | Swagger Nelmio bundle et ses fonctionnalités | - |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:43` | Swagger et NelmioApiDocBundle | - |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:103` | Swagger Nelmio bundle | - |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:335` | Swagger et NelmioApiDocBundle | - |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:27` | documentation Swagger via Nelmio bundle | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:27` | Swagger via NelmioApiDocBundle | - |
+| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:98` | Swagger : NelmioBundle et ses fonctionnalités | - |
---
@@ -2057,16 +2057,16 @@ Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 6
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 2 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:250` | pourquoi Sylius est la solution e-commerce de référence pour Symfony | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:162` | plateformes e-commerce Sylius | — |
-| ✅ Sémantique | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:70` | Sylius | — |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | Sylius est la solution e-commerce du framework Symfony | — |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:15` | Sylius, la solution e-commerce du framework Symfony | — |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:62` | Sylius | — |
+| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:251` | pourquoi Sylius est la solution e-commerce de référence pour Symfony | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:162` | plateformes e-commerce Sylius | - |
+| ✅ Sémantique | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:70` | Sylius | - |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | Sylius est la solution e-commerce du framework Symfony | - |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:15` | Sylius, la solution e-commerce du framework Symfony | - |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:62` | Sylius | - |
---
@@ -2074,12 +2074,12 @@ Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 6
> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 2
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:85` | comparatif avec Prestashop | — |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:97` | Sylius vs Prestashop | — |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:85` | comparatif avec Prestashop | - |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:97` | Sylius vs Prestashop | - |
---
@@ -2089,21 +2089,21 @@ Exact match : **0%** · Partiel : **82%** · Sémantique : **18%** · Total : 11
*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:471` | intégration de l'IA dans les projets Symfony existants | — |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:237` | intégration IA dans un projet Symfony existant | — |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:272` | Symfony AI dans un projet legacy | — |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:99` | Symfony et IA : retour d'expérience sur un projet legacy | — |
-| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:103` | retour d'expérience sur Symfony AI dans un projet legacy | — |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:99` | Symfony AI dans un projet legacy | — |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:123` | construire des workflows IA robustes sur des projets existants | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:90` | Symfony et IA dans un projet legacy | — |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:200` | Symfony AI dans un projet legacy | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:380` | retour d'expérience sur l'intégration de Symfony AI dans un projet legacy | — |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:80` | de l'IA intégrée dans du code legacy | — |
+| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:471` | intégration de l'IA dans les projets Symfony existants | - |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:237` | intégration IA dans un projet Symfony existant | - |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:272` | Symfony AI dans un projet legacy | - |
+| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:99` | Symfony et IA : retour d'expérience sur un projet legacy | - |
+| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:103` | retour d'expérience sur Symfony AI dans un projet legacy | - |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:99` | Symfony AI dans un projet legacy | - |
+| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:123` | construire des workflows IA robustes sur des projets existants | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:90` | Symfony et IA dans un projet legacy | - |
+| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:200` | Symfony AI dans un projet legacy | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:380` | retour d'expérience sur l'intégration de Symfony AI dans un projet legacy | - |
+| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:80` | de l'IA intégrée dans du code legacy | - |
---
@@ -2113,14 +2113,14 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:381` | Symfony Insight | — |
-| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:368` | Symfony Insight | — |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:109` | Symfony Insight : à quoi ça sert et comment le met-on en place ? | — |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:80` | Symfony Insight | — |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:382` | Symfony Insight | - |
+| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:369` | Symfony Insight | - |
+| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:109` | Symfony Insight : à quoi ça sert et comment le met-on en place ? | - |
+| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:80` | Symfony Insight | - |
---
@@ -2130,41 +2130,41 @@ Exact match : **0%** · Partiel : **81%** · Sémantique : **19%** · Total : 31
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **42%***
> 🔧 Actions : 9 partiel → exact · 7 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:323` | Symfony Messenger pour les traitements asynchrones | — |
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:460` | architectures hexagonales | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:507` | Messenger pour les traitements asynchrones | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:512` | Messenger pour les traitements asynchrones | — |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:323` | colonne vertébrale d'une architecture hexagonale | — |
-| ✅ Sémantique | `src\app\page.tsx:77` | Messenger pour les traitements asynchrones | — |
-| 🟡 Partiel | `src\app\secteur\api-integration\page.tsx:310` | Symfony Messenger | — |
-| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:304` | Symfony Messenger | — |
-| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:300` | Symfony Messenger | — |
-| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:340` | Messenger | — |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:345` | Symfony Messenger comme colonne vertébrale d'une archi hexagonale | — |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:59` | Symfony Messenger structure les flux de messages | — |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:220` | Symfony Messenger | — |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:399` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | — |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:69` | Symfony Messenger | — |
-| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:41` | Messenger | — |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:272` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:77` | Symfony Messenger | — |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:99` | Symfony Messenger | — |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:110` | Symfony Messenger | — |
-| 🟡 Partiel | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:57` | Messenger qui s'appuie sur les événements pour orchestrer l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:29` | Symfony Messenger | — |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:219` | colonne vertébrale d'une architecture CQRS | — |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:256` | Symfony Messenger : colonne vertébrale de l'architecture hexagonale | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:254` | l'architecture hexagonale appliquée à Symfony | — |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:537` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:59` | Symfony Messenger | — |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:273` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | — |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:20` | Messenger | — |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:30` | Symfony Messenger | — |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:89` | Symfony Messenger | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:323` | Symfony Messenger pour les traitements asynchrones | - |
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:460` | architectures hexagonales | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:507` | Messenger pour les traitements asynchrones | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:512` | Messenger pour les traitements asynchrones | - |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:324` | colonne vertébrale d'une architecture hexagonale | - |
+| ✅ Sémantique | `src\app\page.tsx:77` | Messenger pour les traitements asynchrones | - |
+| 🟡 Partiel | `src\app\secteur\api-integration\page.tsx:310` | Symfony Messenger | - |
+| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:304` | Symfony Messenger | - |
+| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:300` | Symfony Messenger | - |
+| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:340` | Messenger | - |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:345` | Symfony Messenger comme colonne vertébrale d'une archi hexagonale | - |
+| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:59` | Symfony Messenger structure les flux de messages | - |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:220` | Symfony Messenger | - |
+| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:399` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | - |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:69` | Symfony Messenger | - |
+| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:41` | Messenger | - |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:272` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:77` | Symfony Messenger | - |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:99` | Symfony Messenger | - |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:110` | Symfony Messenger | - |
+| 🟡 Partiel | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:57` | Messenger qui s'appuie sur les événements pour orchestrer l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:29` | Symfony Messenger | - |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:219` | colonne vertébrale d'une architecture CQRS | - |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:256` | Symfony Messenger : colonne vertébrale de l'architecture hexagonale | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:254` | l'architecture hexagonale appliquée à Symfony | - |
+| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:537` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:59` | Symfony Messenger | - |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:273` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | - |
+| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:20` | Messenger | - |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:30` | Symfony Messenger | - |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:89` | Symfony Messenger | - |
---
@@ -2174,16 +2174,16 @@ Exact match : **50%** · Partiel : **33%** · Sémantique : **17%** · Total : 6
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 exact → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:21` | Comprendre Symfony facilement | — |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:128` | Symfony pour débutants | — |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:117` | Symfony pour les débutants | — |
-| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:20` | Symfony pour les moldus | — |
-| 🔵 Exact | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:152` | Symfony pour les moldus | — |
-| 🔵 Exact | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:20` | Symfony pour les moldus | — |
+| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:21` | Comprendre Symfony facilement | - |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:128` | Symfony pour débutants | - |
+| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:117` | Symfony pour les débutants | - |
+| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:20` | Symfony pour les moldus | - |
+| 🔵 Exact | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:152` | Symfony pour les moldus | - |
+| 🔵 Exact | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:20` | Symfony pour les moldus | - |
---
@@ -2193,12 +2193,12 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:40` | article Symfony vs Laravel | — |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | comparatif Symfony vs Laravel | — |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:40` | article Symfony vs Laravel | - |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | comparatif Symfony vs Laravel | - |
---
@@ -2208,28 +2208,28 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 18
*Après correction → Exact match : **28%** · Partiel : **33%** · Sémantique : **39%***
> 🔧 Actions : 5 partiel → exact · 7 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\integration-redis-symfony\page.tsx:205` | nos conseils sur la mise en cache | — |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:44` | la mise en cache appliquée aux applications web | — |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:46` | stratégies de mise en cache | — |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:113` | Tout savoir sur la mise en cache | — |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:33` | la mise en cache appliquée aux applications PHP | — |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:220` | stratégies de mise en cache complémentaires au CDN CloudFront | — |
-| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:82` | stratégies de mise en cache | — |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:75` | mise en cache | — |
-| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:69` | mise en cache | — |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:53` | stratégies de mise en cache classiques | — |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:196` | Tout savoir sur la mise en cache | — |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:334` | Tout savoir sur la mise en cache | — |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:76` | mise en cache applicative | — |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:111` | mise en cache HTTP | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:55` | mise en cache | — |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | mise en cache HTTP | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:450` | Tout savoir sur la mise en cache | — |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:56` | la mise en cache | — |
+| 🟡 Partiel | `src\app\integration-redis-symfony\page.tsx:206` | nos conseils sur la mise en cache | - |
+| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:44` | la mise en cache appliquée aux applications web | - |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:46` | stratégies de mise en cache | - |
+| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:113` | Tout savoir sur la mise en cache | - |
+| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:33` | la mise en cache appliquée aux applications PHP | - |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:220` | stratégies de mise en cache complémentaires au CDN CloudFront | - |
+| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:82` | stratégies de mise en cache | - |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:75` | mise en cache | - |
+| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:69` | mise en cache | - |
+| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:53` | stratégies de mise en cache classiques | - |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:196` | Tout savoir sur la mise en cache | - |
+| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:334` | Tout savoir sur la mise en cache | - |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:76` | mise en cache applicative | - |
+| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:111` | mise en cache HTTP | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:55` | mise en cache | - |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | mise en cache HTTP | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:450` | Tout savoir sur la mise en cache | - |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:56` | la mise en cache | - |
---
@@ -2239,13 +2239,13 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:151` | Twig 4 | — |
-| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:37` | les nouveautés attendues dans Twig 4 | — |
-| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:147` | évolutions attendues dans Twig 4 | — |
+| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:152` | Twig 4 | - |
+| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:37` | les nouveautés attendues dans Twig 4 | - |
+| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:147` | évolutions attendues dans Twig 4 | - |
---
@@ -2255,22 +2255,22 @@ Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 12
*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
> 🔧 Actions : 4 partiel → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:55` | Composer | — |
-| ✅ Sémantique | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:19` | gestion des dépendances via Composer | — |
-| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:248` | Utilisation de Composer dans le développement Symfony | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:34` | l'utilisation de Composer dans un projet Symfony | — |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:25` | Composer | — |
-| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:88` | gestion des dépendances avec Composer | — |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:83` | l'utilisation de Composer dans un projet Symfony | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | Composer | — |
-| 🟡 Partiel | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:25` | l'utilisation de Composer dans le développement Symfony | — |
-| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:27` | Composer | — |
-| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:227` | Composer | — |
-| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:37` | Composer | — |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:55` | Composer | - |
+| ✅ Sémantique | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:19` | gestion des dépendances via Composer | - |
+| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:248` | Utilisation de Composer dans le développement Symfony | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:34` | l'utilisation de Composer dans un projet Symfony | - |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:25` | Composer | - |
+| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:88` | gestion des dépendances avec Composer | - |
+| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:83` | l'utilisation de Composer dans un projet Symfony | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | Composer | - |
+| 🟡 Partiel | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:25` | l'utilisation de Composer dans le développement Symfony | - |
+| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:27` | Composer | - |
+| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:227` | Composer | - |
+| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:37` | Composer | - |
---
@@ -2280,11 +2280,11 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 1
*Après correction → Exact match : **0%** · Partiel : **0%** · Sémantique : **100%***
> 🔧 Actions : 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:95` | retour sur VivaTech 2025 | — |
+| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:95` | retour sur VivaTech 2025 | - |
---
@@ -2295,30 +2295,30 @@ Exact match : **58%** · Partiel : **42%** · Sémantique : **0%** · Total : 24
> 🔧 Actions : 7 exact → sémantique · 3 partiel → sémantique
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\agence-symfony-france\page.tsx:330` | audit de code PHP | — |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:340` | audit technique approfondi | — |
-| 🔵 Exact | `src\app\architecture-hexagonale-symfony\page.tsx:367` | audit de code PHP | — |
-| 🟡 Partiel | `src\app\audit-symfony-gratuit\page.tsx:183` | prestation d'audit approfondi | — |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:297` | audit de code PHP | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:259` | Audit technique approfondi → | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:181` | Audit de code PHP | — |
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:280` | audit de code | — |
-| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:309` | audit de code | — |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:298` | audit de code | — |
-| 🔵 Exact | `src\app\securite-application-symfony\page.tsx:202` | audit de code PHP | — |
-| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:322` | audit de code | — |
-| 🔵 Exact | `src\app\tests-automatises-php\page.tsx:253` | audit de code PHP | — |
-| 🔵 Exact | `content\blog\code-mort-mission-elimination.mdx:105` | audit de code PHP | — |
-| 🔵 Exact | `content\blog\coding-conventions.mdx:116` | audit de code PHP | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:37` | audit de code | — |
-| 🔵 Exact | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:246` | audit de code PHP | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:89` | audit technique régulier | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:34` | audit technique approfondi | — |
-| 🔵 Exact | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:176` | audit de code PHP | — |
-| 🔵 Exact | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | audit de code PHP | — |
-| 🔵 Exact | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | audit de code PHP | — |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | audit de code PHP | — |
-| 🔵 Exact | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:13` | audit de code PHP | — |
+| 🔵 Exact | `src\app\agence-symfony-france\page.tsx:330` | audit de code PHP | - |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:340` | audit technique approfondi | - |
+| 🔵 Exact | `src\app\architecture-hexagonale-symfony\page.tsx:368` | audit de code PHP | - |
+| 🟡 Partiel | `src\app\audit-symfony-gratuit\page.tsx:183` | prestation d'audit approfondi | - |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:298` | audit de code PHP | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:260` | Audit technique approfondi → | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:181` | Audit de code PHP | - |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:280` | audit de code | - |
+| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:309` | audit de code | - |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:298` | audit de code | - |
+| 🔵 Exact | `src\app\securite-application-symfony\page.tsx:203` | audit de code PHP | - |
+| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:323` | audit de code | - |
+| 🔵 Exact | `src\app\tests-automatises-php\page.tsx:254` | audit de code PHP | - |
+| 🔵 Exact | `content\blog\code-mort-mission-elimination.mdx:105` | audit de code PHP | - |
+| 🔵 Exact | `content\blog\coding-conventions.mdx:116` | audit de code PHP | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:37` | audit de code | - |
+| 🔵 Exact | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:246` | audit de code PHP | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:89` | audit technique régulier | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:34` | audit technique approfondi | - |
+| 🔵 Exact | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:176` | audit de code PHP | - |
+| 🔵 Exact | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | audit de code PHP | - |
+| 🔵 Exact | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | audit de code PHP | - |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | audit de code PHP | - |
+| 🔵 Exact | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:13` | audit de code PHP | - |
---
@@ -2328,14 +2328,14 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:355` | audit IA en entreprise | — |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:173` | audit IA en entreprise | — |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:451` | Audit IA en entreprise Diagnostic de vos processus, accompagnement à la mise en place et formation de vos équipes à l'intelligence artificielle. | — |
-| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:355` | audit IA en entreprise | — |
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:355` | audit IA en entreprise | - |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:173` | audit IA en entreprise | - |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:451` | Audit IA en entreprise Diagnostic de vos processus, accompagnement à la mise en place et formation de vos équipes à l'intelligence artificielle. | - |
+| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:355` | audit IA en entreprise | - |
---
@@ -2346,51 +2346,51 @@ Exact match : **11%** · Partiel : **89%** · Sémantique : **0%** · Total : 45
> 🔧 Actions : 9 partiel → exact · 18 partiel → sémantique
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:291` | audit Symfony gratuit de 30 minutes | — |
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:435` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:395` | audit Symfony gratuit de 30 minutes | — |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:578` | Demander un audit gratuit | — |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:460` | audit Symfony gratuit de 30 minutes | — |
-| 🔵 Exact | `src\app\agence-symfony-nantes\page.tsx:460` | audit Symfony gratuit | — |
-| 🔵 Exact | `src\app\agence-symfony-paris\page.tsx:446` | audit Symfony gratuit | — |
-| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:461` | Audit gratuit 30 min | — |
-| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:437` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:416` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:358` | audit Symfony gratuit de 30 minutes | — |
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:405` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:453` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\contact\page.tsx:92` | Demander un audit Symfony gratuit de 30 minutes | — |
-| 🔵 Exact | `src\app\developpement-web-sur-mesure\page.tsx:430` | audit Symfony gratuit | — |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:640` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:383` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\hebergement-symfony\page.tsx:362` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:454` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:391` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:463` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:255` | audit gratuit de 30 minutes | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:265` | Commencer par un diagnostic gratuit → | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:464` | Demander mon diagnostic gratuit | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:182` | Audit Symfony gratuit | — |
-| 🟡 Partiel | `src\app\page.tsx:107` | audit gratuit de 30 minutes | — |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:445` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:482` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\secteur\e-commerce\page.tsx:347` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:365` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:376` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:421` | Demander mon audit gratuit | — |
-| 🟡 Partiel | `src\components\layout\MobileMenu.tsx:125` | { trackEvent("cta_click", { cta_location: "header_mobile", cta_text: "Audit Symfony gratuit" }); closeMenu(); }} > Audit Symfony gratuit | — |
-| 🟡 Partiel | `src\components\sections\StickyMobileCta.tsx:34` | trackEvent("cta_click", { cta_location: "sticky_mobile", cta_text: "Audit gratuit 30 min" })} > Audit gratuit 30 min → | — |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:102` | audit Symfony gratuit de 30 minutes | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:94` | audit Symfony gratuit de 30 minutes | — |
-| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:101` | audit Symfony gratuit | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:115` | audit technique complet | — |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:84` | diagnostic gratuit de votre application | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:43` | audit Symfony gratuit de 30 minutes | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:94` | audit Symfony gratuit de 30 minutes | — |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:103` | audit gratuit de 30 minutes | — |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | audit gratuit | — |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | audit gratuit de 30 minutes | — |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:101` | audit Symfony gratuit de 30 minutes | — |
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:291` | audit Symfony gratuit de 30 minutes | - |
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:435` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:395` | audit Symfony gratuit de 30 minutes | - |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:578` | Demander un audit gratuit | - |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:460` | audit Symfony gratuit de 30 minutes | - |
+| 🔵 Exact | `src\app\agence-symfony-nantes\page.tsx:460` | audit Symfony gratuit | - |
+| 🔵 Exact | `src\app\agence-symfony-paris\page.tsx:446` | audit Symfony gratuit | - |
+| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:462` | Audit gratuit 30 min | - |
+| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:438` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:417` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:359` | audit Symfony gratuit de 30 minutes | - |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:406` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:454` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\contact\page.tsx:92` | Demander un audit Symfony gratuit de 30 minutes | - |
+| 🔵 Exact | `src\app\developpement-web-sur-mesure\page.tsx:431` | audit Symfony gratuit | - |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:641` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:384` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\hebergement-symfony\page.tsx:363` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:455` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:392` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:464` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:256` | audit gratuit de 30 minutes | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:266` | Commencer par un diagnostic gratuit → | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:465` | Demander mon diagnostic gratuit | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:182` | Audit Symfony gratuit | - |
+| 🟡 Partiel | `src\app\page.tsx:107` | audit gratuit de 30 minutes | - |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:445` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:483` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\secteur\e-commerce\page.tsx:347` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:365` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:376` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:422` | Demander mon audit gratuit | - |
+| 🟡 Partiel | `src\components\layout\MobileMenu.tsx:125` | { trackEvent("cta_click", { cta_location: "header_mobile", cta_text: "Audit Symfony gratuit" }); closeMenu(); }} > Audit Symfony gratuit | - |
+| 🟡 Partiel | `src\components\sections\StickyMobileCta.tsx:34` | trackEvent("cta_click", { cta_location: "sticky_mobile", cta_text: "Audit gratuit 30 min" })} > Audit gratuit 30 min → | - |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:102` | audit Symfony gratuit de 30 minutes | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:94` | audit Symfony gratuit de 30 minutes | - |
+| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:101` | audit Symfony gratuit | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:115` | audit technique complet | - |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:84` | diagnostic gratuit de votre application | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:43` | audit Symfony gratuit de 30 minutes | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:94` | audit Symfony gratuit de 30 minutes | - |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:103` | audit gratuit de 30 minutes | - |
+| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | audit gratuit | - |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | audit gratuit de 30 minutes | - |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:101` | audit Symfony gratuit de 30 minutes | - |
---
@@ -2400,22 +2400,22 @@ Exact match : **0%** · Partiel : **42%** · Sémantique : **58%** · Total : 12
*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
> 🔧 Actions : 4 partiel → exact · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:540` | PostgreSQL | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:536` | PostgreSQL | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:526` | PostgreSQL | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:519` | PostgreSQL | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:197` | PostgreSQL et Symfony | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | PostgreSQL | — |
-| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | PostgreSQL dans les projets Symfony | — |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:39` | base de données PostgreSQL avec Symfony | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:58` | PostgreSQL | — |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:61` | PostgreSQL avec Symfony | — |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:529` | optimisation Doctrine / PostgreSQL | — |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:46` | guide sur PostgreSQL et Symfony | — |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:540` | PostgreSQL | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:536` | PostgreSQL | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:526` | PostgreSQL | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:519` | PostgreSQL | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:197` | PostgreSQL et Symfony | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | PostgreSQL | - |
+| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | PostgreSQL dans les projets Symfony | - |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:44` | base de données PostgreSQL avec Symfony | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:58` | PostgreSQL | - |
+| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:61` | PostgreSQL avec Symfony | - |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:529` | optimisation Doctrine / PostgreSQL | - |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:46` | guide sur PostgreSQL et Symfony | - |
---
@@ -2425,15 +2425,15 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 sémantique → exact · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\blog\page.tsx:58` | Tous | — |
-| ✅ Sémantique | `src\app\blog\[category]\page.tsx:112` | Tous | — |
-| ✅ Sémantique | `src\app\green-it\page.tsx:218` | Voir les articles Green IT → | — |
-| ✅ Sémantique | `src\components\seo\GonePage.tsx:15` | Retour au blog → | — |
-| ✅ Sémantique | `src\components\seo\GonePage.tsx:27` | Parcourir tous nos articles | — |
+| ✅ Sémantique | `src\app\blog\page.tsx:58` | Tous | - |
+| ✅ Sémantique | `src\app\blog\[category]\page.tsx:112` | Tous | - |
+| ✅ Sémantique | `src\app\green-it\page.tsx:218` | Voir les articles Green IT → | - |
+| ✅ Sémantique | `src\components\seo\GonePage.tsx:15` | Retour au blog → | - |
+| ✅ Sémantique | `src\components\seo\GonePage.tsx:27` | Parcourir tous nos articles | - |
---
@@ -2443,33 +2443,33 @@ Exact match : **52%** · Partiel : **17%** · Sémantique : **30%** · Total : 2
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **39%***
> 🔧 Actions : 3 exact → partiel · 2 exact → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:456` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | — |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:650` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | — |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:417` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | — |
-| 🔵 Exact | `src\app\hebergement-symfony\page.tsx:186` | Cloud et DevOps | — |
-| 🔵 Exact | `src\app\hebergement-symfony\page.tsx:302` | Cloud et DevOps | — |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:201` | pipelines CI/CD | — |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:325` | infrastructure DevOps | — |
-| 🔵 Exact | `src\app\integration-elasticsearch-symfony\page.tsx:320` | Cloud et DevOps | — |
-| 🔵 Exact | `src\app\integration-redis-symfony\page.tsx:262` | Cloud et DevOps | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:195` | Cloud et DevOps | — |
-| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:461` | pipeline CI/CD | — |
-| ✅ Sémantique | `src\components\sections\ProcessSteps.tsx:59` | CI/CD | — |
-| 🔵 Exact | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:170` | Cloud et DevOps | — |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:100` | accompagnement cloud et DevOps | — |
-| 🔵 Exact | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:242` | Cloud et DevOps | — |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:37` | DevOps | — |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:95` | services cloud managés | — |
-| 🔵 Exact | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:35` | Cloud et DevOps | — |
-| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:136` | Cloud et DevOps | — |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:160` | monitoring en production | — |
-| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:35` | Cloud et DevOps | — |
-| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:189` | Cloud et DevOps | — |
-| 🔵 Exact | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:56` | Cloud et DevOps | — |
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:456` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | - |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:651` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | - |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:417` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | - |
+| 🔵 Exact | `src\app\hebergement-symfony\page.tsx:187` | Cloud et DevOps | - |
+| 🔵 Exact | `src\app\hebergement-symfony\page.tsx:303` | Cloud et DevOps | - |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:202` | pipelines CI/CD | - |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:326` | infrastructure DevOps | - |
+| 🔵 Exact | `src\app\integration-elasticsearch-symfony\page.tsx:321` | Cloud et DevOps | - |
+| 🔵 Exact | `src\app\integration-redis-symfony\page.tsx:263` | Cloud et DevOps | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:195` | Cloud et DevOps | - |
+| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:461` | pipeline CI/CD | - |
+| ✅ Sémantique | `src\components\sections\ProcessSteps.tsx:59` | CI/CD | - |
+| 🔵 Exact | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:170` | Cloud et DevOps | - |
+| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:100` | accompagnement cloud et DevOps | - |
+| 🔵 Exact | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:242` | Cloud et DevOps | - |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:37` | DevOps | - |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:95` | services cloud managés | - |
+| 🔵 Exact | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:35` | Cloud et DevOps | - |
+| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:136` | Cloud et DevOps | - |
+| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:165` | monitoring en production | - |
+| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:35` | Cloud et DevOps | - |
+| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:189` | Cloud et DevOps | - |
+| 🔵 Exact | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:56` | Cloud et DevOps | - |
---
@@ -2480,24 +2480,24 @@ Exact match : **33%** · Partiel : **11%** · Sémantique : **56%** · Total : 1
> 🔧 Actions : 1 exact → partiel · 3 sémantique → partiel
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\agence-symfony-lille\page.tsx:584` | Nous contacter | — |
-| 🔵 Exact | `src\app\api-nodejs-nestjs\page.tsx:455` | Nous contacter | — |
-| 🔵 Exact | `src\app\api-sur-mesure-symfony\page.tsx:443` | Nous contacter | — |
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:498` | Demander un audit IA | — |
-| 🟡 Partiel | `src\app\audit-symfony-gratuit\page.tsx:451` | Contactez-nous pour en discuter | — |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:514` | Contactez-nous dès aujourd'hui | — |
-| 🔵 Exact | `src\app\expertise-ia\page.tsx:396` | Contactez-nous | — |
-| ✅ Sémantique | `src\app\formation-symfony-entreprise\page.tsx:379` | Demander un programme de formation | — |
-| 🔵 Exact | `src\app\geo-optimisation-ia\page.tsx:368` | Contactez-nous | — |
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:366` | Parlons de votre projet | — |
-| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:365` | Parlons de votre projet | — |
-| ✅ Sémantique | `src\app\secteur\finance\page.tsx:365` | Parlons de votre projet | — |
-| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:369` | Demander un devis | — |
-| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:378` | Discutons de votre besoin | — |
-| ✅ Sémantique | `src\app\secteur\saas\page.tsx:364` | Parlons de votre projet | — |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:378` | Demander un audit | — |
-| ✅ Sémantique | `src\components\layout\MobileMenu.tsx:134` | { trackEvent("cta_click", { cta_location: "header_mobile", cta_text: "Contact" }); closeMenu(); }} > Contact | — |
-| 🔵 Exact | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:531` | contactez-nous | — |
+| 🔵 Exact | `src\app\agence-symfony-lille\page.tsx:584` | Nous contacter | - |
+| 🔵 Exact | `src\app\api-nodejs-nestjs\page.tsx:456` | Nous contacter | - |
+| 🔵 Exact | `src\app\api-sur-mesure-symfony\page.tsx:444` | Nous contacter | - |
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:498` | Demander un audit IA | - |
+| 🟡 Partiel | `src\app\audit-symfony-gratuit\page.tsx:451` | Contactez-nous pour en discuter | - |
+| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:515` | Contactez-nous dès aujourd'hui | - |
+| 🔵 Exact | `src\app\expertise-ia\page.tsx:396` | Contactez-nous | - |
+| ✅ Sémantique | `src\app\formation-symfony-entreprise\page.tsx:379` | Demander un programme de formation | - |
+| 🔵 Exact | `src\app\geo-optimisation-ia\page.tsx:368` | Contactez-nous | - |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:366` | Parlons de votre projet | - |
+| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:365` | Parlons de votre projet | - |
+| ✅ Sémantique | `src\app\secteur\finance\page.tsx:365` | Parlons de votre projet | - |
+| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:369` | Demander un devis | - |
+| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:378` | Discutons de votre besoin | - |
+| ✅ Sémantique | `src\app\secteur\saas\page.tsx:364` | Parlons de votre projet | - |
+| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:378` | Demander un audit | - |
+| ✅ Sémantique | `src\components\layout\MobileMenu.tsx:134` | { trackEvent("cta_click", { cta_location: "header_mobile", cta_text: "Contact" }); closeMenu(); }} > Contact | - |
+| 🔵 Exact | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:531` | contactez-nous | - |
---
@@ -2507,20 +2507,20 @@ Exact match : **50%** · Partiel : **20%** · Sémantique : **30%** · Total : 1
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
> 🔧 Actions : 1 exact → partiel · 1 exact → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:294` | expertise frontend complète | — |
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:217` | frontend React et Vue.js | — |
-| 🔵 Exact | `src\app\developpement-typescript\page.tsx:324` | développement frontend | — |
-| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:254` | frontend | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:193` | Développement frontend | — |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:252` | Développement frontend sur mesure | — |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:106` | Développement frontend sur mesure | — |
-| 🔵 Exact | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | développement frontend | — |
-| 🔵 Exact | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:88` | développement frontend | — |
-| 🔵 Exact | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:52` | développement frontend | — |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:295` | expertise frontend complète | - |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:218` | frontend React et Vue.js | - |
+| 🔵 Exact | `src\app\developpement-typescript\page.tsx:325` | développement frontend | - |
+| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:255` | frontend | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:193` | Développement frontend | - |
+| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:252` | Développement frontend sur mesure | - |
+| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:106` | Développement frontend sur mesure | - |
+| 🔵 Exact | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | développement frontend | - |
+| 🔵 Exact | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:88` | développement frontend | - |
+| 🔵 Exact | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:52` | développement frontend | - |
---
@@ -2530,19 +2530,19 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 9
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 3 sémantique → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\api-nodejs-nestjs\page.tsx:195` | développement Node.js | — |
-| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:212` | Node.js | — |
-| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:318` | Node.js | — |
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:218` | Node.js | — |
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:224` | backend Node.js | — |
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:346` | APIs Node.js | — |
-| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:98` | développement Node.js | — |
-| ✅ Sémantique | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:115` | développement Node.js | — |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:25` | développement Node.js sur mesure | — |
+| ✅ Sémantique | `src\app\api-nodejs-nestjs\page.tsx:196` | développement Node.js | - |
+| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:213` | Node.js | - |
+| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:319` | Node.js | - |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:219` | Node.js | - |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:225` | backend Node.js | - |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:347` | APIs Node.js | - |
+| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:98` | développement Node.js | - |
+| ✅ Sémantique | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:115` | développement Node.js | - |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:25` | développement Node.js sur mesure | - |
---
@@ -2553,22 +2553,22 @@ Exact match : **25%** · Partiel : **0%** · Sémantique : **75%** · Total : 16
> 🔧 Actions : 1 sémantique → exact · 5 sémantique → partiel
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\base-de-donnees-postgresql-symfony\page.tsx:209` | applications PHP | — |
-| 🔵 Exact | `src\app\base-de-donnees-postgresql-symfony\page.tsx:325` | développement PHP | — |
-| ✅ Sémantique | `src\app\integration-elasticsearch-symfony\page.tsx:204` | applications PHP | — |
-| ✅ Sémantique | `src\app\integration-elasticsearch-symfony\page.tsx:310` | applications PHP | — |
-| ✅ Sémantique | `src\app\integration-redis-symfony\page.tsx:198` | applications PHP | — |
-| ✅ Sémantique | `src\app\integration-redis-symfony\page.tsx:322` | application PHP | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:191` | Développement PHP | — |
-| ✅ Sémantique | `src\app\pourquoi-efficience-it\page.tsx:273` | PHP et Symfony | — |
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:40` | PHP et Symfony | — |
-| ✅ Sémantique | `content\blog\concretement-cest-quoi-frankenphp.mdx:109` | développement PHP sur mesure | — |
-| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:12` | développement d'applications web | — |
-| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:78` | Développement PHP sur mesure | — |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:146` | Développement PHP sur mesure | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:20` | agence qui travaille avec les deux technologies | — |
-| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:48` | développement PHP | — |
-| 🔵 Exact | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:13` | développement PHP | — |
+| ✅ Sémantique | `src\app\base-de-donnees-postgresql-symfony\page.tsx:210` | applications PHP | - |
+| 🔵 Exact | `src\app\base-de-donnees-postgresql-symfony\page.tsx:326` | développement PHP | - |
+| ✅ Sémantique | `src\app\integration-elasticsearch-symfony\page.tsx:205` | applications PHP | - |
+| ✅ Sémantique | `src\app\integration-elasticsearch-symfony\page.tsx:311` | applications PHP | - |
+| ✅ Sémantique | `src\app\integration-redis-symfony\page.tsx:199` | applications PHP | - |
+| ✅ Sémantique | `src\app\integration-redis-symfony\page.tsx:323` | application PHP | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:191` | Développement PHP | - |
+| ✅ Sémantique | `src\app\pourquoi-efficience-it\page.tsx:273` | PHP et Symfony | - |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:40` | PHP et Symfony | - |
+| ✅ Sémantique | `content\blog\concretement-cest-quoi-frankenphp.mdx:109` | développement PHP sur mesure | - |
+| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:12` | développement d'applications web | - |
+| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:78` | Développement PHP sur mesure | - |
+| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:146` | Développement PHP sur mesure | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:20` | agence qui travaille avec les deux technologies | - |
+| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:48` | développement PHP | - |
+| 🔵 Exact | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:13` | développement PHP | - |
---
@@ -2578,12 +2578,12 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | React | — |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:29` | React | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | React | - |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:29` | React | - |
---
@@ -2593,13 +2593,13 @@ Exact match : **33%** · Partiel : **0%** · Sémantique : **67%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | TypeScript | — |
-| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:102` | TypeScript | — |
-| 🔵 Exact | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:54` | développement TypeScript | — |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | TypeScript | - |
+| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:102` | TypeScript | - |
+| 🔵 Exact | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:54` | développement TypeScript | - |
---
@@ -2609,15 +2609,15 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 1 sémantique → exact · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:290` | Vue.js | — |
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:354` | Vue.js | — |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | Vue.js | — |
-| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:27` | développement Vue.js | — |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:48` | Vue.js | — |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:291` | Vue.js | - |
+| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:355` | Vue.js | - |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | Vue.js | - |
+| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:27` | développement Vue.js | - |
+| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:48` | Vue.js | - |
---
@@ -2627,46 +2627,46 @@ Exact match : **47%** · Partiel : **17%** · Sémantique : **36%** · Total : 3
*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **39%***
> 🔧 Actions : 5 exact → partiel · 1 exact → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:445` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | — |
-| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:463` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | — |
-| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:311` | Symfony | — |
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:422` | développement d'API sur mesure avec Symfony | — |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:246` | développement web sur mesure | — |
-| 🟡 Partiel | `src\app\developpement-php\page.tsx:348` | projet de développement web sur mesure | — |
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:229` | projet web sur mesure | — |
-| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:332` | projet web sur mesure | — |
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:184` | solutions e-commerce sur mesure | — |
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:324` | applications web sur mesure | — |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:406` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:192` | Développement web sur mesure | — |
-| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:445` | développement web | — |
-| ✅ Sémantique | `src\app\secteur\page.tsx:185` | web sur mesure | — |
-| ✅ Sémantique | `src\components\sections\ProcessSteps.tsx:55` | applications web sur mesure | — |
-| 🔵 Exact | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | développement web sur mesure | — |
-| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:266` | conception d'une application métier | — |
-| 🔵 Exact | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:14` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:243` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:151` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:68` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:96` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:83` | développement web sur mesure | — |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:49` | projet web sur mesure | — |
-| 🔵 Exact | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:99` | développement web sur mesure | — |
-| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:258` | développement d'applications web Symfony | — |
-| 🔵 Exact | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:338` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:119` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:112` | développement web sur mesure | — |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:106` | développement web sur mesure en Symfony | — |
-| 🔵 Exact | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:36` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:160` | développement web sur mesure | — |
-| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | construction d'applications métier Symfony | — |
-| 🔵 Exact | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:129` | développement web sur mesure | — |
-| 🔵 Exact | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:120` | développement web sur mesure | — |
-| ✅ Sémantique | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:56` | applications métier sur mesure | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:445` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | - |
+| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:464` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | - |
+| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:312` | Symfony | - |
+| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:423` | développement d'API sur mesure avec Symfony | - |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:247` | développement web sur mesure | - |
+| 🟡 Partiel | `src\app\developpement-php\page.tsx:349` | projet de développement web sur mesure | - |
+| ✅ Sémantique | `src\app\developpement-react\page.tsx:230` | projet web sur mesure | - |
+| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:333` | projet web sur mesure | - |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:185` | solutions e-commerce sur mesure | - |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:325` | applications web sur mesure | - |
+| 🟡 Partiel | `src\app\expertise-ia\page.tsx:406` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:192` | Développement web sur mesure | - |
+| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:445` | développement web | - |
+| ✅ Sémantique | `src\app\secteur\page.tsx:185` | web sur mesure | - |
+| ✅ Sémantique | `src\components\sections\ProcessSteps.tsx:55` | applications web sur mesure | - |
+| 🔵 Exact | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | développement web sur mesure | - |
+| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:266` | conception d'une application métier | - |
+| 🔵 Exact | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:14` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:243` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:151` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:68` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:96` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:83` | développement web sur mesure | - |
+| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:49` | projet web sur mesure | - |
+| 🔵 Exact | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:99` | développement web sur mesure | - |
+| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:258` | développement d'applications web Symfony | - |
+| 🔵 Exact | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:338` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:119` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:112` | développement web sur mesure | - |
+| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:106` | développement web sur mesure en Symfony | - |
+| 🔵 Exact | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:36` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:160` | développement web sur mesure | - |
+| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | construction d'applications métier Symfony | - |
+| 🔵 Exact | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:129` | développement web sur mesure | - |
+| 🔵 Exact | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:120` | développement web sur mesure | - |
+| ✅ Sémantique | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:56` | applications métier sur mesure | - |
---
@@ -2676,22 +2676,22 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 12
*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
> 🔧 Actions : 4 sémantique → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:518` | Sylius | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:329` | Sylius, la solution e-commerce Symfony | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:326` | Sylius, la solution e-commerce Symfony | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:505` | Sylius | — |
-| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:178` | Sylius | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | e-commerce | — |
-| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | e-commerce Sylius | — |
-| ✅ Sémantique | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:113` | e-commerce Sylius | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:85` | Sylius | — |
-| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:70` | e-commerce Sylius | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:20` | agence spécialisée Symfony et Sylius | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:97` | Sylius | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:518` | Sylius | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:329` | Sylius, la solution e-commerce Symfony | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:326` | Sylius, la solution e-commerce Symfony | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:505` | Sylius | - |
+| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:178` | Sylius | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | e-commerce | - |
+| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | e-commerce Sylius | - |
+| ✅ Sémantique | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:113` | e-commerce Sylius | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:85` | Sylius | - |
+| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:70` | e-commerce Sylius | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:20` | agence spécialisée Symfony et Sylius | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:97` | Sylius | - |
---
@@ -2701,22 +2701,22 @@ Exact match : **17%** · Partiel : **0%** · Sémantique : **83%** · Total : 12
*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
> 🔧 Actions : 2 sémantique → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:368` | intégration technique dans une application Symfony | — |
-| 🔵 Exact | `src\app\geo-optimisation-ia\page.tsx:263` | expertise IA | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:206` | Expertise IA | — |
-| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:268` | expertise en intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:95` | expertise en intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:89` | expertise en intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:109` | expertise en intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:81` | expertise en intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:95` | expertise en intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:195` | expertise en intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:529` | expertise en intelligence artificielle | — |
-| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:267` | expertise en intelligence artificielle | — |
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:368` | intégration technique dans une application Symfony | - |
+| 🔵 Exact | `src\app\geo-optimisation-ia\page.tsx:263` | expertise IA | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:206` | Expertise IA | - |
+| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:268` | expertise en intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:95` | expertise en intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:89` | expertise en intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:109` | expertise en intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:81` | expertise en intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:95` | expertise en intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:195` | expertise en intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:529` | expertise en intelligence artificielle | - |
+| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:267` | expertise en intelligence artificielle | - |
---
@@ -2726,25 +2726,25 @@ Exact match : **7%** · Partiel : **87%** · Sémantique : **7%** · Total : 15
*Après correction → Exact match : **33%** · Partiel : **27%** · Sémantique : **40%***
> 🔧 Actions : 4 partiel → exact · 5 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:340` | formations Symfony en entreprise | — |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:301` | formations Symfony | — |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:358` | formations Symfony en entreprise | — |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:347` | formations Symfony en entreprise | — |
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:410` | formation professionnelle | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:200` | Formation Symfony entreprise | — |
-| 🟡 Partiel | `src\app\page.tsx:96` | formations Symfony en entreprise | — |
-| 🟡 Partiel | `src\app\secteur\renfort-equipe\page.tsx:327` | formation Symfony | — |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:111` | formation Symfony en entreprise | — |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:100` | formations Symfony en entreprise | — |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:81` | formation Symfony en entreprise | — |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:74` | formation Symfony certifiante | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:92` | formations Symfony en entreprise | — |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:16` | formations Symfony en entreprise | — |
-| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:82` | formation Symfony en entreprise | — |
+| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:340` | formations Symfony en entreprise | - |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:301` | formations Symfony | - |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:358` | formations Symfony en entreprise | - |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:347` | formations Symfony en entreprise | - |
+| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:410` | formation professionnelle | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:200` | Formation Symfony entreprise | - |
+| 🟡 Partiel | `src\app\page.tsx:96` | formations Symfony en entreprise | - |
+| 🟡 Partiel | `src\app\secteur\renfort-equipe\page.tsx:327` | formation Symfony | - |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:111` | formation Symfony en entreprise | - |
+| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:100` | formations Symfony en entreprise | - |
+| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:81` | formation Symfony en entreprise | - |
+| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:74` | formation Symfony certifiante | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:92` | formations Symfony en entreprise | - |
+| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:16` | formations Symfony en entreprise | - |
+| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:82` | formation Symfony en entreprise | - |
---
@@ -2754,17 +2754,17 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 7
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 2 sémantique → exact · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:182` | visibilité dans les moteurs IA (GEO) | — |
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:308` | offre dédiée d'optimisation GEO | — |
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:440` | GEO - Optimisation IA Rendez votre site visible dans ChatGPT, Perplexity et les AI Overviews de Google grâce au Generative Engine Optimization. | — |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:207` | GEO et optimisation IA | — |
-| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:95` | optimisation pour les moteurs IA | — |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:107` | GEO et optimisation IA | — |
-| ✅ Sémantique | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:89` | GEO et optimisation IA | — |
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:182` | visibilité dans les moteurs IA (GEO) | - |
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:308` | offre dédiée d'optimisation GEO | - |
+| ✅ Sémantique | `src\app\expertise-ia\page.tsx:440` | GEO - Optimisation IA Rendez votre site visible dans ChatGPT, Perplexity et les AI Overviews de Google grâce au Generative Engine Optimization. | - |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:207` | GEO et optimisation IA | - |
+| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:95` | optimisation pour les moteurs IA | - |
+| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:107` | GEO et optimisation IA | - |
+| ✅ Sémantique | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:89` | GEO et optimisation IA | - |
---
@@ -2774,15 +2774,15 @@ Exact match : **60%** · Partiel : **0%** · Sémantique : **40%** · Total : 5
*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
> 🔧 Actions : 2 exact → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:14` | Green IT | — |
-| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:109` | Green IT | — |
-| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:48` | page Green IT | — |
-| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:74` | page Green IT | — |
-| 🔵 Exact | `content\blog\ecosia-preservateur-decologie.mdx:79` | Green IT | — |
+| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:14` | Green IT | - |
+| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:109` | Green IT | - |
+| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:48` | page Green IT | - |
+| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:74` | page Green IT | - |
+| 🔵 Exact | `content\blog\ecosia-preservateur-decologie.mdx:79` | Green IT | - |
---
@@ -2792,27 +2792,27 @@ Exact match : **47%** · Partiel : **6%** · Sémantique : **47%** · Total : 17
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
> 🔧 Actions : 3 exact → partiel · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:556` | hébergement optimisé | — |
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:317` | déploiement en production | — |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:209` | hébergement dédié | — |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:333` | hébergement adapté | — |
-| 🟡 Partiel | `src\app\integration-redis-symfony\page.tsx:269` | hébergement Symfony optimisé | — |
-| 🔵 Exact | `src\app\secteur\e-commerce\page.tsx:294` | hébergement Symfony | — |
-| 🔵 Exact | `src\app\secteur\saas\page.tsx:197` | hébergement Symfony | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:56` | hébergement managé | — |
-| 🔵 Exact | `content\blog\concretement-cest-quoi-frankenphp.mdx:39` | hébergement Symfony | — |
-| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:228` | hébergement fiable | — |
-| 🔵 Exact | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:242` | hébergement Symfony | — |
-| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:81` | hébergement Symfony | — |
-| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:34` | hébergement responsable | — |
-| 🔵 Exact | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:187` | hébergement Symfony | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:66` | hébergement | — |
-| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:177` | hébergement Symfony | — |
-| 🔵 Exact | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:97` | hébergement Symfony | — |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:556` | hébergement optimisé | - |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:318` | déploiement en production | - |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:210` | hébergement dédié | - |
+| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:334` | hébergement adapté | - |
+| 🟡 Partiel | `src\app\integration-redis-symfony\page.tsx:270` | hébergement Symfony optimisé | - |
+| 🔵 Exact | `src\app\secteur\e-commerce\page.tsx:294` | hébergement Symfony | - |
+| 🔵 Exact | `src\app\secteur\saas\page.tsx:197` | hébergement Symfony | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:56` | hébergement managé | - |
+| 🔵 Exact | `content\blog\concretement-cest-quoi-frankenphp.mdx:39` | hébergement Symfony | - |
+| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:228` | hébergement fiable | - |
+| 🔵 Exact | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:242` | hébergement Symfony | - |
+| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:81` | hébergement Symfony | - |
+| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:34` | hébergement responsable | - |
+| 🔵 Exact | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:192` | hébergement Symfony | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:66` | hébergement | - |
+| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:177` | hébergement Symfony | - |
+| 🔵 Exact | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:97` | hébergement Symfony | - |
---
@@ -2822,21 +2822,21 @@ Exact match : **0%** · Partiel : **36%** · Sémantique : **64%** · Total : 11
*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
> 🔧 Actions : 3 partiel → exact · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:500` | Docker | — |
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:552` | Docker | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:529` | Docker | — |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:538` | intégration Docker | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:512` | Docker | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:196` | Docker et Symfony | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:41` | Docker | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:64` | Docker | — |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:28` | intégration de Docker dans un projet Symfony | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:60` | Docker | — |
-| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:87` | Docker et Symfony en production | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:500` | Docker | - |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:552` | Docker | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:529` | Docker | - |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:538` | intégration Docker | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:512` | Docker | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:196` | Docker et Symfony | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:41` | Docker | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:64` | Docker | - |
+| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:28` | intégration de Docker dans un projet Symfony | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:60` | Docker | - |
+| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:87` | Docker et Symfony en production | - |
---
@@ -2846,19 +2846,19 @@ Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 9
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 3 partiel → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:548` | Elasticsearch | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:544` | Elasticsearch | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:534` | Elasticsearch | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:527` | recherche Elasticsearch | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:199` | Elasticsearch et Symfony | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | Elasticsearch | — |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:33` | intégration d'Elasticsearch dans Symfony | — |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:141` | intégration d'Elasticsearch avec Symfony | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | Elasticsearch pour la recherche | — |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:548` | Elasticsearch | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:544` | Elasticsearch | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:534` | Elasticsearch | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:527` | recherche Elasticsearch | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:199` | Elasticsearch et Symfony | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | Elasticsearch | - |
+| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:33` | intégration d'Elasticsearch dans Symfony | - |
+| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:141` | intégration d'Elasticsearch avec Symfony | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | Elasticsearch pour la recherche | - |
---
@@ -2868,19 +2868,19 @@ Exact match : **0%** · Partiel : **22%** · Sémantique : **78%** · Total : 9
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:544` | Redis | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:540` | Redis | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:530` | Redis | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:523` | cache Redis | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:198` | Redis et Symfony | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | Redis | — |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | Redis pour le cache | — |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:56` | Redis | — |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:27` | intégration de Redis avec Symfony | — |
+| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:544` | Redis | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:540` | Redis | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:530` | Redis | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:523` | cache Redis | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:198` | Redis et Symfony | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | Redis | - |
+| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | Redis pour le cache | - |
+| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:56` | Redis | - |
+| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:27` | intégration de Redis avec Symfony | - |
---
@@ -2888,11 +2888,11 @@ Exact match : **0%** · Partiel : **22%** · Sémantique : **78%** · Total : 9
> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\contact\page.tsx:102` | En savoir plus sur l'agence | — |
+| ✅ Sémantique | `src\app\contact\page.tsx:102` | En savoir plus sur l'agence | - |
---
@@ -2902,31 +2902,31 @@ Exact match : **38%** · Partiel : **57%** · Sémantique : **5%** · Total : 21
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 2 exact → sémantique · 6 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:193` | maintenir | — |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:491` | maintenance applicative | — |
-| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:477` | maintenance applicative | — |
-| 🔵 Exact | `src\app\migration-symfony\page.tsx:367` | maintenance applicative Symfony | — |
-| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:439` | maintenance applicative Symfony | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:417` | Maintenance applicative → | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:175` | Maintenance applicative Symfony | — |
-| 🟡 Partiel | `src\app\page.tsx:88` | maintenance applicative | — |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:367` | maintenance applicative | — |
-| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:468` | maintenance applicative | — |
-| 🔵 Exact | `src\app\reprise-projet-symfony\page.tsx:446` | maintenance applicative Symfony | — |
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:194` | maintenance applicative | — |
-| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:292` | maintenance applicative | — |
-| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:183` | maintenance applicative | — |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:82` | maintenance applicative | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:67` | maintenance applicative | — |
-| 🔵 Exact | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:73` | maintenance applicative Symfony | — |
-| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:59` | maintenance applicative Symfony | — |
-| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:70` | maintenance applicative Symfony | — |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | maintenance applicative Symfony | — |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:72` | maintenance applicative | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:193` | maintenir | - |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:491` | maintenance applicative | - |
+| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:477` | maintenance applicative | - |
+| 🔵 Exact | `src\app\migration-symfony\page.tsx:368` | maintenance applicative Symfony | - |
+| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:440` | maintenance applicative Symfony | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:418` | Maintenance applicative → | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:175` | Maintenance applicative Symfony | - |
+| 🟡 Partiel | `src\app\page.tsx:88` | maintenance applicative | - |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:367` | maintenance applicative | - |
+| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:468` | maintenance applicative | - |
+| 🔵 Exact | `src\app\reprise-projet-symfony\page.tsx:447` | maintenance applicative Symfony | - |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:194` | maintenance applicative | - |
+| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:292` | maintenance applicative | - |
+| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:183` | maintenance applicative | - |
+| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:82` | maintenance applicative | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:67` | maintenance applicative | - |
+| 🔵 Exact | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:73` | maintenance applicative Symfony | - |
+| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:59` | maintenance applicative Symfony | - |
+| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:70` | maintenance applicative Symfony | - |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | maintenance applicative Symfony | - |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:72` | maintenance applicative | - |
---
@@ -2936,26 +2936,26 @@ Exact match : **50%** · Partiel : **44%** · Sémantique : **6%** · Total : 16
*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
> 🔧 Actions : 3 exact → sémantique · 2 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:521` | migration de versions Symfony | — |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:374` | migration Symfony | — |
-| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:289` | refonte et migration sous Symfony | — |
-| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:421` | migration Symfony | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:376` | Migration Symfony → | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:172` | Migration Symfony | — |
-| ✅ Sémantique | `src\app\page.tsx:92` | migration vers les dernières versions LTS | — |
-| 🔵 Exact | `src\app\reprise-projet-symfony\page.tsx:436` | migration Symfony | — |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | migration technique vers Symfony | — |
-| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:107` | migration Symfony | — |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:115` | accompagnement migration Symfony | — |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:45` | migration Symfony clé en main | — |
-| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:14` | migration Symfony | — |
-| 🔵 Exact | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:208` | migration Symfony | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:73` | migration vers une version LTS de Symfony | — |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | migration Symfony | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:521` | migration de versions Symfony | - |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:375` | migration Symfony | - |
+| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:290` | refonte et migration sous Symfony | - |
+| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:422` | migration Symfony | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:377` | Migration Symfony → | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:172` | Migration Symfony | - |
+| ✅ Sémantique | `src\app\page.tsx:92` | migration vers les dernières versions LTS | - |
+| 🔵 Exact | `src\app\reprise-projet-symfony\page.tsx:437` | migration Symfony | - |
+| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | migration technique vers Symfony | - |
+| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:107` | migration Symfony | - |
+| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:115` | accompagnement migration Symfony | - |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:50` | migration Symfony clé en main | - |
+| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:14` | migration Symfony | - |
+| 🔵 Exact | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:208` | migration Symfony | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:73` | migration vers une version LTS de Symfony | - |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | migration Symfony | - |
---
@@ -2965,25 +2965,25 @@ Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 15
*Après correction → Exact match : **33%** · Partiel : **27%** · Sémantique : **40%***
> 🔧 Actions : 5 partiel → exact
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:287` | modernisation d'applications PHP | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:318` | Notre offre de modernisation PHP | — |
-| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:297` | moderniser | — |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:348` | modernisation d'application PHP | — |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:335` | Modernisation PHP → | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:173` | Modernisation d'application PHP | — |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:427` | modernisation d'application PHP | — |
-| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:311` | modernisation progressive | — |
-| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:189` | modernise vos applications legacy | — |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:170` | modernisation d'application PHP | — |
-| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:45` | modernisation d'applications PHP | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:20` | agence spécialisée en modernisation d'applications PHP | — |
-| ✅ Sémantique | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:97` | moderniser leur application PHP | — |
-| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:142` | modernisation de l'application PHP | — |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:263` | modernisation d'application PHP | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:287` | modernisation d'applications PHP | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:318` | Notre offre de modernisation PHP | - |
+| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:298` | moderniser | - |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:349` | modernisation d'application PHP | - |
+| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:336` | Modernisation PHP → | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:173` | Modernisation d'application PHP | - |
+| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:428` | modernisation d'application PHP | - |
+| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:311` | modernisation progressive | - |
+| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:189` | modernise vos applications legacy | - |
+| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:170` | modernisation d'application PHP | - |
+| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:45` | modernisation d'applications PHP | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:20` | agence spécialisée en modernisation d'applications PHP | - |
+| ✅ Sémantique | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:97` | moderniser leur application PHP | - |
+| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:142` | modernisation de l'application PHP | - |
+| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:263` | modernisation d'application PHP | - |
---
@@ -2993,22 +2993,22 @@ Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 12
*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
> 🔧 Actions : 2 exact → partiel · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:349` | mise à niveau de vos systèmes | — |
-| ✅ Sémantique | `src\app\developpement-php\page.tsx:239` | modernisation d'applications legacy | — |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:356` | modernisation applicative | — |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:170` | Amélioration de vos logiciels existants | — |
-| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:274` | Adaptation de vos outils aux standards actuels | — |
-| 🔵 Exact | `content\blog\code-mort-mission-elimination.mdx:105` | modernisation applicative | — |
-| 🔵 Exact | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:246` | modernisation applicative | — |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:107` | modernisation de vos outils | — |
-| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:94` | modernisation applicative | — |
-| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:14` | modernisation de vos applications | — |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:13` | modernisation applicative | — |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | modernisation applicative | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:349` | mise à niveau de vos systèmes | - |
+| ✅ Sémantique | `src\app\developpement-php\page.tsx:240` | modernisation d'applications legacy | - |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:357` | modernisation applicative | - |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:170` | Amélioration de vos logiciels existants | - |
+| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:274` | Adaptation de vos outils aux standards actuels | - |
+| 🔵 Exact | `content\blog\code-mort-mission-elimination.mdx:105` | modernisation applicative | - |
+| 🔵 Exact | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:246` | modernisation applicative | - |
+| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:107` | modernisation de vos outils | - |
+| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:94` | modernisation applicative | - |
+| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:14` | modernisation de vos applications | - |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:13` | modernisation applicative | - |
+| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | modernisation applicative | - |
---
@@ -3016,11 +3016,11 @@ Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 12
> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:480` | références clients | — |
+| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:480` | références clients | - |
---
@@ -3030,24 +3030,24 @@ Exact match : **7%** · Partiel : **7%** · Sémantique : **86%** · Total : 14
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 1 partiel → exact · 2 sémantique → exact · 4 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:199` | experts Symfony | — |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:186` | expertise Symfony de référence | — |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:186` | expertise Symfony de référence | — |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:184` | spécialistes Symfony | — |
-| ✅ Sémantique | `src\app\contact\page.tsx:97` | Découvrir nos expertises techniques | — |
-| ✅ Sémantique | `src\app\la-team\page.tsx:138` | Découvrir nos expertises → | — |
-| ✅ Sémantique | `src\app\la-team\page.tsx:184` | Découvrir nos services → | — |
-| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:421` | développement Symfony | — |
-| ✅ Sémantique | `src\app\secteur\page.tsx:333` | expertise transversale | — |
-| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:267` | expertise technique | — |
-| ✅ Sémantique | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:102` | expertise technique | — |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:103` | Efficience IT | — |
-| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:112` | notre expertise Symfony | — |
-| 🔵 Exact | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | notre expertise | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:199` | experts Symfony | - |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:186` | expertise Symfony de référence | - |
+| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:186` | expertise Symfony de référence | - |
+| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:184` | spécialistes Symfony | - |
+| ✅ Sémantique | `src\app\contact\page.tsx:97` | Découvrir nos expertises techniques | - |
+| ✅ Sémantique | `src\app\la-team\page.tsx:138` | Découvrir nos expertises → | - |
+| ✅ Sémantique | `src\app\la-team\page.tsx:184` | Découvrir nos services → | - |
+| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:421` | développement Symfony | - |
+| ✅ Sémantique | `src\app\secteur\page.tsx:333` | expertise transversale | - |
+| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:267` | expertise technique | - |
+| ✅ Sémantique | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:102` | expertise technique | - |
+| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:103` | Efficience IT | - |
+| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:112` | notre expertise Symfony | - |
+| 🔵 Exact | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | notre expertise | - |
---
@@ -3055,11 +3055,11 @@ Exact match : **7%** · Partiel : **7%** · Sémantique : **86%** · Total : 14
> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\components\ui\CookieConsent.tsx:47` | En savoir plus | — |
+| ✅ Sémantique | `src\components\ui\CookieConsent.tsx:47` | En savoir plus | - |
---
@@ -3067,11 +3067,11 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:33` | pourquoi nous choisir | — |
+| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:33` | pourquoi nous choisir | - |
---
@@ -3081,12 +3081,12 @@ Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:277` | notre processus de collaboration | — |
-| 🟡 Partiel | `src\components\sections\ProcessSteps.tsx:63` | notre processus de collaboration | — |
+| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:277` | notre processus de collaboration | - |
+| 🟡 Partiel | `src\components\sections\ProcessSteps.tsx:63` | notre processus de collaboration | - |
---
@@ -3096,24 +3096,24 @@ Exact match : **0%** · Partiel : **79%** · Sémantique : **21%** · Total : 14
*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
> 🔧 Actions : 4 partiel → exact · 3 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:277` | reprise de projets Symfony | — |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:525` | reprise de projets | — |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:332` | Notre service de reprise de projets Symfony | — |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:359` | reprise de projet Symfony | — |
-| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:430` | reprise de projet Symfony | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:299` | Reprise de projet Symfony → | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:174` | Reprise de projet Symfony | — |
-| 🟡 Partiel | `src\app\page.tsx:103` | reprise de projets Symfony | — |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:14` | reprise de projet Symfony | — |
-| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:105` | reprendre un projet en main | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:20` | reprendre des projets | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:69` | reprise de projet Symfony | — |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:78` | Reprendre un projet en dette technique | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:92` | reprise de projets Symfony | — |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:277` | reprise de projets Symfony | - |
+| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:525` | reprise de projets | - |
+| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:332` | Notre service de reprise de projets Symfony | - |
+| 🟡 Partiel | `src\app\migration-symfony\page.tsx:360` | reprise de projet Symfony | - |
+| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:431` | reprise de projet Symfony | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:300` | Reprise de projet Symfony → | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:174` | Reprise de projet Symfony | - |
+| 🟡 Partiel | `src\app\page.tsx:103` | reprise de projets Symfony | - |
+| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:14` | reprise de projet Symfony | - |
+| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:105` | reprendre un projet en main | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:20` | reprendre des projets | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:69` | reprise de projet Symfony | - |
+| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:78` | Reprendre un projet en dette technique | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:92` | reprise de projets Symfony | - |
---
@@ -3121,11 +3121,11 @@ Exact match : **0%** · Partiel : **79%** · Sémantique : **21%** · Total : 14
> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:303` | secteurs d'activité | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:303` | secteurs d'activité | - |
---
@@ -3135,12 +3135,12 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:297` | API sur mesure | — |
-| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:314` | intégration d'API | — |
+| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:297` | API sur mesure | - |
+| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:314` | intégration d'API | - |
---
@@ -3150,18 +3150,18 @@ Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 2 sémantique → exact · 3 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:261` | spécialistes du secteur e-commerce | — |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:213` | E-commerce | — |
-| ✅ Sémantique | `src\app\secteur\page.tsx:307` | e-commerce Sylius | — |
-| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:275` | e-commerce | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | e-commerce | — |
-| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | projets e-commerce | — |
-| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:18` | secteur e-commerce | — |
-| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:84` | secteur e-commerce | — |
+| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:262` | spécialistes du secteur e-commerce | - |
+| ✅ Sémantique | `src\app\notre-expertise\page.tsx:213` | E-commerce | - |
+| ✅ Sémantique | `src\app\secteur\page.tsx:307` | e-commerce Sylius | - |
+| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:275` | e-commerce | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | e-commerce | - |
+| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | projets e-commerce | - |
+| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:18` | secteur e-commerce | - |
+| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:84` | secteur e-commerce | - |
---
@@ -3171,18 +3171,18 @@ Exact match : **38%** · Partiel : **0%** · Sémantique : **63%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 1 exact → partiel · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:216` | Finance | — |
-| ✅ Sémantique | `src\app\secteur\page.tsx:314` | conformité bancaire | — |
-| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:282` | finance | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | secteur financier | — |
-| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | finance | — |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:49` | entreprises du secteur financier | — |
-| ✅ Sémantique | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:99` | secteur financier | — |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:19` | conformité dans la finance | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:216` | Finance | - |
+| ✅ Sémantique | `src\app\secteur\page.tsx:314` | conformité bancaire | - |
+| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:282` | finance | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | secteur financier | - |
+| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | finance | - |
+| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:49` | entreprises du secteur financier | - |
+| ✅ Sémantique | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:99` | secteur financier | - |
+| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:19` | conformité dans la finance | - |
---
@@ -3192,18 +3192,18 @@ Exact match : **38%** · Partiel : **0%** · Sémantique : **63%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 1 exact → partiel · 2 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:290` | secteur industriel | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:214` | Industrie | — |
-| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:289` | industrie | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | industrielle | — |
-| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | industrie | — |
-| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:258` | outils métier industriels | — |
-| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:18` | secteur industriel | — |
-| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:223` | applications industrielles | — |
+| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:290` | secteur industriel | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:214` | Industrie | - |
+| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:289` | industrie | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | industrielle | - |
+| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | industrie | - |
+| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:258` | outils métier industriels | - |
+| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:18` | secteur industriel | - |
+| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:223` | applications industrielles | - |
---
@@ -3213,13 +3213,13 @@ Exact match : **33%** · Partiel : **0%** · Sémantique : **67%** · Total : 3
*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
> 🔧 Actions : 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:312` | suivi de vos systèmes | — |
-| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:324` | maintenance de vos applications | — |
-| 🔵 Exact | `src\app\secteur\securite-conformite\page.tsx:326` | maintenance applicative | — |
+| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:312` | suivi de vos systèmes | - |
+| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:324` | maintenance de vos applications | - |
+| 🔵 Exact | `src\app\secteur\securite-conformite\page.tsx:326` | maintenance applicative | - |
---
@@ -3229,12 +3229,12 @@ Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 2
*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
> 🔧 Actions : 1 exact → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:316` | modernisation | — |
-| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:307` | migration legacy | — |
+| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:316` | modernisation | - |
+| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:307` | migration legacy | - |
---
@@ -3244,18 +3244,18 @@ Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 8
*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
> 🔧 Actions : 2 exact → partiel · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:215` | SaaS | — |
-| ✅ Sémantique | `src\app\secteur\page.tsx:321` | SaaS multi-tenant | — |
-| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:296` | SaaS | — |
-| 🔵 Exact | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | SaaS | — |
-| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | SaaS | — |
-| ✅ Sémantique | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:44` | produit SaaS | — |
-| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:177` | plateformes SaaS | — |
-| ✅ Sémantique | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:102` | application SaaS | — |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:215` | SaaS | - |
+| ✅ Sémantique | `src\app\secteur\page.tsx:321` | SaaS multi-tenant | - |
+| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:296` | SaaS | - |
+| 🔵 Exact | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | SaaS | - |
+| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | SaaS | - |
+| ✅ Sémantique | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:44` | produit SaaS | - |
+| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:177` | plateformes SaaS | - |
+| ✅ Sémantique | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:102` | application SaaS | - |
---
@@ -3265,22 +3265,22 @@ Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 12
*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
> 🔧 Actions : 4 partiel → exact · 1 sémantique → partiel
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
| Statut | Fichier | Ancre actuelle | Ancre proposée |
|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:480` | sécurité applicative | — |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:185` | Sécurité applicative Symfony | — |
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:300` | couche de sécurité | — |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:280` | sécurité de votre application | — |
-| 🟡 Partiel | `src\app\secteur\securite-conformite\page.tsx:184` | sécurise vos applications Symfony | — |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:58` | Sécurité applicative | — |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:89` | sécurité applicative | — |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:34` | sécurité applicative Symfony | — |
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:19` | sécurité applicative Symfony | — |
-| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:58` | sécurité applicative | — |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:86` | Sécurité applicative | — |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:70` | sécurité applicative Symfony | — |
+| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:480` | sécurité applicative | - |
+| 🟡 Partiel | `src\app\notre-expertise\page.tsx:185` | Sécurité applicative Symfony | - |
+| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:300` | couche de sécurité | - |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:280` | sécurité de votre application | - |
+| 🟡 Partiel | `src\app\secteur\securite-conformite\page.tsx:184` | sécurise vos applications Symfony | - |
+| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:58` | Sécurité applicative | - |
+| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:89` | sécurité applicative | - |
+| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:34` | sécurité applicative Symfony | - |
+| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:19` | sécurité applicative Symfony | - |
+| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:58` | sécurité applicative | - |
+| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:86` | Sécurité applicative | - |
+| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:70` | sécurité applicative Symfony | - |
---
@@ -3290,47 +3290,47 @@ Exact match : **19%** · Partiel : **68%** · Sémantique : **14%** · Total : 3
*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
> 🔧 Actions : 4 partiel → exact · 10 partiel → sémantique
-> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\agence-symfony-nantes\page.tsx:355` | tests automatisés PHP | — |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:549` | tests automatisés | — |
-| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:344` | tests automatisés | — |
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:340` | tests automatisés | — |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:381` | tests automatisés PHP | — |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:341` | Tests automatisés PHP → | — |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:183` | Tests automatisés PHP | — |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:334` | revue de code et des tests automatisés | — |
-| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:383` | tests automatisés | — |
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:304` | tests automatisés | — |
-| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:284` | tester exhaustivement | — |
-| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:298` | tests automatisés | — |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:316` | tests automatisés | — |
-| 🟡 Partiel | `src\app\secteur\saas\page.tsx:301` | approche par tests automatisés | — |
-| 🟡 Partiel | `src\app\secteur\securite-conformite\page.tsx:286` | tests automatisés | — |
-| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:209` | tests automatisés | — |
-| ✅ Sémantique | `content\blog\coding-conventions.mdx:86` | stratégie de tests | — |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | tests automatisés | — |
-| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | tests automatisés PHP | — |
-| 🔵 Exact | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:120` | tests automatisés PHP | — |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:91` | tests automatisés | — |
-| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:37` | tests automatisés PHP | — |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:36` | tests automatisés | — |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:115` | tests automatisés en PHP | — |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:105` | tests automatisés | — |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:22` | tests automatisés | — |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:39` | tests automatisés | — |
-| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | stratégie de couverture de tests Symfony | — |
-| 🔵 Exact | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | tests automatisés PHP | — |
-| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:164` | stratégie de tests end-to-end et PHPUnit | — |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:44` | tests automatisés | — |
-| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | tests PHPUnit en intégration continue | — |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:43` | tests automatisés | — |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:26` | tests automatisés | — |
-| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:69` | tests automatisés | — |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:397` | tests automatisés | — |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:44` | tests automatisés | — |
+> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
+
+| Statut | Fichier | Ancre actuelle | Ancre proposée |
+|--------|---------|----------------|----------------|
+| 🔵 Exact | `src\app\agence-symfony-nantes\page.tsx:355` | tests automatisés PHP | - |
+| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:549` | tests automatisés | - |
+| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:344` | tests automatisés | - |
+| 🟡 Partiel | `src\app\audit-code-php\page.tsx:341` | tests automatisés | - |
+| 🔵 Exact | `src\app\developpement-php\page.tsx:382` | tests automatisés PHP | - |
+| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:342` | Tests automatisés PHP → | - |
+| 🔵 Exact | `src\app\notre-expertise\page.tsx:183` | Tests automatisés PHP | - |
+| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:334` | revue de code et des tests automatisés | - |
+| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:383` | tests automatisés | - |
+| 🟡 Partiel | `src\app\secteur\finance\page.tsx:304` | tests automatisés | - |
+| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:284` | tester exhaustivement | - |
+| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:298` | tests automatisés | - |
+| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:316` | tests automatisés | - |
+| 🟡 Partiel | `src\app\secteur\saas\page.tsx:301` | approche par tests automatisés | - |
+| 🟡 Partiel | `src\app\secteur\securite-conformite\page.tsx:286` | tests automatisés | - |
+| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:210` | tests automatisés | - |
+| ✅ Sémantique | `content\blog\coding-conventions.mdx:86` | stratégie de tests | - |
+| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | tests automatisés | - |
+| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | tests automatisés PHP | - |
+| 🔵 Exact | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:120` | tests automatisés PHP | - |
+| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:91` | tests automatisés | - |
+| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:37` | tests automatisés PHP | - |
+| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:36` | tests automatisés | - |
+| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:115` | tests automatisés en PHP | - |
+| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:110` | tests automatisés | - |
+| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:22` | tests automatisés | - |
+| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:39` | tests automatisés | - |
+| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | stratégie de couverture de tests Symfony | - |
+| 🔵 Exact | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | tests automatisés PHP | - |
+| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:164` | stratégie de tests end-to-end et PHPUnit | - |
+| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:44` | tests automatisés | - |
+| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | tests PHPUnit en intégration continue | - |
+| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:43` | tests automatisés | - |
+| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:26` | tests automatisés | - |
+| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:69` | tests automatisés | - |
+| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:397` | tests automatisés | - |
+| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:44` | tests automatisés | - |
## Légende
- 🔵 Exact match
diff --git a/scripts/audit-anchor-diversity.ts b/scripts/audit-anchor-diversity.ts
index 92ca1520..b6b34d19 100644
--- a/scripts/audit-anchor-diversity.ts
+++ b/scripts/audit-anchor-diversity.ts
@@ -316,7 +316,7 @@ function printReport(reports: PageReport[], isFullAudit: boolean, lexiconUrls: S
? `global (${_globalTargets.exactMatch}/${_globalTargets.partial}/${_globalTargets.semantic})`
: "fallback 30/30/40";
console.log(`\n${B}═══════════════════════════════════════════════════${X}`);
- console.log(`${B} Audit Diversité des Ancres — ${mode} — Marge : ±${ALERT_MARGIN}%${X}`);
+ console.log(`${B} Audit Diversité des Ancres - ${mode} - Marge : ±${ALERT_MARGIN}%${X}`);
console.log(`${B}═══════════════════════════════════════════════════${X}`);
console.log(`\n${B} Objectif cible par page (depuis lexicon URL > ${globalNote})${X}`);
console.log(` ${G}Exact match${X} ex: "audit Symfony gratuit"`);
@@ -337,14 +337,14 @@ function printReport(reports: PageReport[], isFullAudit: boolean, lexiconUrls: S
const emColor = report.exactMatch.pct > DEFAULT_THRESHOLD ? R : G;
console.log(` Exact match : ${emColor}${report.exactMatch.pct}%${X} (${report.exactMatch.count}) cible ~${targets.exactMatch}% ${gap(report.exactMatch.pct, targets.exactMatch)}`);
- console.log(` → ${report.exactMatch.anchors.join(" | ") || "—"}`);
+ console.log(` → ${report.exactMatch.anchors.join(" | ") || "-"}`);
console.log(` Partiel : ${report.partial.pct}% (${report.partial.count}) cible ~${targets.partial}% ${gap(report.partial.pct, targets.partial)}`);
- console.log(` → ${report.partial.anchors.join(" | ") || "—"}`);
+ console.log(` → ${report.partial.anchors.join(" | ") || "-"}`);
console.log(` Semantic : ${C}${report.semantic.pct}%${X} (${report.semantic.count}) cible ~${targets.semantic}% ${gap(report.semantic.pct, targets.semantic)}`);
- console.log(` → ${report.semantic.anchors.slice(0, 5).join(" | ") || "—"}`);
+ console.log(` → ${report.semantic.anchors.slice(0, 5).join(" | ") || "-"}`);
if (isFullAudit && !lexiconUrls.has(report.targetUrl)) {
- console.log(` ${Y}ℹ Catégorisation approximative (lexique inféré) — ajouter cette URL dans le lexicon pour un résultat précis.${X}`);
+ console.log(` ${Y}ℹ Catégorisation approximative (lexique inféré) - ajouter cette URL dans le lexicon pour un résultat précis.${X}`);
}
if (report.alert) {
@@ -378,7 +378,7 @@ function buildSection(
const statusIcon = r.alert ? "⚠️" : "✅";
const inLexicon = lexiconUrls.has(r.targetUrl);
const note = !inLexicon
- ? "\n> ⚠️ Catégorisation approximative — ajouter dans `.docs/reference/anchor-lexicon.md`.\n"
+ ? "\n> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.\n"
: "";
const targets = getTargets(lexicon[r.targetUrl]);
@@ -390,9 +390,9 @@ function buildSection(
};
const tableRows = (): string => {
- if (r.total === 0) return `| — | — | — | — |`;
+ if (r.total === 0) return `| - | - | - | - |`;
return r.occurrences
- .map((o) => `| ${categoryLabel[o.category]} | \`${o.file}:${o.line}\` | ${o.anchorText} | — |`)
+ .map((o) => `| ${categoryLabel[o.category]} | \`${o.file}:${o.line}\` | ${o.anchorText} | - |`)
.join("\n");
};
@@ -468,7 +468,7 @@ function writeRevisionPlan(
].join("\n");
const output = [
- `# Plan de révision des ancres — ${date}`,
+ `# Plan de révision des ancres - ${date}`,
"",
`> ${alerts.length} page(s) en alerte sur ${reports.length} auditées.`,
"",
From 07b53e4f387db534a4a8e5620a1b02d7f222430d Mon Sep 17 00:00:00 2001
From: unknown
Date: Thu, 21 May 2026 10:06:25 +0200
Subject: [PATCH 7/7] revert h3 + modification du script pour durcir + sortie
du rapport du repo
---
.docs/reference/anchor-revision-plan.md | 3338 -----------------
.gitignore | 3 +
...se-contre-la-montre-pour-sortir-un-mvp.mdx | 2 +-
scripts/audit-anchor-diversity.ts | 13 +-
src/app/agence-symfony-france/page.tsx | 2 +-
.../maintenance-applicative-symfony/page.tsx | 2 +-
src/app/notre-expertise/page.tsx | 2 +-
src/app/secteur/application-metier/page.tsx | 2 +-
src/app/secteur/migration-legacy/page.tsx | 2 +-
9 files changed, 19 insertions(+), 3347 deletions(-)
delete mode 100644 .docs/reference/anchor-revision-plan.md
diff --git a/.docs/reference/anchor-revision-plan.md b/.docs/reference/anchor-revision-plan.md
deleted file mode 100644
index 95a76581..00000000
--- a/.docs/reference/anchor-revision-plan.md
+++ /dev/null
@@ -1,3338 +0,0 @@
-# Plan de révision des ancres - 2026-05-11
-
-> 1 page(s) en alerte sur 142 auditées.
-
-## Acceptance criteria
-
-- [ ] Script d'audit opérationnel
-- [ ] Rapport initial produit
-- [ ] Aucune page hub au-dessus du seuil après révision
-- [ ] Lexique à jour (`docs/anchor-lexicon.md`)
-
----
-
-## Détail par page
-
-## ⚠️ Pages en alerte
-
-### `/plan-du-site` ⚠️
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **100%** · Partiel : **0%** · Sémantique : **0%** · Total : 1
-*Après correction → Exact match : **0%** · Partiel : **0%** · Sémantique : **100%***
-> 🔧 Actions : 1 exact → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\components\layout\Footer.tsx:164` | Plan du site | - |
-
----
-
-## Pages OK
-
-### `/accompagnement-et-conseil` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **38%** · Partiel : **31%** · Sémantique : **31%** · Total : 13
-*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
-> 🔧 Actions : 1 exact → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:456` | expertise en accompagnement et conseil | - |
-| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:475` | Accompagnement et Conseil Audit technique, formation Symfony et coaching agile pour structurer vos projets et monter en compétences. | - |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:663` | Accompagnement et Conseil Audit technique, formation Symfony et coaching agile pour structurer vos projets et monter en compétences. | - |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:429` | Accompagnement et Conseil Coaching technique, formation Symfony et audit de code pour accompagner vos équipes dans leur montée en compétences. | - |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:224` | Aide à la prise de décision stratégique | - |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:103` | appui stratégique | - |
-| 🔵 Exact | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:80` | accompagnement et conseil | - |
-| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:101` | accompagnement et conseil | - |
-| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:75` | pilotage stratégique | - |
-| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:122` | accompagnement et conseil | - |
-| 🔵 Exact | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:40` | accompagnement et conseil | - |
-| 🔵 Exact | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:13` | accompagnement et conseil | - |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:82` | expertise stratégique | - |
-
----
-
-### `/agence-symfony-france` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **10%** · Partiel : **70%** · Sémantique : **20%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:223` | Prestataire Symfony en France | - |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:171` | agence 100 % spécialisée Symfony | - |
-| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:244` | agence de développement Symfony | - |
-| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:67` | France | - |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:20` | agence Symfony | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:20` | agence Symfony spécialisée | - |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:23` | agence spécialisée Symfony | - |
-| 🔵 Exact | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:11` | agence Symfony en France | - |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:84` | prestataire Symfony en France | - |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:18` | agence spécialisée Symfony | - |
-
----
-
-### `/agence-symfony-lille` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **86%** · Sémantique : **14%** · Total : 14
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:363` | agence Symfony à Lille | - |
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:391` | Lille - Siège social | - |
-| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:242` | agence Symfony à Lille | - |
-| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:332` | agence Symfony à Lille | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:222` | Agence Symfony à Lille | - |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:459` | agence Symfony à Lille | - |
-| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:284` | spécialisée Symfony | - |
-| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:51` | agence Symfony à Lille | - |
-| 🟡 Partiel | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:24` | agence Symfony à Lille | - |
-| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:18` | agence Symfony à Lille | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | agence Symfony à Lille | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:27` | notre agence Symfony à Lille | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:63` | agence Symfony lilloise | - |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:31` | agence Symfony à Lille | - |
-
----
-
-### `/agence-symfony-lyon` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:187` | Lyon | - |
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:415` | Lyon - Auvergne-Rhône-Alpes | - |
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:59` | Lyon | - |
-
----
-
-### `/agence-symfony-nantes` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:191` | Nantes | - |
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:427` | Nantes - Pays de la Loire | - |
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:63` | Nantes | - |
-
----
-
-### `/agence-symfony-paris` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:183` | Paris | - |
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:403` | Paris - Île-de-France | - |
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:55` | Paris | - |
-
----
-
-### `/api-nodejs-nestjs` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-nodejs\page.tsx:317` | API avec NestJS | - |
-| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:77` | API NestJS | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:46` | NestJS | - |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:90` | developpement API avec NestJS | - |
-
----
-
-### `/api-sur-mesure-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **7%** · Partiel : **11%** · Sémantique : **81%** · Total : 27
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
-> 🔧 Actions : 3 partiel → exact · 3 sémantique → exact · 8 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:470` | API REST et GraphQL | - |
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:294` | développement d'API sur mesure | - |
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:529` | API sur mesure | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:514` | API REST et GraphQL avec API Platform | - |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:336` | développement d'API sur mesure avec Symfony | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:519` | conception d'API sur mesure avec API Platform | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:501` | API Platform | - |
-| ✅ Sémantique | `src\app\api-nodejs-nestjs\page.tsx:401` | API avec Symfony et API Platform | - |
-| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:206` | APIs Symfony | - |
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:212` | APIs Symfony | - |
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:339` | API Symfony | - |
-| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:206` | APIs Symfony | - |
-| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:322` | API Platform | - |
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:281` | API Platform pour les API REST | - |
-| ✅ Sémantique | `src\app\formation-symfony-entreprise\page.tsx:344` | développement d'API avec Symfony | - |
-| 🔵 Exact | `src\app\integration-elasticsearch-symfony\page.tsx:261` | API sur mesure Symfony | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:194` | API sur mesure Symfony | - |
-| ✅ Sémantique | `src\app\page.tsx:84` | conception d'API sur mesure avec API Platform | - |
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:183` | API sur mesure | - |
-| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:270` | expertise API sur mesure | - |
-| ✅ Sémantique | `src\app\secteur\saas\page.tsx:190` | API sur mesure | - |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:108` | développement d'API sur mesure avec Symfony | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:113` | API sur mesure avec Symfony | - |
-| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:250` | architecture asynchrone Symfony | - |
-| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:17` | developpement d'API Symfony | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:52` | API Platform | - |
-| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | API Symfony événementielles | - |
-
----
-
-### `/architecture-hexagonale-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **18%** · Partiel : **71%** · Sémantique : **11%** · Total : 28
-*Après correction → Exact match : **29%** · Partiel : **32%** · Sémantique : **39%***
-> 🔧 Actions : 3 partiel → exact · 8 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:316` | architecture hexagonale avec Symfony | - |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:536` | architectures hexagonales | - |
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:348` | architecture hexagonale | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:383` | Architecture hexagonale → | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:184` | Architecture hexagonale Symfony | - |
-| ✅ Sémantique | `src\app\page.tsx:73` | architecture modulaire | - |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:385` | architecture hexagonale | - |
-| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:285` | architecture hexagonale | - |
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:186` | architecture hexagonale | - |
-| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:274` | architecture hexagonale | - |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:306` | architecture hexagonale | - |
-| 🟡 Partiel | `src\app\secteur\renfort-equipe\page.tsx:180` | architecture hexagonale | - |
-| 🟡 Partiel | `src\app\secteur\saas\page.tsx:182` | architecture hexagonale | - |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:311` | architecture | - |
-| 🟡 Partiel | `src\components\sections\AboutPreview.tsx:44` | architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:43` | architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:77` | architecture hexagonale | - |
-| 🔵 Exact | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:394` | architecture hexagonale Symfony | - |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:69` | architecture découplée | - |
-| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:268` | architecture hexagonale Symfony | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:67` | architecture hexagonale avec Symfony | - |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:87` | architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:35` | architecture hexagonale | - |
-| 🔵 Exact | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:106` | architecture hexagonale Symfony | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:53` | architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:42` | architecture hexagonale | - |
-| 🔵 Exact | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | architecture hexagonale Symfony | - |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:82` | architecture hexagonale | - |
-
----
-
-### `/article/7-bonnes-raisons-de-rejoindre-efficience-it` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **50%** · Partiel : **50%** · Sémantique : **0%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 exact → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\la-team\page.tsx:212` | 7 bonnes raisons de rejoindre Efficience IT | - |
-| 🟡 Partiel | `src\components\seo\GonePage.tsx:35` | 7 raisons de choisir Efficience IT | - |
-
----
-
-### `/article/ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:345` | manifeste des applications web | - |
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:413` | Améliorer l'expérience utilisateur grâce au manifeste des applications web | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:86` | expérience utilisateur | - |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:253` | Améliorer l'expérience utilisateur grâce au manifeste des applications web | - |
-| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:96` | le manifeste des applications web | - |
-| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:72` | le manifeste des applications web | - |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | améliorer l'expérience utilisateur grâce au manifeste des applications web | - |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:48` | amélioration de l'expérience utilisateur avec le manifeste des applications web | - |
-
----
-
-### `/article/api-rest-les-bonnes-pratiques` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **81%** · Sémantique : **19%** · Total : 26
-*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
-> 🔧 Actions : 8 partiel → exact · 5 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:433` | bonnes pratiques API REST | - |
-| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:349` | bonnes pratiques API REST | - |
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:307` | bonnes pratiques REST | - |
-| 🟡 Partiel | `src\app\developpement-react\page.tsx:356` | APIs REST selon les bonnes pratiques | - |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:399` | bonnes pratiques API REST | - |
-| 🟡 Partiel | `src\app\secteur\api-integration\page.tsx:272` | bonnes pratiques REST | - |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | API REST respectant les bonnes pratiques | - |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:88` | bonnes pratiques REST | - |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:114` | les bonnes pratiques REST | - |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:251` | API REST : les bonnes pratiques | - |
-| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:25` | API REST bien structurée | - |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:81` | API REST bien structurées | - |
-| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:39` | APIs sur mesure à fort trafic | - |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:107` | Les bonnes pratiques de conception d'API REST | - |
-| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:39` | bonnes pratiques des API REST | - |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:33` | bonnes pratiques des API REST | - |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:195` | API REST : les bonnes pratiques | - |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:331` | API REST : les bonnes pratiques | - |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:65` | bonnes pratiques des API REST | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:111` | les bonnes pratiques des API REST | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:35` | bonnes pratiques des API REST | - |
-| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:46` | API REST bien conçues | - |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:65` | API REST | - |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:142` | bonnes pratiques REST | - |
-| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:17` | bonnes pratiques des API REST | - |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:15` | bonnes pratiques des API REST | - |
-
----
-
-### `/article/arrives-au-max-des-id-int-2147483647` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | la migration des ID INT vers BIGINT | - |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:198` | Arrivés au max des ID INT | - |
-| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:20` | arriver au max des ID INT | - |
-
----
-
-### `/article/cahier-des-charges-application-web-guide-complet` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:274` | cahier des charges solide | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:75` | cahier des charges | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:94` | cahier des charges | - |
-
----
-
-### `/article/claude-assistant-architecture-symfony-legacy` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:273` | Claude comme assistant d'architecture | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | l'utilisation de Claude comme assistant d'architecture Symfony legacy | - |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:101` | Claude comme assistant d'architecture Symfony legacy | - |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:64` | un CLAUDE.md bien structuré transforme la qualité des suggestions | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:72` | utilisation de Claude comme assistant d'architecture Symfony | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:535` | Claude comme assistant d'architecture Symfony | - |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:22` | Claude comme assistant d'architecture | - |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:271` | Claude comme assistant d'architecture Symfony | - |
-
----
-
-### `/article/code-mort-mission-elimination` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 11
-*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
-> 🔧 Actions : 3 partiel → exact · 5 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:323` | code mort | - |
-| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:294` | code mort | - |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:122` | Code mort : mission élimination | - |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:91` | code mort dans vos projets | - |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:33` | code mort qui alourdit le projet | - |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:102` | code mort | - |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | éliminer le code mort dans vos projets PHP | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:40` | code mort | - |
-| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:126` | code mort | - |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:311` | Éliminer le code mort dans vos projets PHP | - |
-| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:60` | code mort | - |
-
----
-
-### `/article/coding-conventions` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **4%** · Partiel : **0%** · Sémantique : **96%** · Total : 28
-*Après correction → Exact match : **29%** · Partiel : **32%** · Sémantique : **39%***
-> 🔧 Actions : 7 sémantique → exact · 9 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-code-php\page.tsx:370` | conventions de code | - |
-| ✅ Sémantique | `src\app\tests-automatises-php\page.tsx:287` | conventions de code | - |
-| ✅ Sémantique | `content\blog\api-rest-les-bonnes-pratiques.mdx:32` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:22` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:244` | conventions de codage PHP et Symfony | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | conventions de code | - |
-| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:25` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:127` | conventions de codage PHP | - |
-| ✅ Sémantique | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:64` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:27` | conventions de codage pour un code maintenable | - |
-| ✅ Sémantique | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:376` | conventions de codage formalisées | - |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:38` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:72` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:52` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:80` | Les conventions de code : un socle pour la qualité | - |
-| ✅ Sémantique | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:197` | Les conventions de codage | - |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:38` | conventions de code | - |
-| 🔵 Exact | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:95` | Coding conventions | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | conventions de code | - |
-| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:277` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:109` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:164` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:21` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:73` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:47` | conventions de codage | - |
-| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:81` | conventions de code | - |
-| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:17` | conventions de code | - |
-
----
-
-### `/article/commandes-invocables-symfony-attributs-console` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | commandes console | - |
-| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:21` | commande console | - |
-| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:48` | commandes invocables | - |
-
----
-
-### `/article/comment-choisir-son-prestataire-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 2
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:34` | choisir son prestataire Symfony | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:90` | prestataire spécialisé | - |
-
----
-
-### `/article/comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **9%** · Partiel : **91%** · Sémantique : **0%** · Total : 11
-*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
-> 🔧 Actions : 2 partiel → exact · 5 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:258` | L'intégration des tests API dans GitLab CI | - |
-| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:381` | Postman via Newman dans GitLab CI | - |
-| 🔵 Exact | `content\blog\api-rest-les-bonnes-pratiques.mdx:114` | Comment exécuter des tests Postman avec Newman dans GitLab CI | - |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:18` | automatisent déjà leurs tests d'API avec Newman en CI/CD | - |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:139` | Tests Postman avec Newman dans GitLab CI | - |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:81` | mise en place d'outils comme Newman dans une CI | - |
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:41` | l'exécution de tests Postman avec Newman dans GitLab CI | - |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:49` | tests Postman avec Newman dans GitLab CI | - |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:112` | automatisent déjà leurs tests d'API avec Newman en CI/CD | - |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:160` | tests d'API via Newman | - |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:168` | Tests d'API avec Newman dans GitLab CI | - |
-
----
-
-### `/article/comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 7
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 2 partiel → exact · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:234` | se former à la sécurité informatique | - |
-| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:274` | former vos équipes à la sécurité informatique | - |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:128` | Former vos équipes à la sécurité informatique efficacement | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:99` | former vos équipes à la sécurité informatique | - |
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:155` | Former vos équipes à la sécurité informatique | - |
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:62` | former vos équipes à la sécurité informatique | - |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:93` | Former vos équipes à la sécurité informatique efficacement | - |
-
----
-
-### `/article/comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **4%** · Partiel : **25%** · Sémantique : **71%** · Total : 48
-*Après correction → Exact match : **29%** · Partiel : **31%** · Sémantique : **40%***
-> 🔧 Actions : 12 partiel → exact · 15 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:490` | comment PHPStan améliore la qualité de votre code | - |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:498` | comment PHPStan améliore la qualité de votre code PHP | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:525` | PHPStan au niveau maximal | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:545` | analyse statique PHPStan | - |
-| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:337` | PHPStan améliore la qualité de votre code PHP | - |
-| ✅ Sémantique | `src\app\audit-code-php\page.tsx:266` | PHPStan | - |
-| 🟡 Partiel | `src\app\developpement-php\page.tsx:290` | découvrez comment PHPStan améliore la qualité de votre code PHP | - |
-| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:257` | découvrez comment PHPStan peut améliorer la qualité de votre code PHP | - |
-| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:355` | PHPStan | - |
-| ✅ Sémantique | `src\app\modernisation-application-php\page.tsx:357` | PHPStan | - |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:252` | PHPStan | - |
-| ✅ Sémantique | `src\app\reprise-projet-symfony\page.tsx:297` | PHPStan | - |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:299` | PHPStan | - |
-| ✅ Sémantique | `src\app\tests-automatises-php\page.tsx:245` | PHPStan | - |
-| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:15` | notre guide sur PHPStan et l'amélioration de la qualité du code PHP | - |
-| ✅ Sémantique | `content\blog\coding-conventions.mdx:84` | PHPStan | - |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:120` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | PHPStan | - |
-| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:90` | outillage d'analyse statique comme PHPStan | - |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:49` | PHPStan avec des règles de sécurité personnalisées | - |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:108` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
-| ✅ Sémantique | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:68` | PHPStan | - |
-| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:249` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
-| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:81` | analyseurs statiques | - |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:137` | PHPStan détecte les erreurs de typage | - |
-| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:42` | PHPStan | - |
-| ✅ Sémantique | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:368` | PHPStan comme gardien d'architecture | - |
-| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:89` | analyse statique comme PHPStan | - |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:61` | PHPStan | - |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | PHPStan | - |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:123` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
-| ✅ Sémantique | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:41` | analyse statique avec PHPStan | - |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:84` | PHPStan | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:40` | PHPStan | - |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:59` | PHPStan | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | PHPStan | - |
-| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:190` | Comment PHPStan peut améliorer la qualité de votre code PHP | - |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:14` | comment PHPStan peut améliorer la qualité de votre code PHP | - |
-| ✅ Sémantique | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:25` | PHPStan | - |
-| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:129` | Comment PHPStan peut vous aider à améliorer la qualité de votre code PHP | - |
-| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:89` | PHPStan | - |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:198` | Comment PHPStan peut vous aider à améliorer la qualité de votre code PHP | - |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2024.mdx:43` | analyse statique avec PHPStan | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | PHPStan | - |
-| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:21` | PHPStan | - |
-| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:57` | PHPStan | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:64` | PHPStan | - |
-| ✅ Sémantique | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:30` | PHPStan | - |
-
----
-
-### `/article/comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:145` | Comment produire la documentation sur votre projet Symfony avec l'approche Diataxis | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:85` | approche Diataxis | - |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:65` | documentation Symfony avec l'approche Diataxis | - |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:97` | Documentation Symfony avec l'approche Diataxis | - |
-
----
-
-### `/article/comment-rediger-un-cahier-de-charge-pour-un-projet-agile` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 6
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 2 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:28` | la rédaction d'un cahier des charges agile | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:59` | méthodologie agile | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:77` | approche agile | - |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:75` | cahier des charges agile | - |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:36` | cahier des charges | - |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:112` | Comment rédiger un cahier des charges pour un projet Agile | - |
-
----
-
-### `/article/comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **64%** · Sémantique : **36%** · Total : 11
-*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
-> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-symfony-gratuit\page.tsx:384` | notre méthodologie d'audit | - |
-| ✅ Sémantique | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:163` | notre processus d'audit technique | - |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:56` | un audit technique chez Efficience IT | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:121` | Audit web chez Efficience IT : méthode, critères et contenu | - |
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:157` | Audit web chez Efficience IT : méthode, critères et contenu | - |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:118` | Audit web chez Efficience IT : méthode, critères et contenu | - |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:84` | audit web structuré | - |
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:81` | Comment se passe un audit chez Efficience IT ? | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:34` | comment se passe un audit chez Efficience IT | - |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:142` | audit de code avant la migration | - |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:70` | Comment se passe un audit chez Efficience IT | - |
-
----
-
-### `/article/comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:100` | le bundle Alice Faker dans vos projets Symfony | - |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:59` | Alice et Faker dans vos projets Symfony | - |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:35` | bundle Alice Faker | - |
-| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:166` | Le bundle Alice et Faker dans vos projets Symfony | - |
-
----
-
-### `/article/concretement-cest-quoi-frankenphp` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **18%** · Sémantique : **82%** · Total : 11
-*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
-> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:427` | FrankenPHP | - |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:275` | ce qu'est FrankenPHP | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:28` | FrankenPHP | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:64` | FrankenPHP | - |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:62` | FrankenPHP | - |
-| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:163` | FrankenPHP | - |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:193` | Concrètement : c'est quoi FrankenPHP ? | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:87` | FrankenPHP concrètement | - |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:48` | FrankenPHP | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:60` | FrankenPHP | - |
-| ✅ Sémantique | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:27` | FrankenPHP | - |
-
----
-
-### `/article/core-team-organisation-projet` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:61` | organisation en core team | - |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:142` | Core Team : structurer une équipe projet | - |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:108` | Core Team : structurer une équipe projet | - |
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:81` | Core Team : structurer une équipe projet | - |
-
----
-
-### `/article/cve-comprendre-les-failles-pour-mieux-se-proteger` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **8%** · Sémantique : **92%** · Total : 25
-*Après correction → Exact match : **32%** · Partiel : **28%** · Sémantique : **40%***
-> 🔧 Actions : 2 partiel → exact · 6 sémantique → exact · 7 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-code-php\page.tsx:332` | CVE connues | - |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:184` | vulnérabilités connues | - |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:412` | CVE | - |
-| ✅ Sémantique | `src\app\secteur\finance\page.tsx:313` | CVE | - |
-| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:270` | failles de sécurité | - |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:278` | CVE publiée | - |
-| ✅ Sémantique | `src\app\securite-application-symfony\page.tsx:267` | découvrez notre guide sur les CVE | - |
-| ✅ Sémantique | `content\blog\api-rest-les-bonnes-pratiques.mdx:78` | failles CVE | - |
-| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:35` | failles CVE | - |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:17` | CVE publiées sur des bibliothèques connues | - |
-| ✅ Sémantique | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:47` | CVE connues | - |
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:21` | les failles CVE et comment s'en protéger | - |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:121` | CVE : comprendre les failles de sécurité et protéger les applications web | - |
-| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:115` | se prémunir contre les failles de sécurité | - |
-| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:42` | les failles CVE et leur fonctionnement | - |
-| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:18` | les CVE et la compréhension des failles de sécurité | - |
-| ✅ Sémantique | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:35` | vulnérabilités de sécurité (CVE) | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:86` | CVE | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:70` | gestion des CVE | - |
-| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:88` | les failles CVE et leur impact | - |
-| ✅ Sémantique | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:175` | CVE et des failles de sécurité | - |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:23` | vulnérabilités (CVE) dans l'arbre de dépendances | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:78` | gestion des CVE | - |
-| ✅ Sémantique | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:43` | CVE connues | - |
-| ✅ Sémantique | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:79` | vulnérabilités connues (CVE) | - |
-
----
-
-### `/article/dbtoolsbundle-anonymiser-vos-bases-de-donnees` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **70%** · Sémantique : **30%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:292` | bases de données de recette sont anonymisées | - |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:192` | anonymisation des données | - |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:319` | anonymisation | - |
-| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:331` | anonymisation des bases de données | - |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:39` | DbToolsBundle pour anonymiser vos données de test | - |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:180` | DbToolsBundle : anonymiser vos bases de données | - |
-| ✅ Sémantique | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:72` | gestion des secrets dans un projet Symfony | - |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:107` | DbToolsBundle : anonymiser vos bases de données | - |
-| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:231` | DbToolsBundle propose une solution dédiée à l'anonymisation des bases de données | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:119` | DbToolsBundle : anonymiser vos bases de données | - |
-
----
-
-### `/article/decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **40%** · Partiel : **60%** · Sémantique : **0%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 exact → sémantique · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:105` | Pourquoi nous confier la maintenance de vos applications web | - |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:114` | Maintenance d’applications web : pourquoi nous choisir | - |
-| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:121` | Découvrez les raisons de nous confier la maintenance de vos applications web | - |
-| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:111` | Découvrez les raisons de nous confier la maintenance de vos applications web | - |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | maintenance de vos applications web | - |
-
----
-
-### `/article/deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 7
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 2 partiel → exact · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\hebergement-symfony\page.tsx:281` | le déploiement automatisé avec GitLab CI, S3 et CloudFront | - |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:125` | le déploiement Nuxt.js avec GitLab CI | - |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:126` | Déployer Nuxt.js avec GitLab CI : S3 et CloudFront | - |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:94` | le déploiement de Nuxt.js avec GitLab CI, S3 et CloudFront | - |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:95` | Déployer Nuxt.js avec GitLab CI : S3 et CloudFront | - |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:31` | déploiement de Nuxt.js avec CloudFront | - |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:105` | Déployer NuxtJS avec GitLab CI, S3 et CloudFront | - |
-
----
-
-### `/article/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:87` | MVP Doctavis en un temps record | - |
-| 🟡 Partiel | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:78` | Doctavis et Efficience IT : une course contre la montre pour sortir un MVP | - |
-| ✅ Sémantique | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:136` | Doctavis, un MVP livré en un temps record | - |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:143` | Doctavis et Efficience IT : une course contre la montre pour sortir un MVP | - |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:40` | Doctavis et Efficience IT | - |
-
----
-
-### `/article/doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 19
-*Après correction → Exact match : **32%** · Partiel : **32%** · Sémantique : **37%***
-> 🔧 Actions : 6 sémantique → exact · 6 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\base-de-donnees-postgresql-symfony\page.tsx:267` | Découvrez ce qui change avec Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:423` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:178` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | Doctrine correctement | - |
-| ✅ Sémantique | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:17` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:145` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:33` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:176` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:197` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:93` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:162` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:58` | Doctrine | - |
-| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:43` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:61` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:12` | Doctrine | - |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:409` | Doctrine ORM 3.0 | - |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2023.mdx:37` | Doctrine | - |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:35` | Doctrine | - |
-| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:107` | Doctrine | - |
-
----
-
-### `/article/domain-ne-devrait-jamais-connaitre-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **71%** · Sémantique : **29%** · Total : 17
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
-> 🔧 Actions : 5 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:265` | pourquoi le domaine ne devrait jamais connaître Symfony | - |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:226` | domaine métier de Symfony | - |
-| ✅ Sémantique | `src\app\secteur\saas\page.tsx:289` | domaine métier du framework | - |
-| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:248` | architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:346` | Pourquoi votre Domain ne devrait jamais connaître Symfony | - |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:218` | domaine qui ne devrait jamais connaître Symfony | - |
-| ✅ Sémantique | `content\blog\core-team-organisation-projet.mdx:53` | séparation des responsabilités en architecture logicielle | - |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:184` | event listener Doctrine | - |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:65` | le domaine ne devrait jamais connaître Symfony | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:43` | isoler le domaine de Symfony | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:110` | Le domaine ne devrait jamais connaître Symfony | - |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:258` | Le domaine ne devrait jamais connaître Symfony | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:538` | Le domaine ne devrait jamais connaître Symfony | - |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:95` | domaine ne devrait jamais connaître Symfony | - |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:68` | le domaine ne devrait jamais connaître Symfony | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:18` | le domaine ne devrait jamais connaître Symfony | - |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:32` | l'architecture hexagonale où le domaine ne connaît pas le framework | - |
-
----
-
-### `/article/easy-admin-vs-forest-admin-differences-et-avantages` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:39` | comparaison entre EasyAdmin et Forest Admin | - |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:87` | EasyAdmin présente des avantages différents de Forest Admin | - |
-
----
-
-### `/article/eco-conception-un-ideal-en-marche-ou-une-illusion-durable` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **25%** · Sémantique : **75%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 2 partiel → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\green-it\page.tsx:91` | L'éco-conception | - |
-| ✅ Sémantique | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | éco-conception | - |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:96` | Éco-conception : un idéal en marche ou une illusion durable ? | - |
-| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:46` | l'éco-conception numérique | - |
-| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:102` | l'éco-conception web | - |
-| ✅ Sémantique | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:67` | conception responsable et l'éco-conception des sites web | - |
-| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:85` | l'éco-conception web | - |
-| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:99` | L'éco-conception : un idéal en marche ? | - |
-
----
-
-### `/article/ecosia-preservateur-decologie` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\green-it\page.tsx:208` | Ecosia | - |
-| ✅ Sémantique | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:100` | Ecosia, le moteur de recherche qui finance la reforestation | - |
-
----
-
-### `/article/express-fastify-hono-quel-framework-nodejs-choisir` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **83%** · Sémantique : **17%** · Total : 6
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:166` | frameworks Node.js Express, Fastify et Hono | - |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:94` | Express, Fastify ou Hono | - |
-| ✅ Sémantique | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:36` | frameworks Node.js | - |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:46` | Express, Fastify et Hono | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:95` | frameworks Node.js comme Express, Fastify ou Hono | - |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:90` | comparatif Express, Fastify et Hono | - |
-
----
-
-### `/article/forces-et-faiblesses-des-ia-generatives-les-plus-utilisees` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **22%** · Partiel : **78%** · Sémantique : **0%** · Total : 9
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 partiel → exact · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:346` | forces et faiblesses des IA génératives | - |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:286` | forces et faiblesses des IA génératives | - |
-| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:81` | forces et faiblesses des IA génératives | - |
-| 🔵 Exact | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:11` | forces et faiblesses des IA génératives les plus utilisées | - |
-| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:27` | forces des IA génératives actuelles | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:127` | IA génératives : forces et faiblesses | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:118` | forces et faiblesses des IA génératives | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:536` | Forces et faiblesses des IA génératives | - |
-| 🔵 Exact | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:37` | forces et faiblesses des IA génératives les plus utilisées | - |
-
----
-
-### `/article/geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:304` | GEO appliqué aux applications Symfony | - |
-| ✅ Sémantique | `src\app\geo-optimisation-ia\page.tsx:274` | GEO appliqué aux applications web | - |
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:404` | GEO : rendre votre application visible dans les moteurs IA | - |
-| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:70` | visibilité responsable dans les moteurs IA | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:102` | GEO : rendre votre application Symfony visible dans les moteurs IA | - |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:89` | GEO pour rendre une application Symfony visible dans les moteurs IA | - |
-| ✅ Sémantique | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:77` | GEO pour les moteurs IA | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:201` | GEO : rendre son application visible dans les moteurs IA | - |
-
----
-
-### `/article/guide-de-migration-dans-un-projet-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **35%** · Partiel : **43%** · Sémantique : **22%** · Total : 23
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **39%***
-> 🔧 Actions : 1 exact → sémantique · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\migration-symfony\page.tsx:259` | guide de migration dans un projet Symfony | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:372` | guides de migration | - |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:371` | guide de migration Symfony | - |
-| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:290` | calendrier officiel | - |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:179` | Guide de migration Symfony | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:82` | montées de version | - |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:93` | guide de migration structuré | - |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | migrer votre projet vers Symfony 7.4 | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:53` | montées de version | - |
-| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:108` | Guide de migration dans un projet Symfony | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:42` | guide de migration Symfony | - |
-| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:120` | Guide de migration dans un projet Symfony | - |
-| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:90` | guide de migration structuré | - |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:66` | guide de migration Symfony | - |
-| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:109` | Guide de migration dans un projet Symfony | - |
-| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:167` | guide de migration dans un projet Symfony | - |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:67` | guide de migration Symfony | - |
-| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:273` | Guide de migration dans un projet Symfony | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:38` | guide de migration Symfony | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:76` | migrations entre versions | - |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | guide de migration dans un projet Symfony | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:83` | montées de version régulières | - |
-| 🔵 Exact | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:102` | guide de migration dans un projet Symfony | - |
-
----
-
-### `/article/la-dette-technique-faut-il-vraiment-en-avoir-peur` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 37
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
-> 🔧 Actions : 11 partiel → exact · 15 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:192` | dette technique | - |
-| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:281` | dette technique | - |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:336` | dette technique | - |
-| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:280` | dette technique | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:138` | dette technique | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:193` | dette technique | - |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:261` | dette technique | - |
-| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:279` | dette technique | - |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:177` | dette technique | - |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:78` | dette technique | - |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:12` | dette technique accumulée | - |
-| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:43` | dette technique, dont les conséquences méritent d'être anticipées | - |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:121` | La dette technique : faut-il vraiment en avoir peur ? | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:86` | dette technique | - |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:103` | dette technique | - |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:97` | dette technique structurelle | - |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:106` | La dette technique : faut-il vraiment en avoir peur ? | - |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:87` | dette technique | - |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:24` | la dette technique et ses impacts réels | - |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:92` | dette technique | - |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:119` | La dette technique | - |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:76` | dette technique | - |
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:82` | La dette technique : faut-il vraiment en avoir peur ? | - |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:94` | La dette technique : faut-il vraiment en avoir peur ? | - |
-| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:136` | dette technique | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:113` | dette technique | - |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:148` | dette technique | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:33` | dette technique | - |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:44` | dette technique | - |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:79` | dette technique | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:102` | gestion de la dette technique | - |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:71` | La dette technique : faut-il vraiment en avoir peur ? | - |
-| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:199` | La dette technique : faut-il vraiment en avoir peur ? | - |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:34` | dette technique | - |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:263` | la dette technique et comment l'apprivoiser | - |
-| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:51` | dette technique | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:350` | dette technique | - |
-
----
-
-### `/article/la-fondation-php-souffle-ses-trois-bougies` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 partiel → exact · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:69` | la Fondation PHP a soufflé ses trois bougies | - |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:147` | La Fondation PHP fête ses 3 ans | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:76` | Fondation PHP | - |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2023.mdx:73` | PHP Foundation | - |
-| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:37` | contributions de la Fondation PHP | - |
-
----
-
-### `/article/la-methode-du-canard-en-plastique-le-secret-des-developpeurs` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:68` | méthode du canard en plastique | - |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:47` | méthode du canard en plastique | - |
-
----
-
-### `/article/le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\la-team\page.tsx:219` | chocoblast | - |
-| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:64` | le Chocoblast, notre approche ludique de la sensibilisation par le jeu | - |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:61` | le Chocoblast illustre comment la gamification peut rendre la sensibilisation à la sécurité plus engageante | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:120` | Le Chocoblast : un premier pas vers la sécurité par le jeu | - |
-
----
-
-### `/article/les-6-etapes-pour-monter-en-competences-sur-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **41%** · Partiel : **41%** · Sémantique : **18%** · Total : 17
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
-> 🔧 Actions : 2 exact → sémantique · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\accompagnement-et-conseil\page.tsx:347` | les 6 étapes pour monter en compétences sur Symfony | - |
-| 🔵 Exact | `src\app\formation-symfony-entreprise\page.tsx:321` | les 6 étapes pour monter en compétences sur Symfony | - |
-| 🔵 Exact | `src\components\seo\GonePage.tsx:43` | Les 6 étapes pour monter en compétences sur Symfony | - |
-| 🔵 Exact | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:46` | les 6 étapes pour monter en compétences sur Symfony | - |
-| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:322` | tests automatisés | - |
-| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:36` | parcours en 6 étapes pour monter en compétences sur Symfony | - |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:30` | monter en compétences sur un framework | - |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:75` | montée en compétences se fait par étapes | - |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:100` | monter en compétences sur Symfony | - |
-| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:74` | programmes de montée en compétences | - |
-| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:126` | Les 6 étapes pour monter en compétences sur Symfony | - |
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:75` | 6 étapes pour monter en compétences sur Symfony | - |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:96` | la montée en compétence sur un framework | - |
-| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:86` | 6 étapes pour monter en compétences sur Symfony | - |
-| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:116` | Les 6 étapes pour monter en compétences sur Symfony | - |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:16` | 6 étapes pour monter en compétences sur Symfony | - |
-| 🔵 Exact | `content\blog\symfony-pour-les-moldus.mdx:86` | Les 6 étapes pour monter en compétences sur Symfony | - |
-
----
-
-### `/article/les-bundles-les-plus-utilises-dans-les-projets-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **22%** · Partiel : **67%** · Sémantique : **11%** · Total : 18
-*Après correction → Exact match : **28%** · Partiel : **33%** · Sémantique : **39%***
-> 🔧 Actions : 1 partiel → exact · 5 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:451` | Notre utilisation rigoureuse des bundles Symfony | - |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:249` | bundles Symfony incontournables | - |
-| 🔵 Exact | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:247` | Les bundles les plus utilisés dans les projets Symfony | - |
-| 🔵 Exact | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:156` | Les bundles les plus utilisés dans les projets Symfony | - |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:70` | bundles les plus utilisés dans les projets Symfony | - |
-| 🟡 Partiel | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:17` | bundles les plus utilisés dans les projets Symfony | - |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:19` | bundles dans l'écosystème Symfony | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:31` | bundles les plus utilisés dans les projets Symfony | - |
-| 🔵 Exact | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:119` | Les bundles les plus utilisés dans les projets Symfony | - |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:112` | bundles communautaires | - |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:17` | bundles les plus utilisés dans les projets Symfony | - |
-| 🟡 Partiel | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:21` | bundles les plus utilisés dans les projets Symfony | - |
-| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:164` | Les bundles les plus utilisés dans les projets Symfony | - |
-| 🟡 Partiel | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:48` | bundles les plus utilisés dans les projets Symfony | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | bundles habituels | - |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:104` | Les bundles les plus utilisés dans Symfony | - |
-| 🟡 Partiel | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:90` | bundles les plus utilisés dans les projets Symfony | - |
-| 🟡 Partiel | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:108` | bundles les plus utilisés dans Symfony | - |
-
----
-
-### `/article/les-certifications-symfony-twig-symfony-sylius` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **85%** · Sémantique : **15%** · Total : 20
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 6 partiel → exact · 5 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:270` | certification de vos équipes sur Symfony | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:268` | les certifications Symfony, Twig et Sylius | - |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:347` | Les certifications Symfony, Twig & Sylius | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:35` | certifications Symfony et Sylius | - |
-| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:74` | certifications Symfony, Twig et Sylius | - |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:67` | certification Symfony | - |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:105` | Les certifications Symfony : Twig et Sylius | - |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:91` | certifications Symfony | - |
-| 🟡 Partiel | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:82` | Les certifications Symfony, Twig et Sylius | - |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:86` | certification des équipes | - |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:195` | Les certifications Symfony, Twig et Sylius | - |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:48` | certifications Symfony, Twig et Sylius | - |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:62` | Les certifications Symfony, Twig et Sylius | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | certifications Symfony, Twig et Sylius | - |
-| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:78` | certification Sylius | - |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:88` | Certifications Sylius | - |
-| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:98` | Les certifications Symfony | - |
-| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:72` | certifications officielles Symfony, Twig et Sylius | - |
-| ✅ Sémantique | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:13` | certifications | - |
-| 🟡 Partiel | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:133` | Les certifications Symfony : Twig et Sylius | - |
-
----
-
-### `/article/les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 6
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\l-entreprise\page.tsx:157` | contributions open source | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:34` | contributions open source | - |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:104` | Le guide des contributions Open Source | - |
-| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:79` | Les contributions open source : un enjeu de taille | - |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:122` | contribuer à l'open source | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:57` | contributions open source | - |
-
----
-
-### `/article/les-evenements-incontournables-de-linnovation-2025` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:46` | événements incontournables de l'innovation 2025 | - |
-| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:27` | événements incontournables de l'innovation 2025 | - |
-
----
-
-### `/article/llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **57%** · Sémantique : **43%** · Total : 7
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 2 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:312` | llms.txt | - |
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:307` | llms.txt est un levier SEO majeur à l'ère de l'IA | - |
-| 🟡 Partiel | `src\app\geo-optimisation-ia\page.tsx:395` | llms.txt : le nouveau levier SEO à l'ère de l'IA | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:101` | LLMs.txt : le nouveau levier SEO à l'ère de l'intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:61` | fichier llms.txt | - |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:174` | fichiers llms.txt pour les moteurs IA | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:203` | LLMs.txt : le nouveau levier SEO à l'ère de l'intelligence artificielle | - |
-
----
-
-### `/article/mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **75%** · Sémantique : **25%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\coding-conventions.mdx:110` | vocabulaire partagé | - |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:124` | Mieux comprendre le vocabulaire des développeurs web | - |
-| 🟡 Partiel | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:36` | vocabulaire technique des développeurs web | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:126` | Mieux comprendre le vocabulaire des développeurs web | - |
-
----
-
-### `/article/migration-mysql-postgresql-doctrine-guide` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\base-de-donnees-postgresql-symfony\page.tsx:202` | Migration MySQL vers PostgreSQL | - |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:14` | migration de MySQL vers PostgreSQL | - |
-| 🟡 Partiel | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:51` | migration MySQL vers PostgreSQL | - |
-
----
-
-### `/article/migration-symfony-architecture-hexagonale-retour-mission` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **96%** · Sémantique : **4%** · Total : 26
-*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
-> 🔧 Actions : 8 partiel → exact · 9 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:269` | Notre retour d'expérience sur la migration vers une architecture hexagonale | - |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:351` | migration vers une architecture hexagonale | - |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:279` | migration vers l'architecture hexagonale sur un projet Symfony en production | - |
-| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:309` | architecture hexagonale | - |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:324` | migration Symfony vers une architecture hexagonale | - |
-| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:411` | architecture hexagonale dans nos migrations Symfony | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:366` | architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:275` | Migration Symfony vers l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:96` | architecture hexagonale bien structurée | - |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:95` | migration vers une architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:398` | Migration Symfony vers l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:71` | dont l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:93` | architecture hexagonale et approches classiques | - |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:85` | retour de mission sur la migration vers l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:120` | Migration Symfony vers l'architecture hexagonale : retour de mission | - |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:77` | architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:196` | migration vers l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:69` | retour d'expérience sur la migration vers une architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:313` | Migration Symfony vers l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:22` | migration vers l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:154` | Migration Symfony vers l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:111` | Migration Symfony vers l'architecture hexagonale | - |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:41` | migrer progressivement | - |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:34` | architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:272` | Migration Symfony vers l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | retour de mission sur la migration vers l'architecture hexagonale | - |
-
----
-
-### `/article/migrer-du-serializer-vers-json-streamer-le-guide-honnete` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:340` | Serializer cède la place à JsonStreamer | - |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:344` | Migrer du Serializer vers JsonStreamer : le guide honnête | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:120` | Migrer du Serializer vers JsonStreamer | - |
-
----
-
-### `/article/moderniser-application-php-legacy-sans-tout-reecrire` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:290` | modernisation progressive | - |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:34` | modernisation d'applications PHP legacy | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:94` | modernisation d'applications PHP legacy | - |
-
----
-
-### `/article/monofony-le-guide-ultime-pour-les-debutants` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **25%** · Sémantique : **75%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:296` | Monofony, le starter kit Sylius pour les applications métier | - |
-| ✅ Sémantique | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:75` | Monofony | - |
-| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:55` | Monofony | - |
-| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:76` | Monofony | - |
-
----
-
-### `/article/monter-en-competence-claude-code` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:131` | Claude Code | - |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:276` | Monter en compétence sur Claude Code | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | guide de montée en compétence Claude Code | - |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:106` | Monter en compétence sur Claude Code | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:77` | montée en compétence sur Claude Code | - |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:18` | Claude Code | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:86` | guide pour monter en compétence sur Claude Code | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:187` | guide pour monter en compétence sur Claude Code | - |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:21` | CLAUDE.md, vos skills et vos hooks | - |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:185` | guide de montée en compétence sur Claude Code | - |
-
----
-
-### `/article/normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:56` | normes d'accessibilité RGAA | - |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:94` | Normes RGAA : les clés d'une expérience utilisateur réussie pour tous | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:60` | RGAA | - |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:109` | Normes RGAA : une expérience utilisateur réussie pour tous | - |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:73` | normes RGAA | - |
-| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:108` | Normes RGAA : une expérience utilisateur réussie pour tous | - |
-| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:58` | conformes aux normes RGAA | - |
-| 🟡 Partiel | `content\blog\ecosia-preservateur-decologie.mdx:78` | Normes RGAA : une expérience utilisateur réussie pour tous | - |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:26` | applications respectant les normes d'accessibilité RGAA | - |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:96` | Les normes RGAA : accessibilité pour tous | - |
-
----
-
-### `/article/php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **38%** · Sémantique : **63%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 2 partiel → exact · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-php\page.tsx:365` | les nouveautés de PHP 9.0 | - |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:115` | PHP 9.0 : ce que vous devez savoir | - |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:75` | changements prévus pour PHP 9.0 | - |
-| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:47` | PHP 9.0 et les changements majeurs à anticiper | - |
-| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:125` | PHP 9.0 et les changements à anticiper | - |
-| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:167` | évolutions de PHP 9.0 | - |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:49` | PHP 9.0 et ce qu'il faut savoir avant la sortie | - |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:101` | PHP 9.0 : ce que vous devez savoir avant la sortie | - |
-
----
-
-### `/article/php-vs-nodejs-quel-langage-backend-choisir` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | comparatif PHP vs Node.js | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:101` | comparatif PHP vs Node.js | - |
-
----
-
-### `/article/phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 6
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 2 partiel → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:17` | PHPStan 2.0 et son niveau 10 | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | PHPStan | - |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:250` | PHPStan 2.0 : niveau 10 et nouvelles fonctionnalités | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:59` | PHPStan | - |
-| ✅ Sémantique | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:277` | PHPStan 2.0 | - |
-| 🟡 Partiel | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:197` | PHPStan 2.0 : niveau 10 et nouvelles fonctionnalités | - |
-
----
-
-### `/article/phpstan-niveau-max-symfony-10-erreurs` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **92%** · Sémantique : **8%** · Total : 12
-*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
-> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:191` | les 10 erreurs les plus courantes détectées par PHPStan au niveau max sur Symfony | - |
-| 🟡 Partiel | `content\blog\code-mort-mission-elimination.mdx:109` | Les 10 erreurs PHPStan niveau max sur Symfony | - |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:86` | PHPStan au niveau max sur un projet Symfony | - |
-| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | PHPStan | - |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:244` | les 10 erreurs PHPStan niveau max sur un projet Symfony | - |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:107` | PHPStan au niveau max sur un projet Symfony | - |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:266` | PHPStan au niveau max | - |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | PHPStan au niveau maximum | - |
-| 🟡 Partiel | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:11` | 10 erreurs PHPStan niveau max sur un projet Symfony | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:43` | analyse statique comme PHPStan niveau max | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:125` | PHPStan niveau max sur Symfony | - |
-| 🟡 Partiel | `content\blog\skills-claude-code-equipe-symfony.mdx:157` | niveau max de PHPStan | - |
-
----
-
-### `/article/phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **92%** · Sémantique : **8%** · Total : 13
-*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
-> 🔧 Actions : 4 partiel → exact · 4 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:102` | éditeur de code adapté à votre workflow | - |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:109` | Quel éditeur de code choisir ? | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:103` | PHPStorm, VS Code, Sublime Text : quel éditeur choisir ? | - |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:125` | Quel éditeur de code choisir : PHPStorm, VSCode, Sublime Text ou NetBeans ? | - |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:79` | PhpStorm, VS Code, Cursor ou Sublime Text | - |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:193` | Quel éditeur de code choisir | - |
-| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:155` | les éditeurs de code disponibles | - |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:169` | Quel éditeur de code choisir | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:18` | quel éditeur de code choisir | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:202` | Quel éditeur de code choisir : PhpStorm, VS Code, Cursor | - |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:94` | Quel éditeur de code choisir ? | - |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:89` | éditeur de code | - |
-| ✅ Sémantique | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:32` | PhpStorm et d'autres IDE | - |
-
----
-
-### `/article/pourquoi-choisir-symfony-pour-vos-projets` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **38%** · Partiel : **27%** · Sémantique : **36%** · Total : 45
-*Après correction → Exact match : **31%** · Partiel : **29%** · Sémantique : **40%***
-> 🔧 Actions : 1 exact → partiel · 2 exact → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:248` | Symfony, le framework PHP de référence | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:311` | Symfony, le framework PHP de référence | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:308` | Symfony, le framework PHP de référence | - |
-| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:261` | les raisons de choisir Symfony | - |
-| ✅ Sémantique | `src\app\api-sur-mesure-symfony\page.tsx:406` | consultez notre article sur le choix de Symfony | - |
-| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:466` | Symfony, le framework PHP de référence | - |
-| ✅ Sémantique | `src\app\l-entreprise\page.tsx:163` | Symfony | - |
-| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:403` | pourquoi choisir Symfony pour vos projets | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:240` | les raisons de choisir Symfony pour vos projets | - |
-| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:24` | Symfony | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:45` | injection de dépendances | - |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:37` | Symfony | - |
-| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:32` | les raisons de choisir Symfony pour vos projets | - |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:59` | les atouts pour les projets web | - |
-| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:119` | Pourquoi choisir Symfony pour vos projets | - |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:72` | les raisons de choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:113` | Pourquoi choisir Symfony pour vos projets | - |
-| 🟡 Partiel | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:59` | le framework à adopter pour vos projets | - |
-| 🔵 Exact | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:87` | Pourquoi choisir Symfony pour vos projets | - |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:109` | vous choisissez Symfony pour votre projet | - |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:14` | Symfony, par sa rigueur structurelle et son écosystème | - |
-| 🔵 Exact | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:102` | pourquoi choisir Symfony pour vos projets | - |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:13` | pourquoi Symfony s'impose pour vos projets | - |
-| 🔵 Exact | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:127` | Pourquoi choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:75` | pourquoi choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:194` | Pourquoi choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:118` | Pourquoi choisir Symfony pour vos projets | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:40` | Symfony | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:25` | choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:194` | Pourquoi choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:95` | Pourquoi choisir Symfony pour vos projets | - |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:58` | Symfony pour le backend PHP | - |
-| ✅ Sémantique | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:45` | Symfony | - |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:94` | Symfony un choix pertinent pour les projets d'envergure | - |
-| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | Symfony | - |
-| 🔵 Exact | `content\blog\retour-sur-lafup-day-2024.mdx:101` | Pourquoi choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:165` | Pourquoi choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:20` | pourquoi choisir Symfony pour vos projets | - |
-| 🔵 Exact | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:88` | Pourquoi choisir Symfony pour vos projets | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:28` | bonnes pratiques | - |
-| 🔵 Exact | `content\blog\symfony-pour-les-moldus.mdx:80` | pourquoi choisir Symfony pour vos projets | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:28` | injection de dépendances | - |
-| 🔵 Exact | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:129` | pourquoi choisir Symfony pour vos projets | - |
-| ✅ Sémantique | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:13` | Symfony | - |
-| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:77` | Symfony pour le développement d'applications métiers | - |
-
----
-
-### `/article/pourquoi-docker-est-indispensable-en-production-aujourdhui` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **64%** · Sémantique : **36%** · Total : 22
-*Après correction → Exact match : **32%** · Partiel : **27%** · Sémantique : **41%***
-> 🔧 Actions : 7 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\cloud-et-devops\page.tsx:309` | conteneurisation avec Docker | - |
-| ✅ Sémantique | `src\app\hebergement-symfony\page.tsx:256` | la conteneurisation avec Docker | - |
-| 🟡 Partiel | `src\app\integration-docker-symfony\page.tsx:267` | pourquoi Docker est indispensable en production | - |
-| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:54` | Docker | - |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:125` | Docker en production | - |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:100` | pourquoi Docker est indispensable en production | - |
-| 🟡 Partiel | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:81` | Docker est utilisé en production | - |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:39` | Docker en production | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:58` | Pourquoi Docker est indispensable en production | - |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:119` | Docker | - |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:250` | Pourquoi Docker est indispensable en production | - |
-| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:94` | Docker en production | - |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:96` | Docker en production | - |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:163` | pourquoi Docker est indispensable en production aujourd'hui | - |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:333` | Pourquoi Docker est indispensable en production aujourd'hui | - |
-| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:136` | Docker | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:63` | Docker en production | - |
-| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:211` | Docker | - |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:166` | Docker | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:87` | pourquoi Docker est indispensable en production | - |
-| ✅ Sémantique | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:77` | Docker | - |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:103` | Pourquoi Docker est indispensable en production | - |
-
----
-
-### `/article/prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **90%** · Sémantique : **10%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\base-de-donnees-postgresql-symfony\page.tsx:275` | notre comparatif int vs UUID vs ULID | - |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:68` | INT, UUID ou ULID ont chacun des implications sur les performances d'index | - |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:153` | INT, UUID ou ULID : quel identifiant choisir pour vos bases de données | - |
-| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:176` | type d'identifiant (INT, UUID ou ULID) | - |
-| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | identifiants de premier plan | - |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:400` | Prendre int, UUID ou ULID pour un index de base de données | - |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:90` | choix entre INT, UUID et ULID | - |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:196` | INT, UUID ou ULID : quel identifiant choisir | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:425` | UUID ou ULID | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:452` | Prendre int, UUID ou ULID pour un index de base de données | - |
-
----
-
-### `/article/qu-est-ce-que-les-psrs-et-a-quoi-servent-ils` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:21` | ce que sont les PSR et à quoi ils servent | - |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:21` | PSRs qui structurent l'écosystème PHP | - |
-| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:33` | PSRs qui structurent l'interopérabilité de l'écosystème PHP | - |
-| ✅ Sémantique | `content\blog\les-contributions-open-source-un-enjeu-de-taille-pour-les-developpeurs-et-les-projets.mdx:61` | PSR en PHP | - |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:11` | PSRs, ces standards de l'écosystème PHP | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:52` | PSR | - |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:24` | PSR (PHP Standards Recommendations) | - |
-| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:64` | conventions PSR | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:28` | PSR | - |
-| 🟡 Partiel | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:124` | Les PSRs et à quoi servent-ils | - |
-
----
-
-### `/article/que-vaut-rest-face-a-son-nouveau-challenger-graphql` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:300` | REST face à GraphQL | - |
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:291` | GraphQL | - |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:54` | les différences entre REST et GraphQL | - |
-| 🟡 Partiel | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:25` | REST et GraphQL | - |
-| ✅ Sémantique | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:125` | GraphQL | - |
-
----
-
-### `/article/quel-assistant-ia-choisir-pour-coder` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **80%** · Sémantique : **20%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 3 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:379` | assistants IA dans le workflow de développement | - |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:266` | choisir et configurer les bons assistants IA | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:63` | guide pratique pour choisir votre assistant IA pour coder | - |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:86` | assistants IA pour coder | - |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:33` | choisir le bon assistant IA pour coder | - |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:100` | Quel assistant IA choisir pour coder ? | - |
-| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:25` | assistants IA pour le code | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:85` | quel assistant IA choisir pour coder en 2026 | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:539` | Quel assistant IA choisir pour coder en 2026 ? | - |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:153` | assistant IA bien configuré | - |
-
----
-
-### `/article/quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 12
-*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
-> 🔧 Actions : 4 partiel → exact · 5 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\developpement-frontend\page.tsx:261` | comparatif des frameworks JavaScript | - |
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:205` | bon framework JavaScript | - |
-| 🟡 Partiel | `src\app\developpement-react\page.tsx:288` | guide comparatif des frameworks JavaScript | - |
-| 🟡 Partiel | `src\app\developpement-vuejs\page.tsx:275` | guide comparatif des frameworks JavaScript | - |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:72` | framework JavaScript | - |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:95` | Quel framework JavaScript choisir ? | - |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:27` | comparer les frameworks JavaScript disponibles | - |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:110` | comparatif des frameworks JavaScript | - |
-| 🟡 Partiel | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | choix du framework JavaScript | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:67` | frameworks JavaScript comme React ou Vue.js | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:119` | Quel framework JavaScript choisir ? | - |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:21` | frameworks JavaScript comme React ou Vue.js | - |
-
----
-
-### `/article/quel-outil-choisir-pour-votre-documentation-technique` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:92` | Quel outil choisir pour votre documentation technique ? | - |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:103` | bon outil de documentation technique | - |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:144` | Quel outil choisir pour votre documentation technique ? | - |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:61` | choix d'un bon outil de documentation technique | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:62` | documentation technique | - |
-
----
-
-### `/article/quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 26
-*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
-> 🔧 Actions : 8 partiel → exact · 10 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:312` | microservices ou monolithe modulaire | - |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:357` | micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:387` | microservices versus monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:102` | micro-service et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:43` | monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\comment-produire-la-documentation-sur-votre-projet-symfony-avec-lapproche-diataxis.mdx:58` | monolithe modulaire et micro-services | - |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:89` | micro-services ou monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:101` | architecture micro-services ou monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:22` | monolithe modulaire ou un ensemble de micro-services | - |
-| 🟡 Partiel | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:84` | le choix d'architecture entre micro-service et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:380` | choisir entre micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:57` | monolithe et microservices | - |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:108` | Monolithe modulaire ou microservices : quelle architecture choisir ? | - |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:60` | micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:274` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | - |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:332` | Quelle architecture choisir entre micro-service ou monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:77` | choix entre micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:169` | choix entre micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:153` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:105` | décision entre micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:121` | Quelle architecture choisir entre micro-service ou monolithe modulaire ? | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:148` | micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:106` | micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:257` | Quelle architecture choisir : micro-service ou monolithe modulaire ? | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:75` | micro-services et monolithe modulaire | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:449` | Quelle architecture choisir : micro-service ou monolithe modulaire ? | - |
-
----
-
-### `/article/quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **71%** · Sémantique : **29%** · Total : 7
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 2 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\integration-elasticsearch-symfony\page.tsx:197` | Symfony Messenger | - |
-| 🟡 Partiel | `src\app\secteur\saas\page.tsx:310` | Symfony Messenger | - |
-| ✅ Sémantique | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:75` | Messenger | - |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:44` | Symfony Messenger utilise pour le transport Doctrine | - |
-| ✅ Sémantique | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:66` | messaging asynchrone dans l'écosystème Symfony | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:112` | Les différences entre Symfony Messenger et PHP Enqueue | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:448` | Symfony Messenger vs PHP-Enqueue | - |
-
----
-
-### `/article/quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **88%** · Sémantique : **13%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 2 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:36` | événements PHP et Symfony | - |
-| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:67` | événements Symfony et PHP et leurs différences | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:103` | Quels événements suivre dans le monde de Symfony et PHP ? | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:100` | Quels événements suivre dans le monde Symfony et PHP ? | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:31` | événements suivre dans le monde Symfony et PHP | - |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:93` | événements à suivre dans le monde Symfony et PHP | - |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:100` | Quels événements suivre dans le monde Symfony et PHP ? | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:66` | conférences PHP et Symfony | - |
-
----
-
-### `/article/quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **20%** · Sémantique : **80%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 partiel → exact · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:158` | progiciels sur mesure | - |
-| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:185` | progiciel dédié | - |
-| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:180` | progiciel sur mesure | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | progiciel | - |
-| 🟡 Partiel | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:83` | avantages d'un progiciel pour votre entreprise | - |
-
----
-
-### `/article/rag-symfony-ai-doctrine-indexer-base-metier` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **70%** · Sémantique : **30%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 3 partiel → exact · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:386` | RAG sur vos données métier | - |
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:243` | RAG (Retrieval-Augmented Generation) sur des données Doctrine | - |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:273` | RAG avec Symfony AI et Doctrine | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:100` | RAG avec Symfony : indexer une base métier avec l'IA | - |
-| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:113` | RAG avec Symfony AI et Doctrine | - |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:136` | l'indexation de données métier pour des agents IA | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:199` | RAG avec Symfony AI et Doctrine | - |
-| 🟡 Partiel | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:125` | RAG avec Symfony AI et Doctrine | - |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:208` | RAG avec Symfony AI et Doctrine | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:451` | RAG avec Symfony AI et Doctrine | - |
-
----
-
-### `/article/rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 27
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
-> 🔧 Actions : 8 partiel → exact · 7 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-code-php\page.tsx:302` | Rector | - |
-| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:362` | Rector | - |
-| ✅ Sémantique | `src\app\migration-symfony\page.tsx:294` | Rector et ses capacités de transformation automatique | - |
-| ✅ Sémantique | `src\app\modernisation-application-php\page.tsx:366` | Rector | - |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:329` | Rector | - |
-| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:24` | Rector | - |
-| 🟡 Partiel | `content\blog\coding-conventions.mdx:116` | Rector permettent d'appliquer les conventions automatiquement sur le code existant | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | Rector | - |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:67` | Rector pour automatiser les montées de version PHP et Symfony | - |
-| ✅ Sémantique | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:22` | Rector peut automatiser cette migration | - |
-| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:100` | Rector pour moderniser votre code Symfony | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:43` | Rector pour automatiser l'évolution du code | - |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:53` | Rector | - |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:52` | Rector | - |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:110` | Rector : maîtrisez l'évolution de votre code Symfony | - |
-| ✅ Sémantique | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:179` | Rector | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:59` | Rector | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:73` | Rector | - |
-| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:106` | Rector permet de maîtriser l'évolution de votre code Symfony | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | Rector | - |
-| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:90` | Rector automatise les transformations répétitives | - |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:312` | Rector : maîtrisez l'évolution de votre code Symfony | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:109` | Rector automatisent l'évolution du code Symfony | - |
-| 🟡 Partiel | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:128` | Rector : maîtriser l'évolution de votre code Symfony | - |
-| ✅ Sémantique | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:138` | Rector | - |
-| ✅ Sémantique | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:91` | migration entre versions majeures de frameworks | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:64` | Rector | - |
-
----
-
-### `/article/retour-sur-lafup-day-2023` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2024.mdx:25` | AFUP Day 2023 | - |
-
----
-
-### `/article/retour-sur-lafup-day-2024` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:28` | retour sur l'AFUP Day 2024 | - |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:60` | Retour sur l'AFUP Day 2024 | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:99` | retour sur l'AFUP Day 2024 | - |
-| ✅ Sémantique | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:23` | AFUP Day 2024 | - |
-| ✅ Sémantique | `content\blog\retour-sur-le-forum-php-2024.mdx:93` | AFUP Day 2024 | - |
-
----
-
-### `/article/retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:88` | retour sur l'AFUP Day 2025 à Lille | - |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:61` | Retour sur l'AFUP Day 2025 Lille | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:93` | retour sur l'AFUP Day 2025 Lille | - |
-| 🟡 Partiel | `content\blog\retour-sur-le-forum-php-2024.mdx:99` | Retour sur l'AFUP Day 2025 Lille | - |
-
----
-
-### `/article/retour-sur-le-forum-php-2024` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **43%** · Partiel : **43%** · Sémantique : **14%** · Total : 7
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 1 exact → sémantique · 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\7-bonnes-raisons-de-rejoindre-efficience-it.mdx:46` | conférences comme le Forum PHP | - |
-| 🔵 Exact | `content\blog\concretement-cest-quoi-frankenphp.mdx:113` | Retour sur le Forum PHP 2024 | - |
-| 🔵 Exact | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:130` | Retour sur le Forum PHP 2024 | - |
-| 🔵 Exact | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:30` | retour sur le Forum PHP 2024 | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:104` | Forum PHP & SymfonyCon 2024 | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:99` | Forum PHP & SymfonyCon 2024 | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2025-lille-php-a-lhonneur-communaute-au-coeur.mdx:67` | Forum PHP & SymfonyCon 2024 | - |
-
----
-
-### `/article/serveurs-mcp-claude-code-developpeurs-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:140` | Serveurs MCP et Claude Code pour les développeurs Symfony | - |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:277` | Serveurs MCP pour développeurs Symfony | - |
-| 🟡 Partiel | `content\blog\monter-en-competence-claude-code.mdx:138` | serveurs MCP pour les développeurs Symfony | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:540` | Serveurs MCP pour développeurs Symfony | - |
-
----
-
-### `/article/skills-claude-code-equipe-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:133` | skills Claude Code | - |
-| 🟡 Partiel | `content\blog\playwright-tests-end-to-end-claude-code.mdx:146` | skills Claude Code | - |
-
----
-
-### `/article/swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **91%** · Sémantique : **9%** · Total : 11
-*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
-> 🔧 Actions : 3 partiel → exact · 4 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:280` | OpenAPI automatique | - |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:94` | documentation automatique via Swagger et Nelmio bundle | - |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:112` | Swagger Nelmio bundle et ses fonctionnalités | - |
-| 🟡 Partiel | `content\blog\bruno-alternative-open-source-postman-tester-api.mdx:69` | Swagger via le bundle Nelmio | - |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:127` | Swagger Nelmio bundle et ses fonctionnalités | - |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:43` | Swagger et NelmioApiDocBundle | - |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:103` | Swagger Nelmio bundle | - |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:335` | Swagger et NelmioApiDocBundle | - |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:27` | documentation Swagger via Nelmio bundle | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:27` | Swagger via NelmioApiDocBundle | - |
-| 🟡 Partiel | `content\blog\quel-outil-choisir-pour-votre-documentation-technique.mdx:98` | Swagger : NelmioBundle et ses fonctionnalités | - |
-
----
-
-### `/article/sylius-la-solution-e-commerce-du-framework-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **67%** · Sémantique : **33%** · Total : 6
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 2 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:251` | pourquoi Sylius est la solution e-commerce de référence pour Symfony | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:162` | plateformes e-commerce Sylius | - |
-| ✅ Sémantique | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:70` | Sylius | - |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | Sylius est la solution e-commerce du framework Symfony | - |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:15` | Sylius, la solution e-commerce du framework Symfony | - |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:62` | Sylius | - |
-
----
-
-### `/article/sylius-vs-prestashop-quelle-solution-e-commerce-choisir` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 2
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:85` | comparatif avec Prestashop | - |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:97` | Sylius vs Prestashop | - |
-
----
-
-### `/article/symfony-ai-projet-legacy-retour-experience` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **82%** · Sémantique : **18%** · Total : 11
-*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
-> 🔧 Actions : 3 partiel → exact · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-ia-entreprise\page.tsx:471` | intégration de l'IA dans les projets Symfony existants | - |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:237` | intégration IA dans un projet Symfony existant | - |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:272` | Symfony AI dans un projet legacy | - |
-| 🟡 Partiel | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:99` | Symfony et IA : retour d'expérience sur un projet legacy | - |
-| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:103` | retour d'expérience sur Symfony AI dans un projet legacy | - |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:99` | Symfony AI dans un projet legacy | - |
-| ✅ Sémantique | `content\blog\monter-en-competence-claude-code.mdx:123` | construire des workflows IA robustes sur des projets existants | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:90` | Symfony et IA dans un projet legacy | - |
-| 🟡 Partiel | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:200` | Symfony AI dans un projet legacy | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:380` | retour d'expérience sur l'intégration de Symfony AI dans un projet legacy | - |
-| ✅ Sémantique | `content\blog\serveurs-mcp-claude-code-developpeurs-symfony.mdx:80` | de l'IA intégrée dans du code legacy | - |
-
----
-
-### `/article/symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:382` | Symfony Insight | - |
-| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:369` | Symfony Insight | - |
-| 🟡 Partiel | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:109` | Symfony Insight : à quoi ça sert et comment le met-on en place ? | - |
-| 🟡 Partiel | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:80` | Symfony Insight | - |
-
----
-
-### `/article/symfony-messenger-colonne-vertebrale-archi-hexagonale` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **81%** · Sémantique : **19%** · Total : 31
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **42%***
-> 🔧 Actions : 9 partiel → exact · 7 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:323` | Symfony Messenger pour les traitements asynchrones | - |
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:460` | architectures hexagonales | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:507` | Messenger pour les traitements asynchrones | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:512` | Messenger pour les traitements asynchrones | - |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:324` | colonne vertébrale d'une architecture hexagonale | - |
-| ✅ Sémantique | `src\app\page.tsx:77` | Messenger pour les traitements asynchrones | - |
-| 🟡 Partiel | `src\app\secteur\api-integration\page.tsx:310` | Symfony Messenger | - |
-| 🟡 Partiel | `src\app\secteur\application-metier\page.tsx:304` | Symfony Messenger | - |
-| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:300` | Symfony Messenger | - |
-| ✅ Sémantique | `content\blog\commandes-invocables-symfony-attributs-console.mdx:340` | Messenger | - |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:345` | Symfony Messenger comme colonne vertébrale d'une archi hexagonale | - |
-| 🟡 Partiel | `content\blog\core-team-organisation-projet.mdx:59` | Symfony Messenger structure les flux de messages | - |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:220` | Symfony Messenger | - |
-| 🟡 Partiel | `content\blog\domain-ne-devrait-jamais-connaitre-symfony.mdx:399` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | - |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:69` | Symfony Messenger | - |
-| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:41` | Messenger | - |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:272` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:77` | Symfony Messenger | - |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:99` | Symfony Messenger | - |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:110` | Symfony Messenger | - |
-| 🟡 Partiel | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:57` | Messenger qui s'appuie sur les événements pour orchestrer l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:29` | Symfony Messenger | - |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:219` | colonne vertébrale d'une architecture CQRS | - |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:256` | Symfony Messenger : colonne vertébrale de l'architecture hexagonale | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:254` | l'architecture hexagonale appliquée à Symfony | - |
-| 🟡 Partiel | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:537` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2023.mdx:59` | Symfony Messenger | - |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:273` | Symfony Messenger : colonne vertébrale de l'archi hexagonale | - |
-| ✅ Sémantique | `content\blog\symfony-pour-les-moldus.mdx:20` | Messenger | - |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:30` | Symfony Messenger | - |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:89` | Symfony Messenger | - |
-
----
-
-### `/article/symfony-pour-les-moldus` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **50%** · Partiel : **33%** · Sémantique : **17%** · Total : 6
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 exact → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:21` | Comprendre Symfony facilement | - |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:128` | Symfony pour débutants | - |
-| 🟡 Partiel | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:117` | Symfony pour les débutants | - |
-| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:20` | Symfony pour les moldus | - |
-| 🔵 Exact | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:152` | Symfony pour les moldus | - |
-| 🔵 Exact | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:20` | Symfony pour les moldus | - |
-
----
-
-### `/article/symfony-vs-laravel-quel-framework-php-choisir` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:40` | article Symfony vs Laravel | - |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | comparatif Symfony vs Laravel | - |
-
----
-
-### `/article/tout-savoir-sur-la-mise-en-cache-tips` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 18
-*Après correction → Exact match : **28%** · Partiel : **33%** · Sémantique : **39%***
-> 🔧 Actions : 5 partiel → exact · 7 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\integration-redis-symfony\page.tsx:206` | nos conseils sur la mise en cache | - |
-| 🟡 Partiel | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:44` | la mise en cache appliquée aux applications web | - |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:46` | stratégies de mise en cache | - |
-| 🟡 Partiel | `content\blog\api-rest-les-bonnes-pratiques.mdx:113` | Tout savoir sur la mise en cache | - |
-| 🟡 Partiel | `content\blog\concretement-cest-quoi-frankenphp.mdx:33` | la mise en cache appliquée aux applications PHP | - |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:220` | stratégies de mise en cache complémentaires au CDN CloudFront | - |
-| 🟡 Partiel | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:82` | stratégies de mise en cache | - |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:75` | mise en cache | - |
-| 🟡 Partiel | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:69` | mise en cache | - |
-| 🟡 Partiel | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:53` | stratégies de mise en cache classiques | - |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:196` | Tout savoir sur la mise en cache | - |
-| 🟡 Partiel | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:334` | Tout savoir sur la mise en cache | - |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:76` | mise en cache applicative | - |
-| 🟡 Partiel | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:111` | mise en cache HTTP | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:55` | mise en cache | - |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | mise en cache HTTP | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:450` | Tout savoir sur la mise en cache | - |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:56` | la mise en cache | - |
-
----
-
-### `/article/twig-4-ce-que-lon-pourrait-attendre` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 sémantique → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-web-sur-mesure\page.tsx:152` | Twig 4 | - |
-| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:37` | les nouveautés attendues dans Twig 4 | - |
-| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:147` | évolutions attendues dans Twig 4 | - |
-
----
-
-### `/article/utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 12
-*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
-> 🔧 Actions : 4 partiel → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:55` | Composer | - |
-| ✅ Sémantique | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:19` | gestion des dépendances via Composer | - |
-| 🟡 Partiel | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:248` | Utilisation de Composer dans le développement Symfony | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:34` | l'utilisation de Composer dans un projet Symfony | - |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:25` | Composer | - |
-| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:88` | gestion des dépendances avec Composer | - |
-| 🟡 Partiel | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:83` | l'utilisation de Composer dans un projet Symfony | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:42` | Composer | - |
-| 🟡 Partiel | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:25` | l'utilisation de Composer dans le développement Symfony | - |
-| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:27` | Composer | - |
-| ✅ Sémantique | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:227` | Composer | - |
-| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:37` | Composer | - |
-
----
-
-### `/article/vivatech-2025-linnovation-au-rendez-vous` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 1
-*Après correction → Exact match : **0%** · Partiel : **0%** · Sémantique : **100%***
-> 🔧 Actions : 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:95` | retour sur VivaTech 2025 | - |
-
----
-
-### `/audit-code-php` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **58%** · Partiel : **42%** · Sémantique : **0%** · Total : 24
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **42%***
-> 🔧 Actions : 7 exact → sémantique · 3 partiel → sémantique
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\agence-symfony-france\page.tsx:330` | audit de code PHP | - |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:340` | audit technique approfondi | - |
-| 🔵 Exact | `src\app\architecture-hexagonale-symfony\page.tsx:368` | audit de code PHP | - |
-| 🟡 Partiel | `src\app\audit-symfony-gratuit\page.tsx:183` | prestation d'audit approfondi | - |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:298` | audit de code PHP | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:260` | Audit technique approfondi → | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:181` | Audit de code PHP | - |
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:280` | audit de code | - |
-| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:309` | audit de code | - |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:298` | audit de code | - |
-| 🔵 Exact | `src\app\securite-application-symfony\page.tsx:203` | audit de code PHP | - |
-| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:323` | audit de code | - |
-| 🔵 Exact | `src\app\tests-automatises-php\page.tsx:254` | audit de code PHP | - |
-| 🔵 Exact | `content\blog\code-mort-mission-elimination.mdx:105` | audit de code PHP | - |
-| 🔵 Exact | `content\blog\coding-conventions.mdx:116` | audit de code PHP | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:37` | audit de code | - |
-| 🔵 Exact | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:246` | audit de code PHP | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:89` | audit technique régulier | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:34` | audit technique approfondi | - |
-| 🔵 Exact | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:176` | audit de code PHP | - |
-| 🔵 Exact | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | audit de code PHP | - |
-| 🔵 Exact | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | audit de code PHP | - |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | audit de code PHP | - |
-| 🔵 Exact | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:13` | audit de code PHP | - |
-
----
-
-### `/audit-ia-entreprise` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 4
-*Après correction → Exact match : **25%** · Partiel : **25%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → exact · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:355` | audit IA en entreprise | - |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:173` | audit IA en entreprise | - |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:451` | Audit IA en entreprise Diagnostic de vos processus, accompagnement à la mise en place et formation de vos équipes à l'intelligence artificielle. | - |
-| 🟡 Partiel | `src\app\formation-symfony-entreprise\page.tsx:355` | audit IA en entreprise | - |
-
----
-
-### `/audit-symfony-gratuit` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **11%** · Partiel : **89%** · Sémantique : **0%** · Total : 45
-*Après correction → Exact match : **31%** · Partiel : **29%** · Sémantique : **40%***
-> 🔧 Actions : 9 partiel → exact · 18 partiel → sémantique
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:291` | audit Symfony gratuit de 30 minutes | - |
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:435` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:395` | audit Symfony gratuit de 30 minutes | - |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:578` | Demander un audit gratuit | - |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:460` | audit Symfony gratuit de 30 minutes | - |
-| 🔵 Exact | `src\app\agence-symfony-nantes\page.tsx:460` | audit Symfony gratuit | - |
-| 🔵 Exact | `src\app\agence-symfony-paris\page.tsx:446` | audit Symfony gratuit | - |
-| 🟡 Partiel | `src\app\api-nodejs-nestjs\page.tsx:462` | Audit gratuit 30 min | - |
-| 🟡 Partiel | `src\app\api-sur-mesure-symfony\page.tsx:438` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\architecture-hexagonale-symfony\page.tsx:417` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:359` | audit Symfony gratuit de 30 minutes | - |
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:406` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:454` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\contact\page.tsx:92` | Demander un audit Symfony gratuit de 30 minutes | - |
-| 🔵 Exact | `src\app\developpement-web-sur-mesure\page.tsx:431` | audit Symfony gratuit | - |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:641` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\ecommerce-sylius\page.tsx:384` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\hebergement-symfony\page.tsx:363` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:455` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:392` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:464` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:256` | audit gratuit de 30 minutes | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:266` | Commencer par un diagnostic gratuit → | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:465` | Demander mon diagnostic gratuit | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:182` | Audit Symfony gratuit | - |
-| 🟡 Partiel | `src\app\page.tsx:107` | audit gratuit de 30 minutes | - |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:445` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:483` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\secteur\e-commerce\page.tsx:347` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:365` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:376` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\app\tests-automatises-php\page.tsx:422` | Demander mon audit gratuit | - |
-| 🟡 Partiel | `src\components\layout\MobileMenu.tsx:125` | { trackEvent("cta_click", { cta_location: "header_mobile", cta_text: "Audit Symfony gratuit" }); closeMenu(); }} > Audit Symfony gratuit | - |
-| 🟡 Partiel | `src\components\sections\StickyMobileCta.tsx:34` | trackEvent("cta_click", { cta_location: "sticky_mobile", cta_text: "Audit gratuit 30 min" })} > Audit gratuit 30 min → | - |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:102` | audit Symfony gratuit de 30 minutes | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:94` | audit Symfony gratuit de 30 minutes | - |
-| 🔵 Exact | `content\blog\comment-se-passe-un-audit-chez-efficience-it-quel-contenu-comment-procede-t-on-quels-sont-les-criteres-quel-procede.mdx:101` | audit Symfony gratuit | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:115` | audit technique complet | - |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:84` | diagnostic gratuit de votre application | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:43` | audit Symfony gratuit de 30 minutes | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:94` | audit Symfony gratuit de 30 minutes | - |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:103` | audit gratuit de 30 minutes | - |
-| 🟡 Partiel | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | audit gratuit | - |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:101` | audit gratuit de 30 minutes | - |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:101` | audit Symfony gratuit de 30 minutes | - |
-
----
-
-### `/base-de-donnees-postgresql-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **42%** · Sémantique : **58%** · Total : 12
-*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
-> 🔧 Actions : 4 partiel → exact · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:540` | PostgreSQL | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:536` | PostgreSQL | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:526` | PostgreSQL | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:519` | PostgreSQL | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:197` | PostgreSQL et Symfony | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | PostgreSQL | - |
-| 🟡 Partiel | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:58` | PostgreSQL dans les projets Symfony | - |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:44` | base de données PostgreSQL avec Symfony | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:58` | PostgreSQL | - |
-| 🟡 Partiel | `content\blog\prendre-int-uuid-ou-ulid-pour-un-index-de-base-de-donnees.mdx:61` | PostgreSQL avec Symfony | - |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:529` | optimisation Doctrine / PostgreSQL | - |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:46` | guide sur PostgreSQL et Symfony | - |
-
----
-
-### `/blog` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 sémantique → exact · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\blog\page.tsx:58` | Tous | - |
-| ✅ Sémantique | `src\app\blog\[category]\page.tsx:112` | Tous | - |
-| ✅ Sémantique | `src\app\green-it\page.tsx:218` | Voir les articles Green IT → | - |
-| ✅ Sémantique | `src\components\seo\GonePage.tsx:15` | Retour au blog → | - |
-| ✅ Sémantique | `src\components\seo\GonePage.tsx:27` | Parcourir tous nos articles | - |
-
----
-
-### `/cloud-et-devops` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **52%** · Partiel : **17%** · Sémantique : **30%** · Total : 23
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **39%***
-> 🔧 Actions : 3 exact → partiel · 2 exact → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:456` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | - |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:651` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | - |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:417` | Cloud & DevOps Hébergement cloud, automatisation CI/CD et migration d'infrastructure pour des déploiements fiables et performants. | - |
-| 🔵 Exact | `src\app\hebergement-symfony\page.tsx:187` | Cloud et DevOps | - |
-| 🔵 Exact | `src\app\hebergement-symfony\page.tsx:303` | Cloud et DevOps | - |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:202` | pipelines CI/CD | - |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:326` | infrastructure DevOps | - |
-| 🔵 Exact | `src\app\integration-elasticsearch-symfony\page.tsx:321` | Cloud et DevOps | - |
-| 🔵 Exact | `src\app\integration-redis-symfony\page.tsx:263` | Cloud et DevOps | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:195` | Cloud et DevOps | - |
-| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:461` | pipeline CI/CD | - |
-| ✅ Sémantique | `src\components\sections\ProcessSteps.tsx:59` | CI/CD | - |
-| 🔵 Exact | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:170` | Cloud et DevOps | - |
-| 🟡 Partiel | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:100` | accompagnement cloud et DevOps | - |
-| 🔵 Exact | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:242` | Cloud et DevOps | - |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:37` | DevOps | - |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:95` | services cloud managés | - |
-| 🔵 Exact | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:35` | Cloud et DevOps | - |
-| 🔵 Exact | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:136` | Cloud et DevOps | - |
-| ✅ Sémantique | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:165` | monitoring en production | - |
-| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:35` | Cloud et DevOps | - |
-| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:189` | Cloud et DevOps | - |
-| 🔵 Exact | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:56` | Cloud et DevOps | - |
-
----
-
-### `/contact` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **33%** · Partiel : **11%** · Sémantique : **56%** · Total : 18
-*Après correction → Exact match : **28%** · Partiel : **33%** · Sémantique : **39%***
-> 🔧 Actions : 1 exact → partiel · 3 sémantique → partiel
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\agence-symfony-lille\page.tsx:584` | Nous contacter | - |
-| 🔵 Exact | `src\app\api-nodejs-nestjs\page.tsx:456` | Nous contacter | - |
-| 🔵 Exact | `src\app\api-sur-mesure-symfony\page.tsx:444` | Nous contacter | - |
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:498` | Demander un audit IA | - |
-| 🟡 Partiel | `src\app\audit-symfony-gratuit\page.tsx:451` | Contactez-nous pour en discuter | - |
-| 🟡 Partiel | `src\app\developpement-web-sur-mesure\page.tsx:515` | Contactez-nous dès aujourd'hui | - |
-| 🔵 Exact | `src\app\expertise-ia\page.tsx:396` | Contactez-nous | - |
-| ✅ Sémantique | `src\app\formation-symfony-entreprise\page.tsx:379` | Demander un programme de formation | - |
-| 🔵 Exact | `src\app\geo-optimisation-ia\page.tsx:368` | Contactez-nous | - |
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:366` | Parlons de votre projet | - |
-| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:365` | Parlons de votre projet | - |
-| ✅ Sémantique | `src\app\secteur\finance\page.tsx:365` | Parlons de votre projet | - |
-| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:369` | Demander un devis | - |
-| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:378` | Discutons de votre besoin | - |
-| ✅ Sémantique | `src\app\secteur\saas\page.tsx:364` | Parlons de votre projet | - |
-| ✅ Sémantique | `src\app\secteur\securite-conformite\page.tsx:378` | Demander un audit | - |
-| ✅ Sémantique | `src\components\layout\MobileMenu.tsx:134` | { trackEvent("cta_click", { cta_location: "header_mobile", cta_text: "Contact" }); closeMenu(); }} > Contact | - |
-| 🔵 Exact | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:531` | contactez-nous | - |
-
----
-
-### `/developpement-frontend` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **50%** · Partiel : **20%** · Sémantique : **30%** · Total : 10
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **40%***
-> 🔧 Actions : 1 exact → partiel · 1 exact → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:295` | expertise frontend complète | - |
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:218` | frontend React et Vue.js | - |
-| 🔵 Exact | `src\app\developpement-typescript\page.tsx:325` | développement frontend | - |
-| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:255` | frontend | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:193` | Développement frontend | - |
-| 🟡 Partiel | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:252` | Développement frontend sur mesure | - |
-| 🟡 Partiel | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:106` | Développement frontend sur mesure | - |
-| 🔵 Exact | `content\blog\normes-rgaa-les-cles-dune-experience-utilisateur-reussie-pour-tous.mdx:39` | développement frontend | - |
-| 🔵 Exact | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:88` | développement frontend | - |
-| 🔵 Exact | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:52` | développement frontend | - |
-
----
-
-### `/developpement-nodejs` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 9
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 3 sémantique → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\api-nodejs-nestjs\page.tsx:196` | développement Node.js | - |
-| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:213` | Node.js | - |
-| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:319` | Node.js | - |
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:219` | Node.js | - |
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:225` | backend Node.js | - |
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:347` | APIs Node.js | - |
-| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:98` | développement Node.js | - |
-| ✅ Sémantique | `content\blog\que-vaut-rest-face-a-son-nouveau-challenger-graphql.mdx:115` | développement Node.js | - |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:25` | développement Node.js sur mesure | - |
-
----
-
-### `/developpement-php` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **25%** · Partiel : **0%** · Sémantique : **75%** · Total : 16
-*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
-> 🔧 Actions : 1 sémantique → exact · 5 sémantique → partiel
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\base-de-donnees-postgresql-symfony\page.tsx:210` | applications PHP | - |
-| 🔵 Exact | `src\app\base-de-donnees-postgresql-symfony\page.tsx:326` | développement PHP | - |
-| ✅ Sémantique | `src\app\integration-elasticsearch-symfony\page.tsx:205` | applications PHP | - |
-| ✅ Sémantique | `src\app\integration-elasticsearch-symfony\page.tsx:311` | applications PHP | - |
-| ✅ Sémantique | `src\app\integration-redis-symfony\page.tsx:199` | applications PHP | - |
-| ✅ Sémantique | `src\app\integration-redis-symfony\page.tsx:323` | application PHP | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:191` | Développement PHP | - |
-| ✅ Sémantique | `src\app\pourquoi-efficience-it\page.tsx:273` | PHP et Symfony | - |
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:40` | PHP et Symfony | - |
-| ✅ Sémantique | `content\blog\concretement-cest-quoi-frankenphp.mdx:109` | développement PHP sur mesure | - |
-| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:12` | développement d'applications web | - |
-| ✅ Sémantique | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:78` | Développement PHP sur mesure | - |
-| ✅ Sémantique | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:146` | Développement PHP sur mesure | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:20` | agence qui travaille avec les deux technologies | - |
-| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:48` | développement PHP | - |
-| 🔵 Exact | `content\blog\qu-est-ce-que-les-psrs-et-a-quoi-servent-ils.mdx:13` | développement PHP | - |
-
----
-
-### `/developpement-react` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | React | - |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:29` | React | - |
-
----
-
-### `/developpement-typescript` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **33%** · Partiel : **0%** · Sémantique : **67%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | TypeScript | - |
-| ✅ Sémantique | `content\blog\express-fastify-hono-quel-framework-nodejs-choisir.mdx:102` | TypeScript | - |
-| 🔵 Exact | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:54` | développement TypeScript | - |
-
----
-
-### `/developpement-vuejs` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 1 sémantique → exact · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:291` | Vue.js | - |
-| ✅ Sémantique | `src\app\developpement-typescript\page.tsx:355` | Vue.js | - |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:193` | Vue.js | - |
-| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:27` | développement Vue.js | - |
-| ✅ Sémantique | `content\blog\quel-framework-javascript-choisir-node-js-react-js-vue-js-ou-angular.mdx:48` | Vue.js | - |
-
----
-
-### `/developpement-web-sur-mesure` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **47%** · Partiel : **17%** · Sémantique : **36%** · Total : 36
-*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **39%***
-> 🔧 Actions : 5 exact → partiel · 1 exact → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:445` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | - |
-| 🟡 Partiel | `src\app\cloud-et-devops\page.tsx:464` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | - |
-| ✅ Sémantique | `src\app\developpement-frontend\page.tsx:312` | Symfony | - |
-| 🟡 Partiel | `src\app\developpement-nodejs\page.tsx:423` | développement d'API sur mesure avec Symfony | - |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:247` | développement web sur mesure | - |
-| 🟡 Partiel | `src\app\developpement-php\page.tsx:349` | projet de développement web sur mesure | - |
-| ✅ Sémantique | `src\app\developpement-react\page.tsx:230` | projet web sur mesure | - |
-| ✅ Sémantique | `src\app\developpement-vuejs\page.tsx:333` | projet web sur mesure | - |
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:185` | solutions e-commerce sur mesure | - |
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:325` | applications web sur mesure | - |
-| 🟡 Partiel | `src\app\expertise-ia\page.tsx:406` | Développement web sur mesure Applications Symfony, sites e-commerce Sylius et intégrations CRM/ERP adaptées à vos processus métiers. | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:192` | Développement web sur mesure | - |
-| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:445` | développement web | - |
-| ✅ Sémantique | `src\app\secteur\page.tsx:185` | web sur mesure | - |
-| ✅ Sémantique | `src\components\sections\ProcessSteps.tsx:55` | applications web sur mesure | - |
-| 🔵 Exact | `content\blog\ameliorer-lexperience-utilisateur-grace-au-manifeste-des-applications-web.mdx:84` | développement web sur mesure | - |
-| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:266` | conception d'une application métier | - |
-| 🔵 Exact | `content\blog\comment-rediger-un-cahier-de-charge-pour-un-projet-agile.mdx:14` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\comprendre-et-utiliser-le-bundle-alice-faker-dans-vos-projets-symfony.mdx:243` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:151` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:68` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\doctrine-orm-3-0-une-nouvelle-version-majeure-pour-les-bases-de-donnees.mdx:96` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\easy-admin-vs-forest-admin-differences-et-avantages.mdx:83` | développement web sur mesure | - |
-| ✅ Sémantique | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:49` | projet web sur mesure | - |
-| 🔵 Exact | `content\blog\les-bundles-les-plus-utilises-dans-les-projets-symfony.mdx:99` | développement web sur mesure | - |
-| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:258` | développement d'applications web Symfony | - |
-| 🔵 Exact | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:338` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\phpstorm-vscode-sublimetext-netbeans-quel-editeur-de-code-choisir.mdx:119` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:112` | développement web sur mesure | - |
-| 🟡 Partiel | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:106` | développement web sur mesure en Symfony | - |
-| 🔵 Exact | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:36` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\swagger-nelmio-bundle-et-ses-fonctionnalites-pourquoi-lutilise-t-on.mdx:160` | développement web sur mesure | - |
-| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:444` | construction d'applications métier Symfony | - |
-| 🔵 Exact | `content\blog\twig-4-ce-que-lon-pourrait-attendre.mdx:129` | développement web sur mesure | - |
-| 🔵 Exact | `content\blog\utilisation-de-composer-dans-le-developpement-symfony-conseils-pratiques.mdx:120` | développement web sur mesure | - |
-| ✅ Sémantique | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:56` | applications métier sur mesure | - |
-
----
-
-### `/ecommerce-sylius` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 12
-*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
-> 🔧 Actions : 4 sémantique → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:518` | Sylius | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:329` | Sylius, la solution e-commerce Symfony | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:326` | Sylius, la solution e-commerce Symfony | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:505` | Sylius | - |
-| ✅ Sémantique | `src\app\secteur\e-commerce\page.tsx:178` | Sylius | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | e-commerce | - |
-| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | e-commerce Sylius | - |
-| ✅ Sémantique | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:113` | e-commerce Sylius | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:85` | Sylius | - |
-| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:70` | e-commerce Sylius | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:20` | agence spécialisée Symfony et Sylius | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:97` | Sylius | - |
-
----
-
-### `/expertise-ia` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **17%** · Partiel : **0%** · Sémantique : **83%** · Total : 12
-*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
-> 🔧 Actions : 2 sémantique → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:368` | intégration technique dans une application Symfony | - |
-| 🔵 Exact | `src\app\geo-optimisation-ia\page.tsx:263` | expertise IA | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:206` | Expertise IA | - |
-| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:268` | expertise en intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:95` | expertise en intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:89` | expertise en intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:109` | expertise en intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\les-evenements-incontournables-de-linnovation-2025.mdx:81` | expertise en intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:95` | expertise en intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\quel-assistant-ia-choisir-pour-coder.mdx:195` | expertise en intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\rag-symfony-ai-doctrine-indexer-base-metier.mdx:529` | expertise en intelligence artificielle | - |
-| ✅ Sémantique | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:267` | expertise en intelligence artificielle | - |
-
----
-
-### `/formation-symfony-entreprise` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **7%** · Partiel : **87%** · Sémantique : **7%** · Total : 15
-*Après correction → Exact match : **33%** · Partiel : **27%** · Sémantique : **40%***
-> 🔧 Actions : 4 partiel → exact · 5 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-france\page.tsx:340` | formations Symfony en entreprise | - |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:301` | formations Symfony | - |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:358` | formations Symfony en entreprise | - |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:347` | formations Symfony en entreprise | - |
-| ✅ Sémantique | `src\app\audit-ia-entreprise\page.tsx:410` | formation professionnelle | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:200` | Formation Symfony entreprise | - |
-| 🟡 Partiel | `src\app\page.tsx:96` | formations Symfony en entreprise | - |
-| 🟡 Partiel | `src\app\secteur\renfort-equipe\page.tsx:327` | formation Symfony | - |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:111` | formation Symfony en entreprise | - |
-| 🟡 Partiel | `content\blog\la-methode-du-canard-en-plastique-le-secret-des-developpeurs.mdx:100` | formations Symfony en entreprise | - |
-| 🟡 Partiel | `content\blog\les-6-etapes-pour-monter-en-competences-sur-symfony.mdx:81` | formation Symfony en entreprise | - |
-| 🟡 Partiel | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:74` | formation Symfony certifiante | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:92` | formations Symfony en entreprise | - |
-| 🟡 Partiel | `content\blog\quels-evenements-suivre-dans-le-monde-de-symfony-php-quelles-differences-entre-eux.mdx:16` | formations Symfony en entreprise | - |
-| 🟡 Partiel | `content\blog\symfony-pour-les-moldus.mdx:82` | formation Symfony en entreprise | - |
-
----
-
-### `/geo-optimisation-ia` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 7
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 2 sémantique → exact · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:182` | visibilité dans les moteurs IA (GEO) | - |
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:308` | offre dédiée d'optimisation GEO | - |
-| ✅ Sémantique | `src\app\expertise-ia\page.tsx:440` | GEO - Optimisation IA Rendez votre site visible dans ChatGPT, Perplexity et les AI Overviews de Google grâce au Generative Engine Optimization. | - |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:207` | GEO et optimisation IA | - |
-| ✅ Sémantique | `content\blog\forces-et-faiblesses-des-ia-generatives-les-plus-utilisees.mdx:95` | optimisation pour les moteurs IA | - |
-| ✅ Sémantique | `content\blog\geo-rendre-votre-application-symfony-visible-dans-les-moteurs-ia.mdx:107` | GEO et optimisation IA | - |
-| ✅ Sémantique | `content\blog\llms-txt-le-nouveau-levier-seo-a-lere-de-lintelligence-artificielle.mdx:89` | GEO et optimisation IA | - |
-
----
-
-### `/green-it` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **60%** · Partiel : **0%** · Sémantique : **40%** · Total : 5
-*Après correction → Exact match : **20%** · Partiel : **40%** · Sémantique : **40%***
-> 🔧 Actions : 2 exact → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:14` | Green IT | - |
-| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:109` | Green IT | - |
-| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:48` | page Green IT | - |
-| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:74` | page Green IT | - |
-| 🔵 Exact | `content\blog\ecosia-preservateur-decologie.mdx:79` | Green IT | - |
-
----
-
-### `/hebergement-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **47%** · Partiel : **6%** · Sémantique : **47%** · Total : 17
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **41%***
-> 🔧 Actions : 3 exact → partiel · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:556` | hébergement optimisé | - |
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:318` | déploiement en production | - |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:210` | hébergement dédié | - |
-| ✅ Sémantique | `src\app\integration-docker-symfony\page.tsx:334` | hébergement adapté | - |
-| 🟡 Partiel | `src\app\integration-redis-symfony\page.tsx:270` | hébergement Symfony optimisé | - |
-| 🔵 Exact | `src\app\secteur\e-commerce\page.tsx:294` | hébergement Symfony | - |
-| 🔵 Exact | `src\app\secteur\saas\page.tsx:197` | hébergement Symfony | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:56` | hébergement managé | - |
-| 🔵 Exact | `content\blog\concretement-cest-quoi-frankenphp.mdx:39` | hébergement Symfony | - |
-| ✅ Sémantique | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:228` | hébergement fiable | - |
-| 🔵 Exact | `content\blog\deployer-nuxtjs-avec-gitlab-ci-s3-et-cloudfront.mdx:242` | hébergement Symfony | - |
-| 🔵 Exact | `content\blog\eco-conception-un-ideal-en-marche-ou-une-illusion-durable.mdx:81` | hébergement Symfony | - |
-| ✅ Sémantique | `content\blog\ecosia-preservateur-decologie.mdx:34` | hébergement responsable | - |
-| 🔵 Exact | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:192` | hébergement Symfony | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:66` | hébergement | - |
-| 🔵 Exact | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:177` | hébergement Symfony | - |
-| 🔵 Exact | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:97` | hébergement Symfony | - |
-
----
-
-### `/integration-docker-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **36%** · Sémantique : **64%** · Total : 11
-*Après correction → Exact match : **27%** · Partiel : **27%** · Sémantique : **45%***
-> 🔧 Actions : 3 partiel → exact · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:500` | Docker | - |
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:552` | Docker | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:529` | Docker | - |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:538` | intégration Docker | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:512` | Docker | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:196` | Docker et Symfony | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:41` | Docker | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:64` | Docker | - |
-| 🟡 Partiel | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:28` | intégration de Docker dans un projet Symfony | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:60` | Docker | - |
-| 🟡 Partiel | `content\blog\vivatech-2025-linnovation-au-rendez-vous.mdx:87` | Docker et Symfony en production | - |
-
----
-
-### `/integration-elasticsearch-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **33%** · Sémantique : **67%** · Total : 9
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 3 partiel → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:548` | Elasticsearch | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:544` | Elasticsearch | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:534` | Elasticsearch | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:527` | recherche Elasticsearch | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:199` | Elasticsearch et Symfony | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | Elasticsearch | - |
-| 🟡 Partiel | `content\blog\elasticsearch-ou-algolia-moteur-de-recherche-symfony.mdx:33` | intégration d'Elasticsearch dans Symfony | - |
-| 🟡 Partiel | `content\blog\quelles-sont-les-differences-entre-symfony-messenger-php-enqueue-quoi-utiliser.mdx:141` | intégration d'Elasticsearch avec Symfony | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | Elasticsearch pour la recherche | - |
-
----
-
-### `/integration-redis-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **22%** · Sémantique : **78%** · Total : 9
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 2 partiel → exact · 1 sémantique → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lille\page.tsx:544` | Redis | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:540` | Redis | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:530` | Redis | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:523` | cache Redis | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:198` | Redis et Symfony | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:62` | Redis | - |
-| ✅ Sémantique | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:58` | Redis pour le cache | - |
-| ✅ Sémantique | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:56` | Redis | - |
-| 🟡 Partiel | `content\blog\tout-savoir-sur-la-mise-en-cache-tips.mdx:27` | intégration de Redis avec Symfony | - |
-
----
-
-### `/l-entreprise` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\contact\page.tsx:102` | En savoir plus sur l'agence | - |
-
----
-
-### `/maintenance-applicative-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **38%** · Partiel : **57%** · Sémantique : **5%** · Total : 21
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 2 exact → sémantique · 6 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:193` | maintenir | - |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:491` | maintenance applicative | - |
-| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:477` | maintenance applicative | - |
-| 🔵 Exact | `src\app\migration-symfony\page.tsx:368` | maintenance applicative Symfony | - |
-| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:440` | maintenance applicative Symfony | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:418` | Maintenance applicative → | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:175` | Maintenance applicative Symfony | - |
-| 🟡 Partiel | `src\app\page.tsx:88` | maintenance applicative | - |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:367` | maintenance applicative | - |
-| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:468` | maintenance applicative | - |
-| 🔵 Exact | `src\app\reprise-projet-symfony\page.tsx:447` | maintenance applicative Symfony | - |
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:194` | maintenance applicative | - |
-| 🟡 Partiel | `src\app\secteur\industrie\page.tsx:292` | maintenance applicative | - |
-| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:183` | maintenance applicative | - |
-| 🟡 Partiel | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:82` | maintenance applicative | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:67` | maintenance applicative | - |
-| 🔵 Exact | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:73` | maintenance applicative Symfony | - |
-| 🔵 Exact | `content\blog\decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web.mdx:59` | maintenance applicative Symfony | - |
-| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:70` | maintenance applicative Symfony | - |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | maintenance applicative Symfony | - |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:72` | maintenance applicative | - |
-
----
-
-### `/migration-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **50%** · Partiel : **44%** · Sémantique : **6%** · Total : 16
-*Après correction → Exact match : **31%** · Partiel : **31%** · Sémantique : **38%***
-> 🔧 Actions : 3 exact → sémantique · 2 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:521` | migration de versions Symfony | - |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:375` | migration Symfony | - |
-| 🟡 Partiel | `src\app\maintenance-applicative-symfony\page.tsx:290` | refonte et migration sous Symfony | - |
-| 🔵 Exact | `src\app\modernisation-application-php\page.tsx:422` | migration Symfony | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:377` | Migration Symfony → | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:172` | Migration Symfony | - |
-| ✅ Sémantique | `src\app\page.tsx:92` | migration vers les dernières versions LTS | - |
-| 🔵 Exact | `src\app\reprise-projet-symfony\page.tsx:437` | migration Symfony | - |
-| 🟡 Partiel | `content\blog\commandes-invocables-symfony-attributs-console.mdx:334` | migration technique vers Symfony | - |
-| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:107` | migration Symfony | - |
-| 🟡 Partiel | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:115` | accompagnement migration Symfony | - |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:50` | migration Symfony clé en main | - |
-| 🔵 Exact | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:14` | migration Symfony | - |
-| 🔵 Exact | `content\blog\migrer-du-serializer-vers-json-streamer-le-guide-honnete.mdx:208` | migration Symfony | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:73` | migration vers une version LTS de Symfony | - |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | migration Symfony | - |
-
----
-
-### `/modernisation-application-php` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **60%** · Sémantique : **40%** · Total : 15
-*Après correction → Exact match : **33%** · Partiel : **27%** · Sémantique : **40%***
-> 🔧 Actions : 5 partiel → exact
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:287` | modernisation d'applications PHP | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:318` | Notre offre de modernisation PHP | - |
-| ✅ Sémantique | `src\app\maintenance-applicative-symfony\page.tsx:298` | moderniser | - |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:349` | modernisation d'application PHP | - |
-| ✅ Sémantique | `src\app\modernisation-applicative\page.tsx:336` | Modernisation PHP → | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:173` | Modernisation d'application PHP | - |
-| 🟡 Partiel | `src\app\reprise-projet-symfony\page.tsx:428` | modernisation d'application PHP | - |
-| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:311` | modernisation progressive | - |
-| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:189` | modernise vos applications legacy | - |
-| 🟡 Partiel | `content\blog\arrives-au-max-des-id-int-2147483647.mdx:170` | modernisation d'application PHP | - |
-| 🟡 Partiel | `content\blog\la-fondation-php-souffle-ses-trois-bougies.mdx:45` | modernisation d'applications PHP | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:20` | agence spécialisée en modernisation d'applications PHP | - |
-| ✅ Sémantique | `content\blog\monofony-le-guide-ultime-pour-les-debutants.mdx:97` | moderniser leur application PHP | - |
-| 🟡 Partiel | `content\blog\php-9-0-devoile-ce-que-vous-devez-savoir-avant-la-sortie.mdx:142` | modernisation de l'application PHP | - |
-| 🟡 Partiel | `content\blog\symfony-ai-projet-legacy-retour-experience.mdx:263` | modernisation d'application PHP | - |
-
----
-
-### `/modernisation-applicative` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 12
-*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
-> 🔧 Actions : 2 exact → partiel · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:349` | mise à niveau de vos systèmes | - |
-| ✅ Sémantique | `src\app\developpement-php\page.tsx:240` | modernisation d'applications legacy | - |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:357` | modernisation applicative | - |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:170` | Amélioration de vos logiciels existants | - |
-| ✅ Sémantique | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:274` | Adaptation de vos outils aux standards actuels | - |
-| 🔵 Exact | `content\blog\code-mort-mission-elimination.mdx:105` | modernisation applicative | - |
-| 🔵 Exact | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:246` | modernisation applicative | - |
-| ✅ Sémantique | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:107` | modernisation de vos outils | - |
-| 🔵 Exact | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:94` | modernisation applicative | - |
-| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:14` | modernisation de vos applications | - |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:13` | modernisation applicative | - |
-| 🔵 Exact | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:189` | modernisation applicative | - |
-
----
-
-### `/nos-references` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:480` | références clients | - |
-
----
-
-### `/notre-expertise` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **7%** · Partiel : **7%** · Sémantique : **86%** · Total : 14
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 1 partiel → exact · 2 sémantique → exact · 4 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:199` | experts Symfony | - |
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:186` | expertise Symfony de référence | - |
-| ✅ Sémantique | `src\app\agence-symfony-nantes\page.tsx:186` | expertise Symfony de référence | - |
-| ✅ Sémantique | `src\app\agence-symfony-paris\page.tsx:184` | spécialistes Symfony | - |
-| ✅ Sémantique | `src\app\contact\page.tsx:97` | Découvrir nos expertises techniques | - |
-| ✅ Sémantique | `src\app\la-team\page.tsx:138` | Découvrir nos expertises → | - |
-| ✅ Sémantique | `src\app\la-team\page.tsx:184` | Découvrir nos services → | - |
-| ✅ Sémantique | `src\app\processus-collaboration\page.tsx:421` | développement Symfony | - |
-| ✅ Sémantique | `src\app\secteur\page.tsx:333` | expertise transversale | - |
-| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:267` | expertise technique | - |
-| ✅ Sémantique | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:102` | expertise technique | - |
-| ✅ Sémantique | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:103` | Efficience IT | - |
-| 🟡 Partiel | `content\blog\pourquoi-choisir-symfony-pour-vos-projets.mdx:112` | notre expertise Symfony | - |
-| 🔵 Exact | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:66` | notre expertise | - |
-
----
-
-### `/politique-de-confidentialite` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\components\ui\CookieConsent.tsx:47` | En savoir plus | - |
-
----
-
-### `/pourquoi-efficience-it` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\components\sections\AboutPreview.tsx:33` | pourquoi nous choisir | - |
-
----
-
-### `/processus-collaboration` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **100%** · Sémantique : **0%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\accompagnement-et-conseil\page.tsx:277` | notre processus de collaboration | - |
-| 🟡 Partiel | `src\components\sections\ProcessSteps.tsx:63` | notre processus de collaboration | - |
-
----
-
-### `/reprise-projet-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **79%** · Sémantique : **21%** · Total : 14
-*Après correction → Exact match : **29%** · Partiel : **29%** · Sémantique : **43%***
-> 🔧 Actions : 4 partiel → exact · 3 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:277` | reprise de projets Symfony | - |
-| 🟡 Partiel | `src\app\agence-symfony-lille\page.tsx:525` | reprise de projets | - |
-| 🟡 Partiel | `src\app\agence-symfony-lyon\page.tsx:332` | Notre service de reprise de projets Symfony | - |
-| 🟡 Partiel | `src\app\migration-symfony\page.tsx:360` | reprise de projet Symfony | - |
-| 🟡 Partiel | `src\app\modernisation-application-php\page.tsx:431` | reprise de projet Symfony | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:300` | Reprise de projet Symfony → | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:174` | Reprise de projet Symfony | - |
-| 🟡 Partiel | `src\app\page.tsx:103` | reprise de projets Symfony | - |
-| 🟡 Partiel | `content\blog\claude-assistant-architecture-symfony-legacy.mdx:14` | reprise de projet Symfony | - |
-| ✅ Sémantique | `content\blog\code-mort-mission-elimination.mdx:105` | reprendre un projet en main | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:20` | reprendre des projets | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:69` | reprise de projet Symfony | - |
-| ✅ Sémantique | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:78` | Reprendre un projet en dette technique | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:92` | reprise de projets Symfony | - |
-
----
-
-### `/secteur` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 1
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:303` | secteurs d'activité | - |
-
----
-
-### `/secteur/api-integration` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:297` | API sur mesure | - |
-| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:314` | intégration d'API | - |
-
----
-
-### `/secteur/e-commerce` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **0%** · Sémantique : **100%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 2 sémantique → exact · 3 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\ecommerce-sylius\page.tsx:262` | spécialistes du secteur e-commerce | - |
-| ✅ Sémantique | `src\app\notre-expertise\page.tsx:213` | E-commerce | - |
-| ✅ Sémantique | `src\app\secteur\page.tsx:307` | e-commerce Sylius | - |
-| ✅ Sémantique | `src\app\secteur\renfort-equipe\page.tsx:275` | e-commerce | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | e-commerce | - |
-| ✅ Sémantique | `content\blog\les-certifications-symfony-twig-symfony-sylius.mdx:41` | projets e-commerce | - |
-| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:18` | secteur e-commerce | - |
-| ✅ Sémantique | `content\blog\sylius-la-solution-e-commerce-du-framework-symfony.mdx:84` | secteur e-commerce | - |
-
----
-
-### `/secteur/finance` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **38%** · Partiel : **0%** · Sémantique : **63%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 1 exact → partiel · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:216` | Finance | - |
-| ✅ Sémantique | `src\app\secteur\page.tsx:314` | conformité bancaire | - |
-| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:282` | finance | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | secteur financier | - |
-| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | finance | - |
-| ✅ Sémantique | `content\blog\comment-former-vos-equipes-a-la-securite-informatique-en-toute-simplicite.mdx:49` | entreprises du secteur financier | - |
-| ✅ Sémantique | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:99` | secteur financier | - |
-| ✅ Sémantique | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:19` | conformité dans la finance | - |
-
----
-
-### `/secteur/industrie` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **38%** · Partiel : **0%** · Sémantique : **63%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 1 exact → partiel · 2 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-lyon\page.tsx:290` | secteur industriel | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:214` | Industrie | - |
-| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:289` | industrie | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:96` | industrielle | - |
-| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | industrie | - |
-| ✅ Sémantique | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:258` | outils métier industriels | - |
-| ✅ Sémantique | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:18` | secteur industriel | - |
-| ✅ Sémantique | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:223` | applications industrielles | - |
-
----
-
-### `/secteur/maintenance-applicative` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **33%** · Partiel : **0%** · Sémantique : **67%** · Total : 3
-*Après correction → Exact match : **33%** · Partiel : **33%** · Sémantique : **33%***
-> 🔧 Actions : 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\application-metier\page.tsx:312` | suivi de vos systèmes | - |
-| ✅ Sémantique | `src\app\secteur\migration-legacy\page.tsx:324` | maintenance de vos applications | - |
-| 🔵 Exact | `src\app\secteur\securite-conformite\page.tsx:326` | maintenance applicative | - |
-
----
-
-### `/secteur/migration-legacy` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 2
-*Après correction → Exact match : **0%** · Partiel : **50%** · Sémantique : **50%***
-> 🔧 Actions : 1 exact → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\secteur\maintenance-applicative\page.tsx:316` | modernisation | - |
-| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:307` | migration legacy | - |
-
----
-
-### `/secteur/saas` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **50%** · Partiel : **0%** · Sémantique : **50%** · Total : 8
-*Après correction → Exact match : **25%** · Partiel : **38%** · Sémantique : **38%***
-> 🔧 Actions : 2 exact → partiel · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:215` | SaaS | - |
-| ✅ Sémantique | `src\app\secteur\page.tsx:321` | SaaS multi-tenant | - |
-| 🔵 Exact | `src\app\secteur\renfort-equipe\page.tsx:296` | SaaS | - |
-| 🔵 Exact | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:50` | SaaS | - |
-| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:92` | SaaS | - |
-| ✅ Sémantique | `content\blog\doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx:44` | produit SaaS | - |
-| ✅ Sémantique | `content\blog\pourquoi-docker-est-indispensable-en-production-aujourdhui.mdx:177` | plateformes SaaS | - |
-| ✅ Sémantique | `content\blog\quelle-architecture-de-projet-choisir-entre-micro-service-ou-monolithe-modulaire.mdx:102` | application SaaS | - |
-
----
-
-### `/securite-application-symfony` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **0%** · Partiel : **50%** · Sémantique : **50%** · Total : 12
-*Après correction → Exact match : **33%** · Partiel : **25%** · Sémantique : **42%***
-> 🔧 Actions : 4 partiel → exact · 1 sémantique → partiel
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| ✅ Sémantique | `src\app\agence-symfony-france\page.tsx:480` | sécurité applicative | - |
-| 🟡 Partiel | `src\app\notre-expertise\page.tsx:185` | Sécurité applicative Symfony | - |
-| ✅ Sémantique | `src\app\secteur\api-integration\page.tsx:300` | couche de sécurité | - |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:280` | sécurité de votre application | - |
-| 🟡 Partiel | `src\app\secteur\securite-conformite\page.tsx:184` | sécurise vos applications Symfony | - |
-| ✅ Sémantique | `content\blog\cahier-des-charges-application-web-guide-complet.mdx:58` | Sécurité applicative | - |
-| ✅ Sémantique | `content\blog\comment-choisir-son-prestataire-symfony.mdx:89` | sécurité applicative | - |
-| 🟡 Partiel | `content\blog\cve-comprendre-les-failles-pour-mieux-se-proteger.mdx:34` | sécurité applicative Symfony | - |
-| 🟡 Partiel | `content\blog\dbtoolsbundle-anonymiser-vos-bases-de-donnees.mdx:19` | sécurité applicative Symfony | - |
-| ✅ Sémantique | `content\blog\le-chocoblast-un-premier-pas-vers-la-securite-par-le-jeu.mdx:58` | sécurité applicative | - |
-| ✅ Sémantique | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:86` | Sécurité applicative | - |
-| 🟡 Partiel | `content\blog\php-vs-nodejs-quel-langage-backend-choisir.mdx:70` | sécurité applicative Symfony | - |
-
----
-
-### `/tests-automatises-php` ✅
-> Cibles : Exact match 30% · Partiel 30% · Sémantique 40%
-Exact match : **19%** · Partiel : **68%** · Sémantique : **14%** · Total : 37
-*Après correction → Exact match : **30%** · Partiel : **30%** · Sémantique : **41%***
-> 🔧 Actions : 4 partiel → exact · 10 partiel → sémantique
-
-> ⚠️ Catégorisation approximative - ajouter dans `.docs/reference/anchor-lexicon.md`.
-
-| Statut | Fichier | Ancre actuelle | Ancre proposée |
-|--------|---------|----------------|----------------|
-| 🔵 Exact | `src\app\agence-symfony-nantes\page.tsx:355` | tests automatisés PHP | - |
-| 🟡 Partiel | `src\app\agence-symfony-nantes\page.tsx:549` | tests automatisés | - |
-| 🟡 Partiel | `src\app\agence-symfony-paris\page.tsx:344` | tests automatisés | - |
-| 🟡 Partiel | `src\app\audit-code-php\page.tsx:341` | tests automatisés | - |
-| 🔵 Exact | `src\app\developpement-php\page.tsx:382` | tests automatisés PHP | - |
-| 🟡 Partiel | `src\app\modernisation-applicative\page.tsx:342` | Tests automatisés PHP → | - |
-| 🔵 Exact | `src\app\notre-expertise\page.tsx:183` | Tests automatisés PHP | - |
-| 🟡 Partiel | `src\app\pourquoi-efficience-it\page.tsx:334` | revue de code et des tests automatisés | - |
-| 🟡 Partiel | `src\app\processus-collaboration\page.tsx:383` | tests automatisés | - |
-| 🟡 Partiel | `src\app\secteur\finance\page.tsx:304` | tests automatisés | - |
-| ✅ Sémantique | `src\app\secteur\industrie\page.tsx:284` | tester exhaustivement | - |
-| 🟡 Partiel | `src\app\secteur\maintenance-applicative\page.tsx:298` | tests automatisés | - |
-| 🟡 Partiel | `src\app\secteur\migration-legacy\page.tsx:316` | tests automatisés | - |
-| 🟡 Partiel | `src\app\secteur\saas\page.tsx:301` | approche par tests automatisés | - |
-| 🟡 Partiel | `src\app\secteur\securite-conformite\page.tsx:286` | tests automatisés | - |
-| 🟡 Partiel | `src\app\securite-application-symfony\page.tsx:210` | tests automatisés | - |
-| ✅ Sémantique | `content\blog\coding-conventions.mdx:86` | stratégie de tests | - |
-| 🟡 Partiel | `content\blog\comment-choisir-son-prestataire-symfony.mdx:28` | tests automatisés | - |
-| 🔵 Exact | `content\blog\comment-choisir-son-prestataire-symfony.mdx:49` | tests automatisés PHP | - |
-| 🔵 Exact | `content\blog\comment-executer-des-tests-postman-avec-newman-dans-gitlab-ci.mdx:120` | tests automatisés PHP | - |
-| 🟡 Partiel | `content\blog\comment-phpstan-peut-vous-aider-a-ameliorer-la-qualite-de-votre-code-php.mdx:91` | tests automatisés | - |
-| 🔵 Exact | `content\blog\guide-de-migration-dans-un-projet-symfony.mdx:37` | tests automatisés PHP | - |
-| 🟡 Partiel | `content\blog\la-dette-technique-faut-il-vraiment-en-avoir-peur.mdx:36` | tests automatisés | - |
-| 🟡 Partiel | `content\blog\mieux-comprendre-le-vocabulaire-des-developpeurs-web-guide-complet.mdx:115` | tests automatisés en PHP | - |
-| 🟡 Partiel | `content\blog\migration-mysql-postgresql-doctrine-guide.mdx:110` | tests automatisés | - |
-| 🟡 Partiel | `content\blog\migration-symfony-architecture-hexagonale-retour-mission.mdx:22` | tests automatisés | - |
-| 🟡 Partiel | `content\blog\moderniser-application-php-legacy-sans-tout-reecrire.mdx:39` | tests automatisés | - |
-| ✅ Sémantique | `content\blog\phpstan-2-0-niveau-10-et-nouvelles-fonctionnalites-pour-un-code-impeccable.mdx:186` | stratégie de couverture de tests Symfony | - |
-| 🔵 Exact | `content\blog\phpstan-niveau-max-symfony-10-erreurs.mdx:307` | tests automatisés PHP | - |
-| ✅ Sémantique | `content\blog\playwright-tests-end-to-end-claude-code.mdx:164` | stratégie de tests end-to-end et PHPUnit | - |
-| 🟡 Partiel | `content\blog\quels-sont-les-avantages-dun-progiciel-pour-votre-entreprise.mdx:44` | tests automatisés | - |
-| ✅ Sémantique | `content\blog\rector-et-ses-pouvoirs-maitrisez-levolution-de-votre-code-symfony.mdx:193` | tests PHPUnit en intégration continue | - |
-| 🟡 Partiel | `content\blog\retour-sur-lafup-day-2024.mdx:43` | tests automatisés | - |
-| 🟡 Partiel | `content\blog\sylius-vs-prestashop-quelle-solution-e-commerce-choisir.mdx:26` | tests automatisés | - |
-| 🟡 Partiel | `content\blog\symfony-insight-a-quoi-ca-sert-et-comment-le-met-on-en-place.mdx:69` | tests automatisés | - |
-| 🟡 Partiel | `content\blog\symfony-messenger-colonne-vertebrale-archi-hexagonale.mdx:397` | tests automatisés | - |
-| 🟡 Partiel | `content\blog\symfony-vs-laravel-quel-framework-php-choisir.mdx:44` | tests automatisés | - |
-
-## Légende
-- 🔵 Exact match
-- 🟡 Partiel
-- ✅ Sémantique
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index be10fc61..141c8110 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,6 @@ yarn-error.log*
next-env.d.ts
chrome/
public/images/blog/responsive/
+
+#revision plan
+/.docs/reference/anchor-revision-plan.md
\ No newline at end of file
diff --git a/content/blog/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx b/content/blog/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx
index 7346d088..03032739 100644
--- a/content/blog/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx
+++ b/content/blog/doctavis-et-efficience-it-une-course-contre-la-montre-pour-sortir-un-mvp.mdx
@@ -111,7 +111,7 @@ Avez-vous une idée de projet ? Contactez Efficience IT qui vous accompagnera to
- [Comment rédiger un cahier des charges pour un projet Agile](/article/comment-rediger-un-cahier-de-charge-pour-un-projet-agile), structurer votre projet pour maximiser ses chances de succès
- [Pourquoi choisir Symfony pour vos projets](/article/pourquoi-choisir-symfony-pour-vos-projets), les raisons techniques qui en font le framework de référence pour les projets métier
-- [Maintenance d’applications web : pourquoi nous choisir](/article/decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web), assurer la pérennité du MVP après sa mise en production
+- [Maintenance d'applications web : pourquoi nous choisir](/article/decouvrez-les-raisons-de-nous-confier-la-maintenance-de-vos-applications-web), assurer la pérennité du MVP après sa mise en production
- [Symfony : Le framework PHP pour les projets web](https://symfony.com/), le framework utilisé pour développer le MVP Doctavis
- [Lean Startup : Méthodologie MVP](http://theleanstartup.com/), l'approche Lean Startup qui inspire la construction de MVP
- [API Platform : Framework pour créer des API](https://api-platform.com/), outil pour construire rapidement des API robustes avec Symfony
diff --git a/scripts/audit-anchor-diversity.ts b/scripts/audit-anchor-diversity.ts
index b6b34d19..de5f0b5f 100644
--- a/scripts/audit-anchor-diversity.ts
+++ b/scripts/audit-anchor-diversity.ts
@@ -126,7 +126,7 @@ function findFiles(): string[] {
function extractJsxLinks(content: string, filePath: string): AnchorOccurrence[] {
const results: AnchorOccurrence[] = [];
const linkRegex =
- /(?:]*\bhref=(?:"([^"]+)"|'([^']+)'|`([^`]+)`)[^>]*>([\s\S]*?)<\/(?:Link|a)>/g;
+ /(?:]*?\bhref=(?:"([^"#][^"]*?)"|'([^'#][^']*?)'|`([^`#][^`]*?)`)[^>]*?>([\s\S]*?)<\/(?:Link|a)>/g;
let match: RegExpExecArray | null;
while ((match = linkRegex.exec(content)) !== null) {
@@ -168,6 +168,12 @@ function normalizeUrl(url: string): string {
return url.replace(/\/$/, "").toLowerCase().split("?")[0].split("#")[0];
}
+function wordMatch(a: string, b: string): boolean {
+ if (b.length < 4) return a === b;
+ const re = new RegExp(`(? text === em)) return "exact_match";
- if (lex.partial?.some((pt) => text.includes(pt) || pt.includes(text))) return "partial";
- if (lex.semantic.some((sem) => text.includes(sem) || sem.includes(text))) return "semantic";
+ if (lex.partial?.some((pt) => wordMatch(text, pt) || wordMatch(pt, text))) return "partial";
+ if (lex.semantic.some((sem) => wordMatch(text, sem) || wordMatch(sem, text))) return "semantic";
+
const exactWords = lex.exactMatch.join(" ").split(" ");
const matchedWords = exactWords.filter((w) => w.length > 3 && text.includes(w));
if (matchedWords.length >= 2) return "partial";
diff --git a/src/app/agence-symfony-france/page.tsx b/src/app/agence-symfony-france/page.tsx
index adc5ed21..f5c156e6 100644
--- a/src/app/agence-symfony-france/page.tsx
+++ b/src/app/agence-symfony-france/page.tsx
@@ -350,7 +350,7 @@ export default function AgenceSymfonyFrance() {
href="/modernisation-applicative"
className="text-primary hover:underline"
>
- mise à niveau de vos systèmes
+ modernisation applicative
{" "}
couvre l'ensemble du parcours, de l'audit initial
au déploiement de la nouvelle architecture.
diff --git a/src/app/maintenance-applicative-symfony/page.tsx b/src/app/maintenance-applicative-symfony/page.tsx
index 1b052b63..7e0ae1cf 100644
--- a/src/app/maintenance-applicative-symfony/page.tsx
+++ b/src/app/maintenance-applicative-symfony/page.tsx
@@ -291,7 +291,7 @@ export default function MaintenanceApplicativeSymfony() {
href="/migration-symfony"
className="text-primary hover:underline"
>
- refonte et migration sous Symfony
+ migration Symfony
{" "}
prend le relais avec une approche par paliers.
Pour les applications PHP legacy à{" "}
diff --git a/src/app/notre-expertise/page.tsx b/src/app/notre-expertise/page.tsx
index bff3643e..eef45b6c 100644
--- a/src/app/notre-expertise/page.tsx
+++ b/src/app/notre-expertise/page.tsx
@@ -167,7 +167,7 @@ export default function NotreExpertise() {
-
Amélioration de vos logiciels existants
+
Modernisation applicative
Migration Symfony : montée de version par paliers
Modernisation d'application PHP : du legacy vers Symfony
diff --git a/src/app/secteur/application-metier/page.tsx b/src/app/secteur/application-metier/page.tsx
index 34ba13d1..611a2418 100644
--- a/src/app/secteur/application-metier/page.tsx
+++ b/src/app/secteur/application-metier/page.tsx
@@ -313,7 +313,7 @@ export default function SecteurApplicationMetier() {
href="/secteur/maintenance-applicative"
className="text-primary hover:underline"
>
- suivi de vos systèmes
+ maintenance applicative
{" "}
garantit la pérennité de l'investissement après la
mise en production.
diff --git a/src/app/secteur/migration-legacy/page.tsx b/src/app/secteur/migration-legacy/page.tsx
index ad6f3b98..2554aea3 100644
--- a/src/app/secteur/migration-legacy/page.tsx
+++ b/src/app/secteur/migration-legacy/page.tsx
@@ -325,7 +325,7 @@ export default function SecteurMigrationLegacy() {
href="/secteur/maintenance-applicative"
className="text-primary hover:underline"
>
- maintenance de vos applications
+ maintenance applicative
{" "}
prend le relais pour garantir la pérennité de l'investissement.