Aller au contenu

Build et production

Cette page couvre la compilation du plugin depuis les sources, son empaquetage pour la distribution, et son déploiement sur le serveur de production.

Fenêtre de terminal
pnpm run build:assets # Compile JS/CSS source → assets/build/ (Webpack, production)
pnpm run build:assets:dev # Idem, mode développement
pnpm run build # Build du bloc Gutenberg (wp-scripts)
pnpm run build:all # Les deux : bloc + assets

Les fichiers source frontend dans assets/src/js/ sont compilés via Webpack 5 en assets/build/frontend.js. Le bloc Gutenberg utilise la chaîne d’outils @wordpress/create-block.

Le répertoire dist/ contient le plugin prêt à être déployé :

dist/
├── irisolaris-map.php # Point d'entrée du plugin
├── composer.json / composer.lock
├── vendor/ # Dépendances Composer (PhpSpreadsheet, etc.)
├── src/
│ ├── Core/Plugin.php
│ ├── Admin/Admin.php
│ ├── API/API.php
│ ├── API/DensityController.php
│ ├── Frontend/Frontend.php
│ └── blocks/map/
│ ├── block.json
│ ├── edit.js
│ └── view.js
├── includes/
│ ├── class-irisolaris-map-activator.php
│ └── class-irisolaris-map-uninstaller.php
├── assets/
│ ├── build/
│ │ ├── frontend.js # Application cartographique principale (compilée depuis les sources modulaires)
│ │ ├── frontend-style.css
│ │ └── public-style.css
│ └── json/
│ └── map-theme.json # Document de style MapLibre
├── admin/
│ ├── js/import.js # UI d'import admin
│ └── partials/ # Templates des pages admin
├── templates/
│ └── map-shortcode.php # Template du shortcode
└── languages/ # Fichiers de traduction

Une fois les assets compilés, le plugin doit être versionné et empaqueté pour le déploiement.

Le script set-version.sh met à jour le numéro de version dans trois fichiers :

  • package.json
  • irisolaris-map.php (en-tête du plugin)
  • includes/config.php (constante IRISOLARIS_MAP_VERSION)

Le script package.sh produit un zip déployable :

  1. Exécute pnpm run build:all (compile le bloc et les assets frontend)
  2. Empaquète le plugin (exclut les fichiers source, inclut la sortie compilée)
  3. Crée un zip versionné : irisolaris-map-v{version}-{timestamp}.zip
  1. Exécuter ./package.sh pour produire un zip versionné
  2. Uploader et extraire dans le répertoire des plugins WordPress sur le serveur (wp-content/plugins/irisolaris-map/)
  3. Vérifier que le plugin est actif dans l’administration WordPress

Une configuration Docker Compose existe pour le développement local :

Fenêtre de terminal
docker compose up -d

Le plugin utilise 10 options WordPress pour la configuration à l’exécution (pas de fichier .env). Voir Configuration pour plus de détails.