[clos] Evolution du logiciel du forum vers PhpBB 3.2
Posté : 10 avr. 2017, 09:43
Je vous propose une évolution du logiciel du forum vers PhpBB 3.2
Le logiciel est ici : https://github.com/RefugesInfo/www.refu ... ee/dev-dom
Vous pouvez le tester ici : http://dom.refuges.info/
Avantages (je concède, assez maigres):
Format forum responsive (pour l'affichage sur petits mobiles)
Possibilité de fusionner 2 sujets
Code indépendant du logiciel du forum qui peut être mis à jour
Compatible avec PHP 7
L'idée est de remplacer /forum/... par la dernière livraison complète 3.2 avec pack français http://phpbb-fr.com/telechargements
Comme on ne touchera pas à ces fichiers, on pourra reprendre régulièrement les futures livraisons (ce que je fais sur chemineur)
On y ajoute /forum/photos-points qui est indépendant
PhpBB 3.2 est conçu pour pouvoir développer des plugins dont les fichiers sont complètement indépendants du logiciel forum.
L'arbo de ses fichiers est un peu ésotérique et définie ici https://area51.phpbb.com/docs/dev/31x/e ... asics.html mais ce que nous avons à faire est simple : https://github.com/RefugesInfo/www.refu ... 45e888dadb
Migration de la base:
Phpbb 3.2 est livré avec un convertisseur de base phpbb 2.* qui marche parfaitement.
J'ai préfixé les nouvelles tables phpbb3_ mais on pourra, à terme, supprimer les tables phpbb_*
Petite différence: le lien fiche <-> forum phpbb_topics/topic_id_point est reportée dans points/topic_id
Interfaces wri -> forum:
- Les fonctions appelées souvent et ne faisant que lire des infos dans le SQL forum (autoconnexion, texte premier post, ...) sont conservées dans les modeles/*.php et accèdent aux données du forum via PDO. les modifs sont ici : https://github.com/RefugesInfo/www.refu ... 382b585429
- Les fonctions appelées rarement et modifiant le contenu du forum (création d'un topic point, modification du nom du topic, transfert de commentaire, suppression du forum) simulent un appel URL du forum au moyen de https://github.com/RefugesInfo/www.refu ... #L632-L646 et https://github.com/RefugesInfo/www.refu ... #L135-L179.
Ceci permet d'utiliser les fonctions internes à PhpBB pour assurer ces tâches et garanti l'intégrité de la base qui est beaucoup plus complexe qu'on ne le pense.
Note : L'autoload des classes PHP du modèle MVC/WRI est incompatible avec celui de PhpBB basé sur Symphony, une URL utilise soit le modéle WRI/MVC (et accéder à la base via PDO) soit celui de PhpBB (et accéder à la base via $db). Pas de mélange de code possible.
A discuter.
L'effort vaut il le résultat ?
Le code proposé est il lisible / maintenable ?
(il reste quelques bugs, notamment le bandeau WRI à reporter dans les pages du frum mais je voulais d'abord valider le principe)
La recherche plante mais je pense que c'est plutôt un problème de base (un polygone qui ne se referme pas) que de code.
Le logiciel est ici : https://github.com/RefugesInfo/www.refu ... ee/dev-dom
Vous pouvez le tester ici : http://dom.refuges.info/
Avantages (je concède, assez maigres):
Format forum responsive (pour l'affichage sur petits mobiles)
Possibilité de fusionner 2 sujets
Code indépendant du logiciel du forum qui peut être mis à jour
Compatible avec PHP 7
L'idée est de remplacer /forum/... par la dernière livraison complète 3.2 avec pack français http://phpbb-fr.com/telechargements
Comme on ne touchera pas à ces fichiers, on pourra reprendre régulièrement les futures livraisons (ce que je fais sur chemineur)
On y ajoute /forum/photos-points qui est indépendant
PhpBB 3.2 est conçu pour pouvoir développer des plugins dont les fichiers sont complètement indépendants du logiciel forum.
L'arbo de ses fichiers est un peu ésotérique et définie ici https://area51.phpbb.com/docs/dev/31x/e ... asics.html mais ce que nous avons à faire est simple : https://github.com/RefugesInfo/www.refu ... 45e888dadb
Migration de la base:
Phpbb 3.2 est livré avec un convertisseur de base phpbb 2.* qui marche parfaitement.
J'ai préfixé les nouvelles tables phpbb3_ mais on pourra, à terme, supprimer les tables phpbb_*
Petite différence: le lien fiche <-> forum phpbb_topics/topic_id_point est reportée dans points/topic_id
Interfaces wri -> forum:
- Les fonctions appelées souvent et ne faisant que lire des infos dans le SQL forum (autoconnexion, texte premier post, ...) sont conservées dans les modeles/*.php et accèdent aux données du forum via PDO. les modifs sont ici : https://github.com/RefugesInfo/www.refu ... 382b585429
- Les fonctions appelées rarement et modifiant le contenu du forum (création d'un topic point, modification du nom du topic, transfert de commentaire, suppression du forum) simulent un appel URL du forum au moyen de https://github.com/RefugesInfo/www.refu ... #L632-L646 et https://github.com/RefugesInfo/www.refu ... #L135-L179.
Ceci permet d'utiliser les fonctions internes à PhpBB pour assurer ces tâches et garanti l'intégrité de la base qui est beaucoup plus complexe qu'on ne le pense.
Note : L'autoload des classes PHP du modèle MVC/WRI est incompatible avec celui de PhpBB basé sur Symphony, une URL utilise soit le modéle WRI/MVC (et accéder à la base via PDO) soit celui de PhpBB (et accéder à la base via $db). Pas de mélange de code possible.
A discuter.
L'effort vaut il le résultat ?
Le code proposé est il lisible / maintenable ?
(il reste quelques bugs, notamment le bandeau WRI à reporter dans les pages du frum mais je voulais d'abord valider le principe)
La recherche plante mais je pense que c'est plutôt un problème de base (un polygone qui ne se referme pas) que de code.