J'aimerais faire un point sur les commentaires. Dans la version 0.5 j'ai introduis la possibilité de laisser des commentaires sur les photos car la demande était très forte. J'avais eu un problème à l'époque, problème que j'ai toujours plus ou moins aujourd'hui : comment stocker efficacement des commentaires sans base de données ?
- fichiers textes : un peu galère, il faut gérer correctement les retours à la ligne, définir un format de fichier correct.
- sérialisation d'objet : très facile à implémenter, mais très peu souple : si la structure de l'objet sérialisé change, il devient difficile de récupérer le contenu du fichier sérialisé. Je ne pense pas non plus que la sérialisation soit un vrai moyen de persistance.
- fichiers xml : usine à gaz en php, surtout sans simpleXml de php5
- utiliser une base de données
Les trois méthodes posent la problématique suivante : faut-il utiliser un seul fichier de stockage, ou un par galerie ? Faire une zone d'administration correcte avec un fichier par galerie c'est difficile rapidement et simplement du fait que l'information n'est pas centralisée.
La version stable actuelle de luxbum utilise une base de données MySQL. Cela pose des problèmes continus car c'est radicalement plus compliqué que le reste de luxbum et que je n'ai pas fait une implémentation correcte. J'avais voulu rester dans l'idée de simplifier la vie de l'utilisateur, la création de la table MySQL est censée être automatique, mais ça ne fonctionne pas correctement ; il faut également au préalable disposer d'une base de données MySQL. En développant la future version j'ai découvert la sérialisation des objets, j'ai donc supprimer la base MySQL et remplacé par un fichier sérialisé dans chacune des galeries. Seulement lors de mes premiers travaux sur la refonte du manager je me suis heurté au problème de l'administration centralisées des commentaires rendue difficile par l'éclatement des commentaires dans chacun des dossiers des galeries.
Depuis j'ai transformé luxbum en php5, je me rend compte que sqlite pourrait reprendre le meilleur de chacun des mondes. Je n'ai pas encore décidé si je vais utiliser sqlite pour le stockage des commentaires, mais il y a de très fortes chances. Pour ne pas pénaliser les personnes disposant d'un hébergement sans sqlite, il faut que je réfléchisse à la possibilité de supporter la sérialisation et sqlite comme deux supports de stockage des commentaires.
