5
Indiquez l’intérêt que vous portez à cette question
0

Base de donnée qui se brise en utilisation ?

Bonjour,

J’ai monté il y a maintenant un peu plus d’un an et demi un site en SPIP, avec Z-Core et un design un peu austère (parce que fait dans l’urgence). "Jusque là, tout allait bien," mais une des utilisatrices du site m’a indiqué récemment que le site ne fonctionnait plus pour elle et en allant voir je me suis rendue compte que la base de donnée était... "pas en super bon état" (plein de messages d’erreur SQL sur le panneau d’admin et même côté public parfois).

A la base j’ai monté le site avec SQLite3 (parce que je ne suis pas à l’aise du tout avec MySQL), donc dans un premier temps je me suis dit que c’était peut-être "juste" un problème de stabilité de SQLite3 par rapport à MySQL. "D’accord", en partant sur cette hypothèse j’ai été récupérer la base de donnée sur le FTP, fait un examen du fichier en CLI (PRAGMA check), découvert que le fichier était "malformé", et tant bien que mal bricolé pour extraire du fichier malformé un fichier lisible en bricolant. (Je crois que j’ai adapté cette méthode, mais honnêtement plus sûre...)

En remettant ce fichier reconstruit à la place de l’original, j’ai pu restaurer une partie des fonctionnalités du site. Cependant, il est vite apparu qu’il manquait des catégories, et en visitant certains articles j’ai réalisé que les problèmes étaient toujours là.

Arrivée à ce soir, par curiosité je tente d’ouvrir le fichier de base de donnée et de le comparer avec ce que je vois côté panneau d’administration sur le site.

Les articles sont présents des deux côtés. Par contre, je remarque que les id_rubriques des articles sont souvent orphelins : aucune rubrique visible depuis le panneau d’administration ne porte le même id que ces articles perdus. Et effectivement, ce sont ces articles qui n’apparaissent pas côté public.

Du coup je regarde côté spip_rubriques... et là je me dis qu’il y a un truc vraiment chelou qui se passe.

Est-ce que vous avez déjà vu un truc comme ça ? C’est comme si la table spip_rubriques était aussi utilisée pour un truc qui n’a rien à voir (à savoir : stocker des informations sur des types de fichiers). Du coup les lignes 1 à 10 contiennent des spécifications de fichiers (JPEG, AIFF, etc.), ensuite de 11 à 15 il y a des trucs qui étaient prévus comme des catégories,/rubriques ensuite en 16 encore un type de fichier, et ensuite à partir de 17 d’autres catégories/rubriques.

J’ai honnêtement l’impression que le casse-tête a une clé qui se trouve là, mais n’étant pas à l’aise avec les bases de données, je ne sais pas comment avancer...

En termes d’environnement :
- SPIP 3.2.4.
- Plugins installés : Z-core, c’est tout.
- "A priori" je pense franchement pas que le problème vienne des squelettes, je pense que si c’était le cas ça aurait cassé dès le début.
- Le site est alimenté par deux-trois personnes, qui utilisent principalement l’éditeur de texte interne de SPIP et upload régulièrement des fichiers (surtout des PDF et des images).

Je crois que j’ai dit tout ce qui me passait par la tête. Un peu désemparée, cette panne me semble tellement inattendue que je ne vois même pas par où commencer pour la résoudre.

Merci beaucoup pour toute aide que vous seriez capable de m’apporter !