Carnet Wiki

Syntaxes Alternatives pour SPIP

Version 1 — July 2009 JLuc

Objectifs

-  objectif du développement : nouvelle(s) syntaxe(s) pour spip

-  objectif de cette page :

  • collecter et exposer des syntaxes alternatives pour SPIP, ainsi que les réactions et discussions
  • partager la réflexion autour
  • développer la culture de cette/ces nouvelle-s syntaxe-s et en préparer la sortie publique.

Mode d’emploi

-  compléter / améliorer les parties insuffisantes de cette présentation
-  poser questions et réponses dans les parties “Discussion”
-  proposer une nouvelle syntaxe à la fin de cette page


Introduction

-  Allocution conférentielle de ESJ lors de SPIP-Avignon.

Voir la VDO

-  quelques notions clés

<? veut dire qu’on quitte l’univers syntaxique dans lequel on était, mais ne préjuge rien sur celui-ci, qui peut avoir des choses en commun avec le nouveau.
Exemple <?php ou <?xml ... ou <?spip


Critères de Qualité d’une syntaxe

Problèmes actuels à résoudre

à détailler !

Critères de Qualité

à détailler !

-  lisibilité
-  simplicité
-  capacité à décrire le langage
-  extensibilité
-  non ambiguité
-  conformité XML
-  validité relativement à la dtd (?)
-  permettre aux colorieurs syntaxique d’améliorer leurs analyse
-  tout ce qui s’ouvre se ferme (parenthèse, crochet, accolade)
-  stabilité des lexemes
-  stabilité parenthétique

...


Discussion


Points concernés

-  les boucles

Syntaxe actuelle :

   <B_art>
       <ul>
   <BOUCLE_art(ARTICLES){id_article}>
       <li>#TITRE</li>
   </BOUCLE_art>
       <ul>
   </B_art>
       pas d'article
   <//B_art>

-  les chaines multi

Syntaxe actuelle :

    <multi>[fr] francais [en] anglais</multi>

-  les chaines de langues (idiome) :

Syntaxe actuelle :

   <:plugin:nom:> 
    <:nom{param=valeur}|filtre:> 

Proposition initiale par ESJ présentée à Avignon

-  emploi de <?spip autour de chaque construction SPIP.

-  d’après Marcimat :

   <?spip AVANT art ?>
       <ul>
   <?spip BOUCLE art ARTICLES { (id_article) ?>
       <li>#TITRE</li>
   <?spip } art ?>
       <ul>
   <?spip APRES art ?>
       pas d'article
   <?spip VIDE art ?>

-  d’après Booz :

<?spip AVANT art ?>
  <ul>
<?spip BOUCLE art (ARTICLES) {id_article IN 1,2,3} {  ?>
     <li>#TITRE</li>
<?spip } art ?>
</ul>
<?spip APRES art ?>
pas d'article
<?spip VIDE art ?> 

Discussion

JLuc : ça m’évoque les imbrications délicates de <?php et de code html. Comment ça s’indente d’ailleurs : selon html ? selon spip ?

Propositions de Simon Camerlo

sur spip-dev le 1er Juillet 2009 :

<boucle attribX="valeur" ... >
   <avant> (...) </avant>

   (contenu de la boucle à afficher)

   <apres> (...) </apres>
   <sinon> (...) </sinon>
</boucle> 

Discussion

JLUC : c’est lisible et parlant.

ESJ : ça fait des boucles CONFORME XML mais pas VALIDES par rapport à la DTD, et même que ca les empêche définitivement de l’être. Cf pourquoi dans vidéo.