PhpBB Lab Académie

Rechercher dans ce cours

Sauvegarder, restaurer et mettre à jour son forum phpBB

Auteur : phpBB-Lab. Date de cette version : jeu. 17 sept. 2026 12:12.

Comprendre ce qu’il faut retrouver après une panne

Objectif de la leçon

Distinguer les fichiers, la base de données et la configuration, puis définir ce qu’une restauration complète doit permettre de retrouver.

Explications

Votre forum a maintenant une histoire

Dans les trois premiers cours, vous avez installé Forum école, organisé les espaces des Jardins Partagés et appris à gérer les membres et les discussions. Vous possédez donc davantage qu’une page d’accueil : des comptes, des groupes, des permissions et des contenus. Une maintenance réussie doit préserver cet ensemble.

Nous allons apprendre à en faire une sauvegarde, à la restaurer dans une copie séparée et à préparer une mise à jour. Restaurer signifie reconstruire un état à partir de sa copie de secours. Ce n’est pas réinstaller un forum vide puis essayer de se souvenir de ce qui existait. À la fin, vous aurez réellement ouvert une copie restaurée et vérifié son indépendance.

Les manipulations continuent sous Windows avec WampServer, dans le laboratoire du premier cours. Votre forum source est C:\wamp64\www\forum-ecole, accessible à http://localhost/forum-ecole/. Sa base s’appelle phpbb_ecole. La source désigne ici cette installation de départ ; elle ne désigne pas le site public phpBB Lab sur lequel vous lisez cette leçon. Nous ne transférons pas le site public dans Wamp.

Première partie : les fichiers

Le répertoire du forum contient le programme phpBB, ses bibliothèques, les styles, les fichiers de langue et les extensions éventuelles. Il contient aussi des fichiers qui ne se téléchargent pas à nouveau avec le logiciel : pièces jointes déposées par vos membres, certaines images et personnalisations.

Par exemple, le dossier files contient les fichiers joints physiques. Le dossier images contient notamment des images du forum et, selon la configuration, les avatars téléversés. Le dossier ext contient les fichiers des extensions. Le dossier store peut contenir des fichiers de travail et des sauvegardes réalisées depuis l’administration. Le cache contient des données calculées que phpBB peut recréer ; nous apprendrons à nettoyer le cache de la copie pour qu’elle reparte avec ses nouveaux paramètres.

Ne transformez pas cette courte visite en sélection manuelle pour votre première sauvegarde. Copier seulement les dossiers dont le nom vous paraît important risquerait d’oublier un ajout. Notre sauvegarde conservera tout le dossier du forum, y compris ses fichiers commençant par un point, comme .htaccess.

Deuxième partie : la base de données

La base est un ensemble de tables gérées par MySQL ou MariaDB, le serveur choisi dans Wamp pendant le premier cours. Les tables conservent notamment les messages, les sujets, les membres, les appartenances aux groupes, les permissions et beaucoup de réglages. Copier le dossier du forum avec l’Explorateur ne copie pas cette base.

Un export SQL est un fichier texte contenant des instructions capables de reconstruire les tables et leur contenu. SQL est le langage utilisé pour communiquer avec le serveur de base de données. Vous n’avez pas à apprendre tout ce langage ; nous expliquerons les quelques instructions utiles avant de les employer. Un export complet doit contenir la structure des tables et leurs données.

Une pièce jointe illustre le lien entre les deux parties. La base indique à quel message elle appartient et comment phpBB doit la retrouver ; son contenu physique se trouve dans les fichiers. L’un sans l’autre ne suffit pas. Même chose pour une extension : ses fichiers et ses données ou réglages en base forment un ensemble.

Le lien entre les deux : config.php

Le fichier config.php, placé à la racine du dossier du forum, indique notamment quel serveur SQL contacter, quelle base utiliser, avec quel compte SQL et quel préfixe de tables. Dans le premier cours, la base et le compte SQL portaient tous les deux le nom phpbb_ecole. Ce sont pourtant deux objets différents : une base stocke les données, un compte possède des droits sur une base.

CamilleAdmin est encore autre chose : c’est votre compte administrateur à l’intérieur du forum. Son mot de passe ne remplace pas celui du compte SQL. Conservez cette distinction : elle nous permettra de préparer un clone qui utilise exclusivement sa propre base.

Une copie du dossier sur une autre adresse ne devient pas automatiquement indépendante. Si son config.php pointe toujours vers phpbb_ecole, cette copie peut agir sur la base de la source. Nous modifierons donc le config.php copié dans un dossier de préparation privé avant de placer les fichiers du clone dans www.

Une paire prise au même moment

Supposons que vous copiiez les fichiers lundi et exportiez la base jeudi. Une nouvelle pièce jointe enregistrée mardi pourrait être référencée dans la base de jeudi, mais absente des fichiers de lundi. Les deux copies sont réelles, mais leur association ne représente pas forcément un état cohérent.

Notre point S1 réunira les fichiers et la base dans une courte période sans écritures. Son nom de dossier contiendra la date et l’heure réelles. Plus tard, S2 désignera le point pris sur le clone juste avant une intervention. Ces noms sont des repères dans votre carnet, pas des fonctions spéciales de phpBB.

Une sauvegarde contient des informations privées et parfois des secrets, notamment dans config.php. Elle reste dans Documents\Sauvegardes-phpBB, hors de www. Nous ne joignons pas cet ensemble à un message public. Nous verrons aussi pourquoi une seconde copie sur le même disque ne protège pas contre la panne de ce disque.

Lire un cours et sauvegarder un forum sont deux activités distinctes

L’export JSON de l’Académie transporte le contenu pédagogique d’un cours et ses questions. Il ne remplace pas une sauvegarde du forum : il ne conserve pas l’ensemble de ses membres, discussions, pièces jointes et réglages. Les extensions du site phpBB Lab ne sont pas automatiquement installées dans votre Forum école. Pour nos essais, le laboratoire issu du parcours, sans intégration externe ajoutée, suffit.

Exemple commenté

Exemple — le dossier existe, mais les discussions ont disparu

Camille retrouve une archive contenant les fichiers du logiciel et peut afficher l’écran d’installation. Elle n’a toutefois aucun export de la base. Créer une base vide puis installer phpBB donnera un nouveau forum, pas les anciens messages des Jardins Partagés.

Dans un second cas, Camille possède l’export SQL, mais a oublié files. Les titres et messages peuvent revenir tandis que les anciens fichiers joints restent introuvables. Ces deux situations expliquent notre objectif : retrouver une paire complète, puis vérifier des données précises au lieu de se satisfaire d’un écran qui s’affiche.

Exercice à réaliser

Exercice — faire l’inventaire de ce que vous voulez retrouver

1. Ouvrez vos notes privées et créez une partie « Cours 4 — maintenance ». N’y inscrivez aucun mot de passe.
2. Notez les trois repères : dossier source C:\wamp64\www\forum-ecole ; adresse http://localhost/forum-ecole/ ; base phpbb_ecole. Si vous aviez choisi d’autres noms, écrivez leurs correspondances avant de poursuivre.
3. Ouvrez le forum source et retrouvez Bac à sable de modération, puis un message d’exercice conservé du troisième cours. Notez son titre exact.
4. Avec un compte ordinaire approprié, vérifiez un accès autorisé et un accès refusé : par exemple eleve_test dans Vie de l’association, puis inscrit_test face à Coordination. Vérifiez le compte réellement connecté à chaque essai.
5. Classez dans vos notes ces éléments sous « fichiers », « base » ou « lien de configuration » : texte d’un message ; contenu physique d’un fichier joint ; appartenance à Adhérents de l’association ; config.php ; fichiers d’un style.
6. Terminez par cette phrase à compléter : « Ma restauration sera validée lorsque je retrouverai… ». Citez un contenu, un fichier et une règle d’accès.

Résultat attendu : une liste de critères vérifiables. Aucun fichier n’est déplacé et aucun compte n’est supprimé dans cette leçon.

Correction et résultat attendu

Correction

Le texte d’un message et l’appartenance à un groupe résident dans la base. Le contenu physique d’une pièce jointe et les fichiers d’un style appartiennent aux fichiers. config.php est lui-même un fichier, mais nous l’isolons dans le raisonnement car il relie le programme à sa base.

Votre critère d’accès doit comporter un compte, un espace et un résultat attendu. « inscrit_test ne peut pas lire Coordination » est utilisable ; « les permissions fonctionnent » est trop vague. Si le laboratoire ne contient aucune pièce jointe, notez-le simplement. Nous créerons un petit fichier témoin sans information privée à la troisième leçon pour vérifier concrètement la partie fichiers.

Si un espace ou un compte manque, reprenez la fin du cours précédent avant d’inventer son état. Une restauration pourra reproduire une mauvaise configuration aussi fidèlement qu’une bonne : il faut d’abord connaître votre point de départ.

À retenir

À retenir

Une sauvegarde phpBB complète réunit les fichiers et la base. config.php détermine la base réellement utilisée. Les comptes SQL et les comptes du forum sont différents. Des fichiers et une base pris à des moments incompatibles ne constituent pas nécessairement une paire cohérente. La réussite d’une restauration se mesure avec des contenus et des accès précis.

Seuil de réussite, en pourcentage : 100 %. QCM obligatoire pour terminer le cours.

Sommaire du cours

Préparer une maintenance que l’on peut vérifier

  1. Comprendre ce qu’il faut retrouver après une panne
  2. Relever un état technique et préparer son carnet de maintenance
  3. Créer des témoins et organiser une fenêtre sans écritures

Constituer une sauvegarde complète et contrôlée

  1. Exporter toute la base dans un fichier SQL réutilisable
  2. Copier les fichiers du forum sans oublier ses données
  3. Contrôler S1, conserver une seconde copie et rouvrir la source

Restaurer et vérifier une copie indépendante

  1. Restaurer la base dans une destination indépendante
  2. Relier les fichiers au clone et isoler son fonctionnement
  3. Prouver la restauration avec les contenus et les accès

Mettre à jour sur une copie vérifiée

  1. Choisir une version cible et vérifier sa compatibilité
  2. Sauvegarder le clone puis remplacer les fichiers du cœur
  3. Terminer la migration nécessaire et vérifier le résultat

Revenir en arrière et entretenir sa méthode

  1. Revenir à un état sauvegardé dans un second clone isolé
  2. Diagnostiquer un échec et choisir la suite de la maintenance
  3. Valider son projet et construire une routine de sauvegarde