J'ai planché il y a quelques temps sur la mise en place d'une mediabox
alternative, car je trouvais moi aussi la colorbox un peu trop "rigide"
sur mobile.
Du coup, je suis allé un peu plus loin dans la tentative de faire de
mediabox une API, sur laquelle on pourrait brancher indifferement
plusieurs libs.
Du coup on a un découpage comme ceci:
[core]
https://framagit.org/cantal-tech/cantal-tech-spip/mediabox
[colorbox]
https://framagit.org/cantal-tech/cantal-tech-spip/colorbox
[featherlight]
https://framagit.org/cantal-tech/cantal-tech-spip/featherlight
Les briques sont en place pour connecter d'autres lib, j'avais même fait
un test avec fancybox (pas publié cependant).
Ç'est fonctionnel en partie privé et publique, et même en prod sur
quelques sites, mais reste quelques soucis ;
A) la méthode de déploiement est un peu alambiquée, car il faut
surcharger un plugin-dist, et, sur ce point, SVP est un peu retord. De
plus, dans la gestion de dépendances actuelle, on ne peut pas spécifier
que mediabox a besoin d'AU MOINS UNE lib tierce pour fonctionner (mais
c'est un problème propre à mediabox).
B) Quelques problèmes d'appels à colorbox en dur dans le core
(https://core.spip.net/issues/4183), ou code js/CSS trop spécifiques sur
d'autres plugins (inserer_modeles de mémoire).
C) L'organisation du formulaire de configuration de la modale box ; les
sous-plugins peuvent y insèrer leur propres préférences, (ex: une
couleur de fond et une opacité pour featherlight) ; Faut-il garder une
seule configuration générale, ou bien cloisonner chaque configuration
par en fonction de la lib choisie ?)
Avec le recul, assurer un comportement consistant avec plusieurs libs,
pour l'ensemble de l'eco-système de plugins SPIP me parait illusoir.
Mais adopter un nouvelle lib par défaut, j'acquièce.
Fancybox est vraiment jolie, quoique un peu gloutone ; et l'ambiguité
sur la licence associée m'avait finalement reporté sur featherlight.