❗️ GRRR ne maintient plus ce plugin.
Nous vous recommandons d'utiliser le plan Pro du plugin Simply Static. Lorsque nous avons démarré ce plugin, il a corrigé le manque de fonctionnalité de déploiement dans Simply Static. Depuis, le plugin a été mis à jour et le forfait Pro offre exactement ce qui nous manquait.
GRRR a contribué au code et aux fonctionnalités du plugin Simply Static, et nous sommes heureux de le voir grandir.
Nous vous suggérons d'y jeter un œil, l'investissement en vaut la peine.
Merci à tous ceux qui se sont intéressés à ce plugin !
Si vous avez aimé utiliser ce plugin ou si vous en avez été inspiré d'une manière ou d'une autre, vous aimeriez peut-être suivre notre blog, où nous écrivons sur notre travail et les choses que nous apprenons en cours de route : grrr.tech.
Ce plugin nécessite :
Ce plugin doit être installé à l'aide de Composer.
Assurez-vous d'avoir configuré les bons chemins d'installation dans votre composer.json
. Cela doit être fait avant de demander le colis :
"extra" : {
"installer-paths" : {
"wp-content/plugins/{$name}/" : [ " type:wordpress-plugin " ]
}
}
Installer via Composer :
$ composer require grrr-amsterdam/simply-static-deploy
Si vous n'utilisez pas encore Composer dans votre projet, assurez-vous d'avoir besoin du chargeur automatique Composer. Un bon endroit serait dans votre wp-config.php
:
/** Sets up WordPress vars and included files. */
require_once ABSPATH . ' vendor/autoload.php ' ; # ‹— add this
require_once ABSPATH . ' wp-settings.php ' ;
Définissez d’abord SIMPLY_STATIC_DEPLOY_CONFIG
dans votre configuration WordPress :
define ( ' SIMPLY_STATIC_DEPLOY_CONFIG ' , [
' aws ' => [
' key ' => ' ... ' , # AWS access key
' secret ' => ' ... ' , # AWS secret key
' region ' => ' ... ' , # AWS region
' bucket ' => ' ... ' , # S3 bucket
' bucket_acl ' => ' ... ' , # S3 bucket ACL (optional, defaults to `public-read`)
' distribution ' => ' ... ' , # CloudFront distribution ID (optional, step is skipped when empty)
' endpoint ' => ' ... ' , # For usage with providers other than AWS (optional)
],
' url ' => ' ... ' , # Website url (used for displaying url after deploy is finished)
]);
Configurez ensuite le plugin Simply Static via l’interface d’administration. Le paramètre le plus important à prendre en compte est :
Delivery Method
: définie sur Local Directory
(les fichiers sont synchronisés avec S3, le zip ne fonctionnera pas)Autres paramètres auxquels vous devez prêter attention :
Additional URLs
: ajoutez toute URL que le plugin ne parvient pas à trouverAdditional Files and Directories
: ajoutez des répertoires supplémentaires (par exemple des ressources frontales)URLs to Exclude
: par exemple le dossier des téléchargements (mais uniquement lorsque vous déchargez les téléchargements au moment de l'exécution) Si tout est configuré correctement, cliquez sur Generate & Deploy
dans l'onglet Deploy
.
Les pages/publications sont livrées avec un seul bouton de déploiement, de sorte qu'une seule page puisse être générée et déployée, voir l'interface utilisateur de déploiement d'une seule page/post-déploiement.
Un déploiement de publication ou de page unique peut également être effectué de manière récursive en cochant l'option récursive, voir la case à cocher dans l'interface utilisateur de déploiement d'une seule page/post-déploiement. Lorsque « récursif » a été coché, toutes les pages/articles contenant l'URL de la page/article actuel seront également générés et déployés.
Filtres disponibles pour modifier les paramètres et les données transmises au plugin :
Actions disponibles à invoquer ou à agir :
Modifiez les entrées à partir de l'option « Fichiers et répertoires supplémentaires ». Par défaut, tous les chemins sont temporairement résolus en chemins absolus via realpath, pour garantir la résolution des liens symboliques. Un tableau de fichiers non modifiés issus des options est passé en argument.
add_filter ( ' simply_static_deploy_additional_files ' , function ( array $ files ) {
# Modify files, and possibly resolve paths with `realpath`.
return $ files ;
});
Remarque : lors de la génération du site statique, le paramètre additional_files
est mis à jour. Il est restauré une fois terminé.
Lors d'un déploiement unique, seule la page/la publication donnée sera générée, y compris les fichiers indiqués dans le paramètre Simply Static « Fichiers supplémentaires ». Vous pouvez modifier ces fichiers supplémentaires pour des déploiements uniques via le filtre simply_static_deploy_single_additional_files
. Il prend deux arguments : le premier est un tableau de noms de fichiers, le second est l'instance Simply Static Options.
Modifiez les entrées à partir de l'option « URL supplémentaires ». Cela peut être utile pour ajouter des pages qui ne peuvent pas être trouvées par Simply Static (pas dans le plan du site, exclues par un mot de passe, n'ont noindex
, etc...). Un tableau d'URL non modifiées provenant des options est passé en argument.
add_filter ( ' simply_static_deploy_additional_urls ' , function ( array $ urls ) {
# Modify urls, for example by adding missing pages.
return $ urls ;
});
Remarque : lors de la génération du site statique, le paramètre additional_urls
est mis à jour. Il est restauré une fois terminé.
Ce filtre ajoute la possibilité de personnaliser le paramètre d'URL excluable. Cela peut être utile lorsque, par exemple, vous souhaitez ignorer les exclusions lorsqu'une URL contient l'URL parent récursive.
add_filter ( ' simply_static_deploy_recursive_excludable ' , function (
$ excludable ,
string $ staticPageUrl ,
string $ recursiveUrl
) {
# Modify excludable url logic, for example ignore excludeable url setting when current page contains the recursiveUrl
return $ excludable ;
});
Appelé depuis le plugin et reçoit un objet WP_Error
expliquant l'erreur. Vous pouvez décider comment gérer l'erreur, par exemple en la connectant avec un service de votre choix.
add_action ( ' simply_static_deploy_error ' , function ( WP_Error $ error ) {
# Handle the error.
});
Cela sera déclenché une fois toutes les tâches de déploiement terminées. Le premier et le seul argument que vous obtiendrez dans la fonction de rappel est l'instance d'options Simply Static.
add_action('simply_static_deploy_complete' , function (Simply_StaticOptions $options) {
// Finished static deploy job.
});
Appelé lorsque Simply Static a fini de générer le site statique. Cela vous permet de modifier les fichiers générés avant leur déploiement. Le répertoire du site statique est passé en argument.
add_action ( ' simply_static_deploy_modify_generated_files ' , function (
string $ directory
) {
# Modify generated files, like renaming or moving them.
});
Planifiez un événement de déploiement.
Arguments :
hourly
, twicedaily
et daily
. Peut être étendu via cron_schedules. do_action ( ' simply_static_deploy_schedule ' , ' 12:00 ' , ' daily ' );
Remarque : il est important que WP-Cron soit appelé régulièrement. Vous pouvez le faire en désactivant le mécanisme WP-Cron par défaut et en l'appelant via une tâche cron dédiée.
Pour désactiver le WP-Cron par défaut (qui est normalement appelé lorsqu'un utilisateur visite des pages), ajoutez ce qui suit à votre configuration WordPress :
define ( ' DISABLE_WP_CRON ' , true );
Créez une tâche cron appelant WordPres WP-Cron. Le régler toutes les 5 minutes serait une bonne valeur par défaut. Par exemple via crontab -e
sur une machine Linux :
*/5 * * * * curl https://example.com/wp/wp-cron.php?doing-cron > /dev/null 2>&1
Fatal error: Uncaught Error: Class 'GrrrSimplyStaticDeploySimplyStaticDeploy' not found
Vérifiez les instructions d'installation et exigez le chargeur automatique Composer dans votre projet.