Développement local natif

Ce document décrit le parcours de développement local pris en charge pour WebBlocks CMS avec PHP, Composer, Nginx, MySQL ou MariaDB et Redis installés localement. L'outillage local basé sur des conteneurs ne fait plus partie du flux de travail du projet.

URL locale

Utilisez HTTPS approuvé et des domaines .test pour les flux de travail dans le navigateur.

  • URL du CMS : https://webblocks-cms.test
  • Admin : https://webblocks-cms.test/webadmin
  • Installateur : https://webblocks-cms.test/install

php artisan serve reste utile pour des vérifications rapides en CLI ou de routes, mais la cible normale du navigateur doit être la configuration Nginx/PHP-FPM approuvée ci-dessus.

Vérification de l'état de préparation

Exécutez :

composer native:doctor

La commande doctor vérifie l'état de préparation de l'environnement d'exécution local sans installer de services ni modifier de fichiers locaux.

Vérifications manuelles utiles :

php -v
composer --version
nginx -t
mysql --version
redis-cli ping

Sur les installations Homebrew Apple Silicon, les fichiers de service et les journaux se trouvent généralement sous /opt/homebrew. Sur les installations Homebrew Intel, ils se trouvent généralement sous /usr/local.

Installation depuis zéro

composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan db:seed
php artisan storage:link

Ouvrez https://webblocks-cms.test/install pour accéder à l'assistant dans le navigateur lorsque l'installation n'est pas encore terminée.

Environnement

Valeurs typiques en local natif :

APP_ENV=local
APP_URL=https://webblocks-cms.test
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=webblocks_cms
DB_USERNAME=webblocks_cms
DB_PASSWORD=
CACHE_STORE=database
SESSION_DRIVER=database
QUEUE_CONNECTION=sync
CMS_BACKUP_EXECUTION=auto

Utilisez une base de données et un utilisateur locaux distincts pour l'installation du CMS. Si votre machine dispose déjà d'une instance MySQL/MariaDB occupée, utilisez un port distinct et les valeurs .env correspondantes.

Sauvegardes et restaurations

Les commandes de sauvegarde et de restauration utilisent les CLI locales de base de données en mode natif :

  • Les sauvegardes MySQL/MariaDB nécessitent mysqldump ou mariadb-dump.
  • Les restaurations MySQL/MariaDB nécessitent mysql ou mariadb.
  • Les sauvegardes et les restaurations SQLite utilisent des chemins PHP/PDO.

CMS_BACKUP_EXECUTION=auto et CMS_BACKUP_EXECUTION=direct se résolvent tous deux en une exécution directe de la CLI locale pour MySQL/MariaDB. Le projet ne nécessite aucune commande de conteneur pour la sauvegarde ou la restauration.

Vérification rapide (smoke check)

Après un redémarrage de services, une restauration ou une modification de l'environnement, exécutez :

composer native:smoke

Pour des tests ciblés :

php artisan test --filter=PluginCatalogBrowserTest
composer test:release-fast
composer format:changed

Dépannage

Si le navigateur atteint le mauvais site, vérifiez que le bloc serveur Nginx est propriétaire de webblocks-cms.test, que le certificat est approuvé et que /etc/hosts pointe le domaine vers 127.0.0.1.

Si les commandes de base de données échouent, vérifiez DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME et DB_PASSWORD dans .env, puis exécutez :

php artisan config:clear
php artisan migrate:status

Si les fonctionnalités reposant sur Redis échouent, vérifiez que le service Redis local est en cours d'exécution :

redis-cli ping