L'éco-système rouille

Écorce de rouille, Loctudy, France, août 2013
Écorce de rouille

Et ça n’est pas une bonne nouvelle !

Je cause des plugins et accessoirement des thèmes tiers de la galaxie Dotclear, évidemment.

Hier en cherchant la cause d’un blocage inopiné et involontaire d’une installation Dotclear fraîchement mise à jour vers la dernière version, j’ai découvert un plugin qui n’avait pas supporté cette étape et qui, de plus, provoquait une erreur telle que l’ensemble était bloqué.

Bref, il y a un problème pas résolu que de laisser actif des plugins non testés avec une version de Dotclear donnée.

Jusqu’à maintenant on indiquait, souvent, la version minimale attendue pour un plugin, ce dernier étant désactivé s’il était installé sur une version moins récente. L’inverse n’est pas vrai par contre, historiquement parce qu’on ne peut prévoir à l’avance les évolutions de Dotclear et par conséquent il est difficile d’indiquer une version maximale compatible.

Il faudrait donc que ce soit Dotclear, forcément au courant de ses évolutions, qui désactive, a minima temporairement, les plugins non marqués comme compatibles. C’est une solution un peu extrême je trouve, mais qui a le mérite d’empêcher un blocage du blog.

J’avoue que ça me plaît à moitié …

Parce qu’un plugin peut très bien continuer à fonctionner, même en mode dégradé, sur une version plus récente ; j’en connais quelques uns dans ce cas là, plus maintenus par leurs auteurs mais toujours suffisamment fonctionnels pour remplir peu ou prou leur rôle.

Par ailleurs le mode de secours de Dotclear, qui permet d’ouvrir une session d’administration sans aucun plugin actif, n’est pas d’un grand secours, à part éventuellement pour supprimer un plugin, vu qu’il ne permet même pas de mettre à jour un plugin obsolète1.

Bref, y’a un os dans le potage !

Je m’inquiète un peu de ça parce que la prochaine 2.24 de Dotclear, même si je tente d’assurer une compatibilité ascendante, risque de va provoquer pas mal d’erreurs dans du code pas mis à jour et pour lequel aucune évolution n’est prévue.

Essentiellement parce que la plupart des méthodes des classes PHP du code de la 2.24 ont des signatures typées et que PHP va lever des exceptions avec du code ancien les utilisants avec des arguments typés différemment.

Pour ma part, parmi les plugins que je développe et/ou maintiens, il y en a quelques uns qui seront concernés (une nouvelle version sera publiée pour chacun d’entre eux) :

  • cloneEntry
  • dcRevisions
  • growUp
  • logNotices (mais je pense que je dois être le seul à l’utiliser celui-ci)
  • private
  • rosetta
  • series
  • sysInfo
  • tweakurls
  • typo
  • wordCount

Donc une fois la mise à jour de Dotclear faite de la 2.23.1 à la 2.24, il suffira de mettre à jour ceux-ci dans la foulée pour que ça retombe en marche.

Le problème se posera pour les autres, ceux que je ne gère pas… Et à ce jour je n’ai pas de solution hormis celle évoquée plus haut mais que je trouve un peu trop radicale.

Idéalement il faudrait pouvoir tester ces plugins tiers sur une version 2.24 de test, mais qui est en mesure de le faire à la demande ?


  1. Il y a possiblement un ticket à ouvrir à ce sujet d’ailleurs ! ↩︎

Ajouter un commentaire

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/15469

Haut de page