Consultation/édition d’un site local et mise à jour d’un site miroir sur internet

Du fait d’un faible débit internet je dois avoir la possibilité de consulter et de créer du contenu sur des sites hébergés localement (rapidité de chargement des documents volumineux) mais aussi de pouvoir les proposer en miroir sur la toile.
ZwiiCMS fonctionne sans base de données il n’y a donc pas besoin de synchroniser deux bases de données, il suffit de dupliquer puis de maintenir à jour le contenu du répertoire « /site », du site local vers le site sur la toile.
Pour la gestion des fichiers, des images et autres éléments propre au contenu du site, 2 possibilités se présentent :
- Soit créer une arborescence dans le répertoire /site/file/source et utiliser le gestionnaire de fichiers interne à ZwiiCMS
- Soit créer un répertoire spécifique (data) dans lequel sont déposé tous les fichiers du contenu. Le gestionnaire de Zwiicms ne gère que les fichiers nécessaires à Zwiicms (fond d’écran, bannière …).
J’ai choisi la deuxième solution car dans le cas du maintien de plusieurs sites, il s’avère plus facile, à l’aide de l’explorateur de fichier, de gérer plusieurs répertoires data en local, que d’utiliser le gestionnaire de ZwiCMS.
Les sites locaux sont hébergés sur un serveur web (Container Debian sur serveur Proxmox).
Pour effectuer la mise à jour des sites hébergés sur la toile, j’utilise lftp qui permet à l’aide de scripts la mise à jour automatique (taches cron) ou forcée par un lancement manuel.
Il y a d’autres avantages avec ce système miroir comme la sécurité d’avoir 2 copies du même site, de pouvoir travailler sur le site local sans bloquer l’accès au site présent sur la toile et faire sa mise à jour d’un clic une fois l'édition finie et validée 😊 .
Lftp
>> http://www.pingouindesalpes.com/hugo/post/lftp/
>> https://www.erasme.org/Mettre-a-jour-un-site-Internet
Hervé
Commentaires
jour=$(date +%d_%m_%H_%M)
ficLog=./log/lognomdusite.txt
synchro=./log/synchronomdusite_$jour.txt
LOCAL="/var/www/html/nomdusite"
DISTANT="/"
EXCLUS=""
lftp ftp://identifiantftp:passeftp -e "mirror -e -R $EXCLUS $LOCAL $DISTANT -v --verbose=1 --log=${synchro}; quit" >> ${ficLog}