[SPIP Zone] noiZetier, Z v1 et page-xxx

Hello,

En creusant un peu le sujet des pages autonomes utilisées en Z v1 (donc zpip) et qui se nomment page-xxx, je me suis aperçu que le traitement est erroné dans le noiZetier v3.
Le noiZetier v3 a fait le choix de se concentrer sur les squelettes Z mais de conserver la compatibilité avec Z v1 et Z v2 soit Z-Core.
Or, cette compatibilité n’est pas correctement implémentée et il existe des cas qui merdent j’en parlerais plus tard.

Néanmoins, mon avis serait de conserver uniquement la compatibilité avec Z-Core et d’abandonner Z v1 car je ne vois pas aujourd’hui l’intérêt de rester en Z v1 par contre je vois l’intérêt de simplifier le code actuel.
Maintenant, je peux avoir tort mais j’aimerais avoir votre avis avant de faire quoi que ce soit.
Donc votre avis ?

Si on garde la compatibilité Z v1, que se passe-t-il aujourd’hui ?

  • que je sois en Z v1 ou v2, je charge toutes les pages même les page-xxx. Celles-ci sont considérées comme des pages autonomes et pas des compositions ce qui est bon et leur identifiant est « page-xxx » en BDD => OK
  • si je modifie la page (formulaire editer_page pour les blocs exclus) sans la correction que je viens de faire en local ça merde car on recompose l’id de la page à partir du type de page et de la composition. Donc on obtient un id égal à xxx et pas page-xxx. => NOK
  • si je crée une composition virtuelle à partir de page-xxx j’ai une erreur d’autorisation car le code de l’autorisation extrait « bêtement » le type de page et la composition sans tenir compte du cas page-xxx => NOK
    Et je pense qu’il y a d’autres incohérences.
    Rien n’est rédhibitoire mais ça va demander pas mal d’introspection dans le code.

En outre, à aucun moment on ne teste Z v1 ou Z v2 pour effectuer une action en relation avec notre souci sauf lors du chargement.
Mais même pour le chargement, si il existe des page-xxx alors que l’on utilise Z-Core ces pages sont chargées comme expliquées plus haut.
Est ce incohérent ?
Plus généralement, si on est en Z-Core faut-il bien exclure les pages suivantes (qui sont dans content/ ou un autre répertoire identifié) :

  • z_apl.html

  • page-xxx.html

  • demo/content/xxxx.html (je viens de voir qu’il y a de telles pages dans Z-Core aujourd’hui)

  • autres ?
    En Z v1, faut-il exclure :

  • page.html uniquement ?
    Existe-t-il d’autres cas que vous avez rencontrés ?

Donc c’est un peu bancal encore et donc je proposerais bien de nettoyer tout ça en se limitant à Z-Core soit Z v2.