Les béquilles rouillent aussi

Anneau de rouille, Kerity, France, août 2010
Fête des vieux gréments à Kerity

Suite à mes précédents billets sur l’éco-système de Dotclear et le support SQLite, j’ai voulu jeter un œil au code d’un plugin qui rouille, GalleryInsert, sorte de boîte à outils pour intégrer dans un billet une série d’image, éventuellement assortie d’un script qui permet d’animer l’ensemble (carousel, …).

Il y a, dans ce plugin, quatre béquilles qui sont :

  1. divbox, qui n’a pas bougé depuis cinq ans — je suppose que c’est un avatar de lightbox, magnific-popup et consort
  2. galleria, qui, si j’en crois les tickets ouverts, n’a pas l’air très vivant non plus
  3. jgallery, qui est visiblement encore supporté
  4. tosrus1, qui est mort depuis plus de sept ans — il fournit un carousel

Toutes ces bibliothèques, sauf une, s’appuient sur jQuery, reste à vérifier si elles tournent avec la 3.6.1 qu’on diffuse dans Dotclear, si je liste, dans le même ordre :

  1. divbox, c’est jQuery ≥ 1.3.2
  2. galleria, c’est jQuery ≥ 1.9.0
  3. jgallery, c’est indépendant, une chose de moins à gérer, tant mieux
  4. tosrus, c’est jQuery ≥ 1.7.0

Autant dire qu’à part jgallery, c’est pas gagné question fraîcheur et compatibilité avec l’existant !

Bref, je ne veux pas critiquer les choix faits pour le développement de ce plugin, qui fait/faisait le job qu’on lui demande, par contre je détaille sa construction (côté bibliothèque Javascript) pour montrer que c’est compliqué de s’appuyer sur du code tiers parce qu’il a tendance à rouiller, voire à disparaître !

Alors je sais que c’est le jeu du logiciel libre et ouvert mais ça a ses limites.

Si jamais quelqu’un avait envie de le reprendre je suggèrerai ceci :

  • Virer les vieilles béquilles, ou a minima faire en sorte que leur code soit mis au goût du jour et compatible avec jQuery ≥ 3.6.1

  • Virer la gestion des galeries privées, il y a beaucoup de code PHP autour de ça et je ne suis pas certain que ce soit une bonne idée de le conserver 2

  • Mettre en place un cache des répertoires de la médiathèque pour éviter de tout balayer à chaque fois 3, ou alors utiliser la même technique que pour le changement de répertoire d’un média 4

  • En mode wiki : Utiliser une macro ///gi par exemple plutôt que le marqueur :: qui peut être confondu avec une définition (de liste) si inséré en début de ligne 5

  • D’une manière générale, plutôt qu’un code générique du style ::gallery ou ///gi, j’utiliserai carrément une balise HTML spécifique, du genre <gallery [attr…]>…</gallery> ou <gallery [attr…] />, plus simple à gérer ensuite et qui reste tout à fait compatible sans traitement (les navigateurs ignoreront simplement cette balise)

Enfin côté source PHP du plugin (mécanique Dotclear) en lui-même, il lui faut un petit coup de peinture, mais rien de bien sorcier pour le rendre fonctionnel avec les dernières versions de Dotclear, je pense.


  1. J’ai eu du mal à trouver la version (2.4.2) la plus récente à télécharger. ↩︎

  2. Si jamais on avait besoin d’une galerie privée, autant la glisser dans un billet protégé par un mot de passe, facile à faire. ↩︎

  3. Je vais rajouter dans la future 2.24 deux behaviors qui permettront de mettre à jour ce cache à chaque création/suppression de répertoire dans la médiathèque. ↩︎

  4. Qui s’appuie sur la liste des répertoires connus dans la base de données (possiblement incomplète). ↩︎

  5. Ça oblige a échapper le premier caractère pour éviter la confusion. ↩︎

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/15471

Haut de page