Mise en place : stratégie de déploiement

Je rumine depuis un moment l’idée d’utiliser mon domaine carevic.eu pour autre chose que du courriel et d’avoir un espace pour écrire sans pseudo. C’est chose faite et tout reste à faire.

Le cœur

Après avoir réfléchi et laborieusement testé plusieurs solutions (Grav et Eleventy notamment), j’ai choisi d’utiliser Kirby CMS qui me semble le plus à ma portée pour pouvoir me concentrer sur le contenu plus « rapidement ».

Pourquoi pas Dotclear ? Je voulais essayer l’approche basée sur des fichiers (flat file) plutôt qu’une base de données et je me retrouve entièrement dans les raisons avancées par Julien dans son étude de cas.

Le tout est toujours hébergé chez Monarobase ❤️.

Kirby est payant (il y a régulièrement des promos), mais vous pouvez l’essayer gratuitement.

Sur Monarobase, il est possible de l'installer en un clic avec Softaculous, qui automatise l’installation d’applications web, si vous n’avez pas envie de le faire manuellement.

Je me suis dit que travailler l’architecture et la stratégie de déploiement du site dès le début serait intéressant pour avoir des fondations solides plutôt que de commencer à me jeter sur le templating et la configuration. Je tâcherai d’écrire ici au fur et à mesure que j’avance.

Un site versionné

L’intérêt d’une approche basée sur des fichiers, c’est la simplicité de sauvegarde et la possibilité d’utiliser Git (disponible sur mon hébergement) pour versionner le site. Si j’étais raisonnable, je me contenterais d’utiliser un transfert FTP et je laisserais les jouets des devs tranquille. Seulement, j’aime bien bidouiller sur mon temps libre et avoir l’impression d’être une apprentie sorcière.

Mon lointain idéal 🌋 :

Travailler en local avec un dépôt (pour les gouverner tous, un dépôt pour les trouver, un dépôt pour les amener tous…), utiliser les submodules pour mettre à jour avec Git l’application Kirby et les plugins et déployer en production tout en versionnant le contenu et la partie technique.

Naïve, je pensais que ça serait facile à mettre en place (à ma décharge, il était déjà minuit quand je m’y suis mise), mais ça s’est révélé plus complexe que prévu. En effet, au départ, j’avais simplement prévu de versionner l’intégralité du dossier où se trouve Kirby.

C'était sans compter sur les conflits et erreurs liées aux modifications en production de certains fichiers. Je suis très loin de maitriser Git que je pratique de manière basique au quotidien. J’ai donc laissé de côté l’idée des submodules ou des subtree pour l'instant et de gérer les plugins avec Git.

Mon organisation actuelle

Travailler en local sur plusieurs dépôts et déployer en production tout en versionnant le contenu et la partie technique.

Ça donne quelque chose de moins élégant puisque j'aurai à jongler dans un dossier entre :

  • un dépôt pour l'application Kirby (dossier kirby) ;
  • un dépôt pour la partie technique avec notamment les dossiers assets et site (en excluant certains dossiers) ;
  • un dépôt pour le contenu (dossier content).

Ne copiez rien de ce qui suit sans le comprendre ou faites-le en gardant bien en tête que je bidouille et que je suis plus que susceptible de faire des erreurs. Développer n’est pas mon métier !

cPanel et Git™ Version Control

Gérer le dossier kirby avec Git et cPanel

En local, cloner le dépôt officiel Kirby (https://github.com/getkirby/kirby.git).

Contact

Vous souhaitez réagir ? N’hésitez pas à m’écrire à contact@luce.carevic.eu.