Conception de _DEV_VERSION_SPIP_COMPAT
Cette constante, si elle est trop haute, empêche d'activer certains plugins. OK c'est normal, et pour moi c'est à ça qu'elle sert.
Mais actuellement : si elle est trop basse, elle empêche d'activer les plugins dont la borne inférieure de compat est trop haute. Et ça, je vois pas l'intérêt, et je vois la gêne puisque ça empêche parfois la cohabitation de plugins.
Par exemple
- sur une 4.2dev, je veux activer
metadonnees_photo
dont la borne max est3.2.*
- je dois baisser
_DEV_VERSION_SPIP_COMPAT
. Je la met à3.0.0
- du coup ça désactive
Memoization
dont la borne min est3.2.0
qui devrait pouvoir rester activé puisque en vrai c'est un spip 4.2
Dans ce cas précis je m'en sors en mettant _DEV_VERSION_SPIP_COMPAT
à 3.2.0
mais c'est un coup de bol qu'il y ait une intersection non vide entre les zones de compatibilités déclarées, car selon les plugins il peut y avoir totale incompatibilité d'activation sans véritable raison.
La constante _DEV_VERSION_SPIP_COMPAT
fonctionne actuellement comme si elle remplaçait la version SPIP.
Il me semble qu'elle ne devrait le faire que si la véritable version de SPIP n'est pas compatible avec le plugin ET si la borne sup du plugin est inférieure à la version actuelle de SPIP.
Et dans ce cas, il est probablement préférable que seule la borne sup du plugin soit comparée à la constante, pas sa borne inf.
C'est à dire qu'elle doit servir à rendre compatible des plugins qui ne le sont pas, en indiquant quelle est la version minimum de SPIP avec laquelle les plugins doivent être compatible.