# EXP-001 — Baseline WordPress

## Objectif

Établir une photographie initiale, reproductible et read-only de l’installation WordPress de test QuantumDev.

## Hypothèse

L’environnement d’exécution, le core, la configuration observable, les extensions, le thème, les tâches planifiées et les interfaces HTTP/REST peuvent être identifiés sans modifier WordPress.

## Environnement

URL de départ : `https://lab.quantumdev.fr` ; racine observée : `/home/vawa9743/lab.quantumdev.fr` ; SSH fonctionnel ; o2switch/CloudLinux LVE ; PHP CLI et WordPress 8.4.24 ; WP-CLI 2.12.0.

## Préconditions

Accès SSH validé, WP-CLI disponible, version initiale déjà démontrée (WordPress 7.0.4, révision 61833). Aucun identifiant, secret ou clé API utilisé.

## Manipulations

Création du collecteur et des fichiers de preuve dans `lab/`, exécution unique du collecteur, inspection des preuves, puis rédaction de la baseline. Aucun appel POST/PUT/PATCH/DELETE et aucune commande de modification WordPress.

## Commandes

Voir [collect-exp-001.sh](../../lab/scripts/collect-exp-001.sh) et la preuve complète [baseline-raw.txt](../../lab/output/EXP-001/baseline-raw.txt). Le collecteur utilise des lectures WP-CLI, requêtes SQL SELECT, `curl` GET et `wp eval` en lecture seule.

## Résultat attendu

Identifier l’environnement, le core, la base, les plugins, le thème, les permaliens, l’indexation, le cron, REST et HTTP, avec des preuves séparées et des marqueurs explicites pour les inconnues.

## Résultat observé

Core WordPress 7.0.4 vérifié par checksum ; PHP 8.4.24 ; MariaDB 11.4.12 ; 17 tables (2.33 MiB) ; 9 plugins (7 actifs) ; Twenty Twenty-Five 1.5 actif ; 15 événements cron ; REST `/wp-json/` en 200 avec 8 namespaces ; racine HTTP en 301 puis 200 ; 2 pages, 1 article, 1 utilisateur.

## Logs / preuves

- [baseline-raw.txt](../../lab/output/EXP-001/baseline-raw.txt)
- [plugins.txt](../../lab/output/EXP-001/plugins.txt)
- [themes.txt](../../lab/output/EXP-001/themes.txt)
- [cron.txt](../../lab/output/EXP-001/cron.txt)
- [rest.txt](../../lab/output/EXP-001/rest.txt)
- [http.txt](../../lab/output/EXP-001/http.txt)

## Écart attendu / observé

Les champs demandés sont majoritairement démontrés. WP_ENVIRONMENT_TYPE, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, DISABLE_WP_CRON, wp-admin, rollback externe et le diagnostic Site Health CLI restent non démontrés. La commande `wp core path` et la sous-commande `wp site health status` ne sont pas disponibles dans WP-CLI 2.12.0 ; le chemin est donc celui de la racine de travail du collecteur.

## Risques

Risque d’observation négligeable ; les requêtes sont en lecture seule. Les réponses HTTP/REST peuvent évoluer avec le temps et les compteurs cron sont instantanés.

## Rollback

Aucun rollback nécessaire pour les opérations WordPress. Aucune méthode de rollback locale n’a été démontrée ; sauvegarde o2switch externe non vérifiée.

## Conclusion

La baseline initiale est suffisamment établie pour clôturer EXP-001, avec les limites explicitement listées.

## Niveau de confiance

fort

## Production

acceptable sous conditions

## Matière éditoriale

### Enseignement

Une baseline utile sépare les faits observés des paramètres réellement inconnus.

### Chiffre

7 plugins actifs, 5 thèmes installés, 15 événements cron, 8 namespaces REST.

### Surprise

Le site redirige vers `www` et expose simultanément `wp-abilities/v1` dans les namespaces REST observés ; cela est rapporté comme état, sans extrapolation.

### Erreur

La première exécution du collecteur a révélé une erreur interne d’encapsulation des arguments ; elle a été corrigée avant la collecte finale et n’a pas touché WordPress.

### Décision

Conserver cette photographie comme état initial et ne lancer aucune modification dans le cadre d’EXP-001.

### Capture exploitable

La preuve HTTP montre la chaîne 301 `lab` → `www`, puis 200, et REST 200 avec `X-Robots-Tag: noindex`.

### Angle LinkedIn

« Avant toute mise à jour WordPress, produire une baseline reproductible, prouver les faits et nommer les inconnues. »

### Niveau de preuve

démontré
