Copier les fichiers du forum sans oublier ses données
Objectif de la leçon
Compléter S1 par une copie intégrale des fichiers, conserver les éléments particuliers du forum et distinguer cette sauvegarde d’un export de cours School.
Explications
Le fichier SQL ne contient pas tout
La leçon précédente a produit phpbb_ecole.sql. Ce fichier décrit les tables et les données du forum. Il ne contient pas automatiquement les programmes PHP, les styles, les extensions ni les fichiers ajoutés sur le disque. Nous allons maintenant copier l’installation qui correspond à cet export, pendant la même période sans écriture.
Pensez à une pièce jointe : la base peut enregistrer son nom, son auteur et le message associé, tandis que ses octets sont conservés dans les fichiers du forum. Restaurer uniquement la base peut donc faire réapparaître une référence vers une pièce jointe absente. À l’inverse, disposer du fichier sans les informations de la base ne reconstitue pas son message ni ses autorisations.
Dans notre laboratoire, nous avons créé un témoin plus simple, preuve-maintenance.txt. Son texte « Fichier témoin du laboratoire phpBB. » permettra de vérifier une vraie donnée du disque sans introduire de document personnel. Le sujet « Maintenance — témoin avant sauvegarde » servira séparément à vérifier les données SQL. Les deux témoins sont complémentaires.
Copier le dossier réellement utilisé
Notre dossier source est exactement :
C:\wamp64\www\forum-ecole
Ne choisissez pas le ZIP d’installation téléchargé autrefois, ni un dossier de phpBB extrait à côté. Le paquet d’origine fournit le logiciel de départ ; il ne contient pas les réglages et ajouts qui existent aujourd’hui dans votre installation. Vérifiez dans le dossier source la présence de config.php et de preuve-maintenance.txt.
Dans le dossier privé S1, créez un sous-dossier fichiers. Avec l’Explorateur, sélectionnez le dossier forum-ecole dans C:\wamp64\www, puis utilisez Copier. Ouvrez ensuite le sous-dossier fichiers de S1 et utilisez Coller. Au clavier, Copier et Coller correspondent habituellement à Ctrl+C et Ctrl+V. N’utilisez pas Couper : l’installation source doit rester à sa place.
Le résultat attendu est S1, puis fichiers, puis forum-ecole, puis les fichiers de l’installation. En ouvrant cette dernière copie, vous devez retrouver config.php directement, sans un deuxième niveau forum-ecole ajouté par erreur. S’il existe déjà un dossier du même nom dans S1, ne fusionnez pas des sauvegardes prises à des dates différentes. Utilisez un nouveau dossier S1 horodaté et recommencez la paire complète.
Reconnaître les éléments que l’on conserve
config.php permet à phpBB de joindre sa base. Il contient notamment le nom de la base, le compte SQL, son mot de passe et le préfixe des tables. Ce fichier est nécessaire pour comprendre et reconstruire l’installation ; il est aussi confidentiel. Ne le publiez pas, ne le joignez pas à un sujet d’aide et ne recopiez pas son mot de passe dans inventaire.txt.
Le dossier files conserve normalement les pièces jointes. Le dossier images peut contenir des images particulières et les avatars téléversés, selon les réglages du forum. ext contient les fichiers des extensions ; styles contient les fichiers des styles. Leurs réglages et leur état d’activation se trouvent aussi dans la base. Nous conservons ces dossiers même si vous pensez n’avoir rien personnalisé.
store peut contenir des sauvegardes ou des fichiers de travail. Copiez-le dans ce point complet et gardez à l’esprit qu’il peut lui-même contenir des informations privées. Conservez également les langues, vendor et les autres dossiers du logiciel. Nous ne faisons pas ici un tri entre fichiers jugés utiles et inutiles : le point S1 est une copie de l’installation entière.
Le dossier cache contient des informations générées que phpBB peut recréer. Cela ne vous autorise pas à supprimer des éléments dans la source pendant la sauvegarde. Copiez le dossier avec le reste. Au moment de préparer un clone, une leçon expliquera précisément quels contenus générés vider et quels fichiers de protection conserver. Sauvegarder et préparer une copie à démarrer sont deux étapes distinctes.
Les fichiers dont le nom commence par un point, notamment .htaccess, comptent aussi. Certains outils peuvent les masquer. Copier le dossier complet avec l’Explorateur évite une sélection manuelle limitée à ce que l’écran affiche. Pour contrôler les noms, activez si nécessaire l’affichage des extensions et des éléments masqués dans les options de l’Explorateur ; le chemin de ces commandes varie entre Windows 10 et Windows 11. Le point initial d’un nom n’implique pas à lui seul l’attribut « masqué » sous Windows.
Contrôler la fin de la copie
Attendez la fin de l’opération et lisez tout message de copie. Une boîte de dialogue proposant d’ignorer un fichier ne constitue pas un succès. Notez le chemin concerné et résolvez la cause. Vérifiez d’abord l’espace disponible et que vous disposez des droits de lecture sur le dossier source et d’écriture dans votre dossier privé. N’accordez pas des droits universels au serveur pour contourner un problème de copie locale.
Vous pouvez comparer dans les propriétés le nombre de fichiers, le nombre de dossiers et la taille totale entre la source et la copie. Comparez la taille des fichiers, pas uniquement « Taille sur le disque », qui dépend du support. Ces contrôles repèrent des oublis importants ; ils ne prouvent pas que chaque fichier a exactement le bon contenu.
Ouvrez le fichier témoin dans la copie avec un éditeur et relisez sa phrase. Vérifiez la présence de config.php sans communiquer son contenu. Retrouvez les dossiers files, images, ext, styles, store et cache. Si vous aviez déjà des pièces jointes fictives dans le laboratoire, relevez un exemple à tester sur le futur clone ; ne créez pas de nouvelle pièce jointe maintenant, puisque les écritures sont gelées.
Ne pas confondre les différentes sortes d’export
Le JSON de School que vous importez dans l’Académie décrit un cours, ses chapitres, ses leçons et ses questions. C’est un fichier pédagogique. Il ne sauvegarde pas tout le forum et ne remplace ni phpbb_ecole.sql ni la copie des fichiers. Un ZIP du dossier forum-ecole ne remplace pas davantage l’export SQL.
phpBB propose aussi sa propre sauvegarde de base dans le panneau d’administration. Cette fonctionnalité a un format et un emplacement prévus par phpBB. Son écran de restauration attend des sauvegardes créées par cette fonctionnalité. Pour conserver un parcours clair, nous utilisons phpMyAdmin pour notre export SQL et nous utiliserons phpMyAdmin pour son import. Nous ne déplacerons pas phpbb_ecole.sql dans store en espérant l’importer avec un autre outil.
Enfin, une copie locale dans Documents reste une donnée privée du compte Windows concerné, pas un coffre automatiquement chiffré. Vérifiez qui peut accéder à votre ordinateur et si Documents est synchronisé avec un service. Ne créez aucun lien public vers S1. Nous préparerons à la leçon suivante une seconde copie indépendante et un relevé de contrôle.
Exemple commenté
Exemple — les deux moitiés d’une restauration
Dans une sauvegarde incomplète, Camille retrouve la discussion d’un membre, mais le téléchargement d’une ancienne pièce jointe échoue. Elle possède les informations du message dans SQL ; elle a oublié files lors de la copie. Le titre visible ne prouve donc pas que tout a été restauré.
Dans notre atelier, nous vérifierons d’abord le sujet témoin et le fichier texte témoin. Si votre installation contient des pièces jointes, leurs téléchargements feront partie des tests supplémentaires. Ne fabriquez pas une preuve positive en ajoutant après coup au clone un fichier absent de S1 : cela masquerait l’oubli à corriger.
Exercice à réaliser
Exercice — compléter la moitié fichiers de S1
1. Sur Windows, vérifiez que la période sans écriture est toujours respectée et que le SQL de la leçon précédente appartient à cette même période.
2. Créez fichiers dans votre dossier S1. Depuis C:\wamp64\www, copiez le dossier forum-ecole entier dans ce sous-dossier.
3. Attendez la fin sans ignorer d’erreur. Dans la copie, retrouvez config.php directement dans fichiers\forum-ecole.
4. Contrôlez les dossiers files, images, ext, styles, store et cache, ainsi que .htaccess lorsqu’il existe à l’emplacement correspondant de la source.
5. Lisez preuve-maintenance.txt dans la copie. Sa phrase doit être intacte. Comparez les propriétés de la source et de la copie.
6. Dans preuves.txt, notez les heures de copie, les chemins source et destination et vos observations. Écrivez aussi, en une phrase, ce que le JSON School ne sauvegarde pas.
Correction et résultat attendu
Correction et résultat attendu
Le dossier S1 contient phpbb_ecole.sql et fichiers\forum-ecole, sans fusion avec un ancien point. Le dossier source existe toujours. Le fichier témoin se lit dans la copie et les éléments particuliers de phpBB sont présents. Toute erreur de copie a été résolue avant de déclarer cette étape terminée.
La réponse sur School est : un export de cours conserve le contenu pédagogique, mais pas l’installation complète, les comptes, les permissions et tous les fichiers du forum. Notre sauvegarde de maintenance réunit l’export SQL de la base et la copie intégrale des fichiers. Le résultat n’est encore qu’un point candidat : sa restauration dans un environnement séparé donnera une preuve beaucoup plus forte.
À retenir
Copiez l’installation utilisée, et pas seulement le paquet phpBB d’origine. Gardez config.php, les données téléversées, les styles, extensions et fichiers de protection. La copie doit rester privée et appartenir au même état que le SQL. Un export JSON School n’est pas une sauvegarde complète du forum.
Seuil de réussite, en pourcentage : 100 %. QCM obligatoire pour terminer le cours.