Je suis un peu plus présent sur le site pour diverses raisons, et je viens de me rendre compte que ça fait un bail que je n’avais pas changé l'édito. Après plus d'un an et demi de boulot, la version 4 du site va prochainement sortir en β. Il lui manque encore certains de « modules », mais la base est assez stable pour être utilisable.
Il faut dire, réécrire intégralement le code ça ne se fait pas en claquant des doigts, surtout quand il y a 1,44 Mio pour 157 fichiers à revoir. Malheureusement, faire une comparaison de taille serait un peu foireux. J'ai actuellement 0,5 Mio pour plus de 200 fichiers, plus 0,14 Mio de templètes pour plus de 150 fichiers sur la nouvelle version. Mais en pratique, j'ai déjà réécrit bien plus de la moitié du code, il faut voir que la version 3 est un amas de code procédural qui est devenu une plaie à maintenir. Le code PHP et le HTML sont mélangés, il en va de même pour presque tout. De fait, trouver comment débloquer un problème ressemble à un parcourt semé d'embûches relativement décourageantes. En fait, la version III fonctionne autour d'un énorme fichier de fonctions et d'un micro noyaux qui ne sait faire qu’appeler des fichiers suivant 2-3 règles... Trop simple, et finalement impossible à modifier.
Comme je le dis j'ai tout revu pour la V4 en créant un vrai noyau qui permet de ne plus mélanger HTML et scripts. Tout revoit avec un modèle objet (et non procédurale) bien plus dynamique qui permet une réutilisation infiniment plus simple du code. C'était un énorme défi que je me suis lancé, réussir à faire moi-même quelque chose qui me facilite la vie. J'aurais très bien pu prendre un gestionnaire de templètes, de requête, d'AJAX, etc. il y a à foison sur le net. Cependant, j'avais envie d'un truc personnel dont je comprends 100% de la mécanique qui se trouve dernière. J'ai fait de même pour le parseur de balise de commentaire, mais là c'est parce que je n'avais pas trop le choix. Des soucis de rétrocompatibilité avec l'existant m'ont obligé à créer un parseur capable de lire toutes les foutues balises que j'ai créées depuis l’existence du site, mais pire faire que ça fonctionne sans planter. Ce dernier point n'a pas été simple, et même le premier reste compliqué, je n'ai pas encore fini d'intégrer toutes les balises. J'estime cependant que cela ne devrait pas très trop complexe, la base est là, par contre cela risque d'être chronophage, car je dois tester des balises compliquées qui pour certains ne sont plus utilisées depuis des années...
Un nouveau site, nouveau design. J'ai mis un certain temps avant de trouver quelque chose qui me plaise. Je tâtonne pas mal jusqu'à trouver une idée et j'essaie de m'y tenir. On doit bien s'en rendre compte en regardant l'évolution sur le bug. À un moment, j'ai voulu le changer, car un peu simpliste par rapport à la version actuelle, puis finalement j'ai réussi à broder quelque chose autour. Il risque d'y avoir encore des ajustements jusqu'à la version finale, car il y a toujours certaines parties qui ne me satisfont pas. Pour le menu du haut, il est toujours présent et fixe, avec de nouvelles icônes dont on peut en voir une agrandie au début de texte. Comme à chaque version, je change un peu le style. Mais j'essaie tout de même de garder les personnages emblématiques du site. Même si on ne peut pas dire qu'ils aient une si grande importance. Enfin, une fois la version du site en ligne, je compte bien me remettre à dessiner la suite.
Pour l'instant, ce n'est pas terminé, mais une annonce sera présentée lors de l'ouverture au public de la nouvelle version. J'espère qu'elle ne va pas rester en β pendant un an comme ce fut le cas de la version III.