146
edits
Theopequiii (talk | contribs) (Direct DoliStore link) |
Theopequiii (talk | contribs) (Module update (editor: Theo Pequignot)) |
||
| Line 19: | Line 19: | ||
|- | |- | ||
! Version | ! Version | ||
| | | 2.2.0 | ||
|- | |- | ||
! Dolibarr | ! Dolibarr | ||
| Line 43: | Line 43: | ||
* '''Vérification et journal''' : SHA-256 du fichier final, intégrité du zip, marqueur de fin dans database.sql, déchiffrement de contrôle des 64 premiers Ko. Chaque exécution est consignée (statut, taille, durée, tables, lignes, fichiers, résultat par destination, déclencheur). Alertes e-mail en cas d'échec et quand aucune sauvegarde n'a réussi depuis N jours. | * '''Vérification et journal''' : SHA-256 du fichier final, intégrité du zip, marqueur de fin dans database.sql, déchiffrement de contrôle des 64 premiers Ko. Chaque exécution est consignée (statut, taille, durée, tables, lignes, fichiers, résultat par destination, déclencheur). Alertes e-mail en cas d'échec et quand aucune sauvegarde n'a réussi depuis N jours. | ||
* '''Tableau de bord''' (Outils, Sauvegardes) : dernière sauvegarde réussie, état de la planification, diagnostic du serveur (mysqldump, extensions, espace disque, taille estimée), destinations, trente dernières exécutions avec téléchargement et suppression du fichier local. | * '''Tableau de bord''' (Outils, Sauvegardes) : dernière sauvegarde réussie, état de la planification, diagnostic du serveur (mysqldump, extensions, espace disque, taille estimée), destinations, trente dernières exécutions avec téléchargement et suppression du fichier local. | ||
* '''Restauration''' en ligne de commande | * '''Restauration depuis le navigateur''' : envoi du fichier par morceaux, analyse sans rien modifier, contrôle de chaque instruction SQL, sauvegarde de sécurité de l'état actuel, restauration par petites étapes suivie en direct, boutons « Réessayer » et « Revenir à l'état d'avant » si elle s'arrête en route. Sert aussi à déménager vers un Dolibarr neuf où seul BackupGuard est installé. Un script en ligne de commande reste fourni pour les très grosses bases. | ||
* '''Mise à jour de Dolibarr''' : la version corrective et la version majeure suivante sont proposées ; le paquet officiel est contrôlé fichier par fichier avec les empreintes publiées par Dolibarr, une sauvegarde complète et une copie des fichiers remplacés sont faites d'abord, et un bouton remet les fichiers d'avant tant que la base n'est pas mise à niveau. | |||
== Installation == | == Installation == | ||
| Line 61: | Line 62: | ||
* ''Lancer'' : lancer une sauvegarde, télécharger et supprimer les fichiers locaux. Une sauvegarde contient toute la base : ce droit se donne avec discernement. | * ''Lancer'' : lancer une sauvegarde, télécharger et supprimer les fichiers locaux. Une sauvegarde contient toute la base : ce droit se donne avec discernement. | ||
* ''Configurer'' : réglages (administrateurs uniquement). | * ''Configurer'' : réglages (administrateurs uniquement). | ||
* La restauration et la mise à jour de Dolibarr sont réservées aux administrateurs. | |||
== Restaurer == | == Restaurer une sauvegarde == | ||
=== Depuis le navigateur === | |||
Outils, Sauvegardes, bouton « Restaurer une sauvegarde ». | |||
# Envoyer le fichier .zip ou .zip.enc (avec sa phrase secrète s'il est chiffré), ou choisir une sauvegarde déjà présente sur le serveur. L'envoi se fait par morceaux de 2 Mo : la limite de taille d'envoi de PHP ne s'applique pas. | |||
# '''Analyse''', sans rien modifier : déchiffrement, intégrité, versions de Dolibarr, contenu, modules. La restauration est refusée si la sauvegarde vient d'une version plus récente que celle installée. Les avertissements (mise à niveau à prévoir, préfixe de tables différent, modules absents) sont affichés avant de continuer. | |||
# '''Options''' : sauvegarde de sécurité de l'état actuel (conseillée), documents, modules externes. Confirmer en tapant le mot demandé. | |||
# '''Contrôle du SQL''' : chaque instruction de la sauvegarde est vérifiée avant toute écriture ; seules passent celles d'un export, sur les tables de Dolibarr. | |||
# '''Restauration''' par petites étapes, suivie en direct : la durée maximale d'exécution de PHP n'est pas un obstacle. Les mots de passe chiffrés par Dolibarr (SMTP, clés d'API) sont rechiffrés pour la nouvelle installation quand la sauvegarde est chiffrée. | |||
# Se reconnecter. Si la sauvegarde vient d'une version plus ancienne, un bouton ouvre l'assistant de mise à niveau de Dolibarr. | |||
Si la restauration s'arrête en route, « Réessayer » reprend sans rien dupliquer et « Revenir à l'état d'avant » remet la sauvegarde de sécurité. | |||
=== En ligne de commande === | |||
Pour les très grosses bases, ou quand Dolibarr ne démarre plus. | |||
# Récupérer le fichier dolibarr-<base>-AAAA-MM-JJ-HHMM.zip.enc depuis une destination ou le tableau de bord. | # Récupérer le fichier dolibarr-<base>-AAAA-MM-JJ-HHMM.zip.enc depuis une destination ou le tableau de bord. | ||
# Le déchiffrer avec openssl (voir plus haut) ou laisser le script le faire (phrase secrète demandée au clavier ou lue dans la variable d'environnement BACKUPGUARD_ENCRYPTION_PASSWORD). | # Le déchiffrer avec openssl (voir plus haut) ou laisser le script le faire (phrase secrète demandée au clavier ou lue dans la variable d'environnement BACKUPGUARD_ENCRYPTION_PASSWORD). | ||
# Passer Dolibarr en mode maintenance, puis sur le serveur cible : <code>php htdocs/custom/backupguard/scripts/restore.php sauvegarde.zip.enc --documents=/chemin/vers/documents</code> | # Passer Dolibarr en mode maintenance, puis sur le serveur cible : <code>php htdocs/custom/backupguard/scripts/restore.php sauvegarde.zip.enc --documents=/chemin/vers/documents</code>. | ||
# Vider le cache de Dolibarr (documents/admin/temp) et se reconnecter. | # Vider le cache de Dolibarr (documents/admin/temp) et se reconnecter. | ||
== Mettre à jour Dolibarr == | |||
Outils, Sauvegardes, bouton « Mettre à jour Dolibarr ». La page affiche la version installée, les vérifications (droit d'écriture du serveur web, extensions curl et zip, espace disque) et deux propositions : la dernière version corrective, et la version majeure suivante (Dolibarr se met à jour une version majeure à la fois). | |||
# '''Préparer''', sans rien modifier : téléchargement du paquet officiel, puis contrôle de chaque fichier (PHP, JavaScript, SQL de migration, images) avec les empreintes publiées sur dolibarr.org et, pour ce qu'elles ne couvrent pas, celles de la version sur GitHub. Un fichier altéré ou inconnu fait refuser la mise à jour. | |||
# '''Confirmer''' : sauvegarde de sécurité complète, copie des fichiers qui vont être remplacés, puis écriture des nouveaux fichiers. La configuration et le dossier custom ne sont jamais touchés. | |||
# '''Mettre la base à niveau''' avec l'assistant de Dolibarr, ouvert par un bouton (upgrade.unlock depuis Dolibarr 17). | |||
# Tant que la base n'est pas mise à niveau, un bouton remet les fichiers d'avant. | |||
Sous Docker, les fichiers de Dolibarr font partie de l'image : la page donne la marche à suivre (changer la version de l'image) au lieu de remplacer les fichiers. | |||
== Limites connues == | == Limites connues == | ||
| Line 72: | Line 95: | ||
* Export de la base pour MySQL et MariaDB uniquement. Sur PostgreSQL le module l'indique et ne sauvegarde que les documents. | * Export de la base pour MySQL et MariaDB uniquement. Sur PostgreSQL le module l'indique et ne sauvegarde que les documents. | ||
* Les vues, déclencheurs et procédures stockées ne sont pas exportés (Dolibarr n'en crée pas). | * Les vues, déclencheurs et procédures stockées ne sont pas exportés (Dolibarr n'en crée pas). | ||
* | * Une sauvegarde ne se restaure que sur une version de Dolibarr identique ou plus récente. | ||
* La mise à jour de Dolibarr demande que le serveur web puisse écrire dans les fichiers de Dolibarr ; sinon la page l'indique et rien n'est modifié. Les modules externes ne sont pas mis à jour. | |||
* FTP et SFTP dépendent des extensions PHP ftp et ssh2. WebDAV : authentification Basic uniquement (Nextcloud, ownCloud, kDrive, Apache mod_dav). | * FTP et SFTP dépendent des extensions PHP ftp et ssh2. WebDAV : authentification Basic uniquement (Nextcloud, ownCloud, kDrive, Apache mod_dav). | ||
* Le chiffrement protège la copie distante, pas le serveur lui-même : qui lit la configuration de Dolibarr lit la phrase secrète. | * Le chiffrement protège la copie distante, pas le serveur lui-même : qui lit la configuration de Dolibarr lit la phrase secrète. | ||
| Line 88: | Line 112: | ||
File:TheoPequignot-BackupGuard-destinations.png|Les destinations et le test de connexion | File:TheoPequignot-BackupGuard-destinations.png|Les destinations et le test de connexion | ||
File:TheoPequignot-BackupGuard-schedule.png|Planification, URL de déclenchement et rétention | File:TheoPequignot-BackupGuard-schedule.png|Planification, URL de déclenchement et rétention | ||
File:TheoPequignot-BackupGuard-restore.png|Restaurer une sauvegarde depuis le navigateur | |||
File:TheoPequignot-BackupGuard-upgrade.png|Mettre à jour Dolibarr : vérifications et versions proposées | |||
</gallery> | </gallery> | ||
== Versions == | |||
* '''2.2.0''' (2 octobre 2026) : '''mise à jour recommandée à tous'''. Les scripts en ligne de commande (scripts/backup.php et scripts/restore.php) pouvaient être appelés par le serveur web sans connexion ; ils ne répondent plus qu'en ligne de commande. Restauration : chaque instruction SQL est contrôlée, restauration entre serveurs différents (MySQL 8 et MariaDB), boutons « Réessayer » et « Revenir à l'état d'avant ». Mise à jour de Dolibarr : tous les fichiers du paquet sont contrôlés. Export : colonnes BIT et JSON corrigées. | |||
* '''2.1.0''' (2 octobre 2026) : mise à jour de Dolibarr depuis le module. | |||
* '''2.0.0''' (2 octobre 2026) : restauration depuis le navigateur, modules externes inclus dans la sauvegarde, mots de passe chiffrés transportés vers la nouvelle installation. | |||
* '''1.0.0''' (2 octobre 2026) : première version. | |||
== Support == | == Support == | ||
Une question avant l'achat, un souci d'installation ou de mise à jour : écrivez à [mailto:contact@theopequignot.fr contact@theopequignot.fr]. Je suis le développeur du module et je réponds moi-même. Support et mises à jour inclus pendant 2 ans avec l'achat sur le DoliStore. | Une question avant l'achat, un souci d'installation ou de mise à jour : écrivez à [mailto:contact@theopequignot.fr contact@theopequignot.fr]. Je suis le développeur du module et je réponds moi-même. Support et mises à jour inclus pendant 2 ans avec l'achat sur le DoliStore. | ||
edits