En 2012 j’avais travaillé sur le logiciel WIKINDX, un système de base de données bibliographie web pour les centres de recherche, de documentation et les chercheurs. L’initiateur et le développeur qui porte ce projet est le Docteur Mark Grimshaw.
J’ai surtout apporté mon assistance en corrigeant une bonne partie du code HTML / CSS et en créant trois thèmes : Enluminure, SimpleBlue et VerticalOrange. Ce travail a été publié avec la version 4.
Entre temps je me suis penché sur d’autres projets sans savoir que Mark préparait en privé la version 5.1 qu’il a publié en béta le 23 mars 2016.
J’ai alors repris du service quelques jours après avec l’idée de dépoussiérer encore une fois le code HTML. En effet Mark rêve depuis longtemps de doter WIKINDX d’une interface (de navigation) audio, chose possible avec les nouvelles fonctionnalités audio de HTML 5.
Le code est maintenant conforme HTML 5 même s’il n’est pas idiomatique. Une chose en amenant une autre nous nous sommes lancés dans une course folle avec déjà pas moins de 425 commits pour rafraîchir WIKINDX dans les grandes largeurs.
Programme initial de la 5.1 béta
- Ajout de fichiers pour faciliter l’indexation par les moteurs de recherche ;
- Recherche sur les pièces jointes (PDF, DOCX, DOC) ;
- Ajout d’un glossaire ;
- Ajout de saisie de commentaires et idées personnelles et partageables ;
- Remplacement de plusieurs fonctionnalités de recherche par un mode Recherche avancée pour construire des requêtes complexes ;
- Champs personnalisées dans le styles bibliographiques ;
- Notifications personnalisées par email des changements la base documentaire ;
- Gestionnaire d’images.
Les plus
- Migration de HTML 4.01 à 5 ;
- Migration de ADOdb v3.1.1 à v5.20.4 ;
- Migration de Smarty 2 à 3 ;
- Un travail de fond pour optimiser les temps de réponse ;
- Plus grande conformité du code SQL avec le standard ANSI SQL 2003 ;
- Nettoyage du code PHP pour faciliter une migration vers la version 5.6 ou 7 de PHP.
L’impasse
Je souhaite proposer la prise en charge de plusieurs moteurs de base de données (PostgreSQL et SQLite) mais le long passé qui lie WIKINDX à MySQL est un frein majeur.
Nous nous servons d’ADOdb pour créer une base de données vierge mais pas pour y accéder. Initialement Mark avait l’idée d’utiliser ADOdb pour mettre à jour le schéma proprement mais les choses en sont restées là. Le problème est multiforme.
SQLite a un support limité de ALTER TABLE qui interdit la mise à jour sans risque de corrompre la base de données via ses tables systèmes.
PostgreSQL gère les autoincréments tout à fait différemment.
De la version 3.8 à la version courante la mise à jour du schéma a été écrite à la main et imbriquée avec le passage à l’encodage UTF-8, c’est pourquoi nous ne sommes même pas assurés d’obtenir un schéma identique entre la mise à jour actuelle et une automatisée avec ADOdb.
Autre problème, MySQL gère assez mal UTF-8, en tout cas pour ce que nous voulons en faire. Pour un système bibliographique PostgreSQL serait bien meilleur.
Il nous faut encore réfléchir à la manière de mettre en œuvre ce changement et à nos objectifs.
Ce qui reste à faire
- Utiliser les balises header, footer et main de HTML 5 ;
- Encore davantage de travail sur l’optimisation des requêtes SQL. Les temps de réponses sont trop variables et trop longs. La pagination est trop coûteuse ;
- Tester l’indexation des moteurs de recherches sur une vrai base en ligne ;
- Les traductions (traduction et / ou relecture de la française pour moi) ;
- Vérifier et rafraîchir les thèmes ;
- Vérifier que tout le code est fonctionnel ;
- Mettre à jour le site officiel.
J’espère que nous livrerons pour la fin de l’année la version 5.1 officielle de WIKINDX. Pour le moment les vacances sont bien méritées jusqu’en septembre. Si vous voulez nous aider rejoignez-nous à ce moment là.