[spip-dev] idees, suggestions pour futur de SPIP

Bonjour,

Ci dessous des idées, certaines peut-être interessantes.

Pourquoi <cadre> renvoie il
« <form action="get"><textarea readonly="readonly" (...) »
et pas <pre> </pre> ?

Est-ce que cela fait doublon avec <HTML><pre> ?

Les conseils 1, 2, 3, 4 de
http://www.chevrel.org/fr/optimiser/phpmysql/
ont l'air utils.

http://www.spip.net/fr_article1486.html
http://www.glazman.org/weblog/dotclear/?2004/06/24/406#c2393
http://www.spip.net/threadspip2015-6850.html#mess6859
Le paragraphe 9 de http://www.infop6.jussieu.fr/licence/annales/retic/exam2003sep10.html
Bien que seule la réécriture en XML des bloc multilingue me semble
faisable.

Pour spip-lab, ça sera effectivement bien de faire des branches
de développement.

http://www.glazman.org/weblog/dotclear/?2004/06/24/406#c2393
http://www.spip.net/threadspip2015-6850.html#mess6859

M'ennuie. Encore quelqu'un qui n'est pas capable de comprendre un autre
langage que le XML, et qui se ferme aux utilisateurs à cause d'un
intégrisme stupide. Pénible aveuglement.

a+

> http://www.glazman.org/weblog/dotclear/?2004/06/24/406#c2393
> http://www.spip.net/threadspip2015-6850.html#mess6859

M'ennuie. Encore quelqu'un qui n'est pas capable de comprendre un autre
langage que le XML, et qui se ferme aux utilisateurs à cause d'un
intégrisme stupide. Pénible aveuglement.

intégrisme ou manque d'imagination.
Une chose est sure, celui qui critique les balises des squelettes de Spip en
ne comprennant pas pourquoi spip ne fait pas des "vrais tags" n'a :
1 - pas bien compris le systemes de "compilation"
2 - pas reflechi à comment faire la meme chose avec des tags "standards"

Pour faire un petit paralelle avec JSTL (Java Standard Tag Library je crois,
rien que des mots qui fachent ici ...)
rien que pour faire l'equivalent de :
<BOUCLE_article(id_article)>
[voici le texte : (#TEXTE|monfiltre).]
</BOUCLE_article(id_article)>
il n'y a aucun texte.
<//BOUCLE_article>

J'ai une page pleine de jolis tags (oui mais des tags standards), besoin de
faire appel à 3 librairies differentes(core, sql et html) et il faut etre
BAC + 5 option indentation pour réussir à relire le code
Pourquoi ?
Tout simplement parcqu'un tag a un debut et une fin et peut soit inclure
soit etre inclu par un autre tag et qu'il ne peut pas y avoir de dépendance
entre deux tags successifs.
Par exemple, il y a bien un tag "IF", mais pas de tag "ELSE", pour faire
l'equivalent, il faut :
<c:if test=${mon test}">ce que j'ecris si test vrai</c:if>
<c:if test=${!mon test}">ce que j'ecris si test faux</c:if>

Evidement, on a l'equivalent du switch, mais on part alors dans des tags
imbriqués, un peu lourd pour faire juste un if / else :
<c:choose>
        <c:when test='${mon test}'>ce que j'ecris si test vrai</c:when>
        <c:otherwise>ce que j'ecris si test faux</c:otherwise>
    </c:choose>

Je laisse ceux qui ont un peu d'imagination reflechir au comment on recode
les boucles ...
Et je n'ai pas encore parlé de la simplicité pour appeler une methode avec
parametre, genre filtre, dans un tag ... en general, il attend plutot un
accesseur*, ce qui voudrait dire que le filtre doit etre implementé dans
l'objet lui meme et donc heriter du bon objet, avec les problemes d'heritage
multiple ou d'implementation multiple que ca pause, ou qu'il faut les
implementer dans les tags eux meme, ce qui est un peu limite en conception
(quoi que, ca pourrait se tenir, c'est de la présentation).

*accesseur : une methode sans parametre genre getToto() avec l'avantage
supreme de pouvoir ecrire <c:out name="xxx" value="${monobjet.toto}"/>,
perso, je trouve la syntaxe #TOTO plus sympa ....

Non, vraiment, on peut vouloir beaucoup de choses pour Spip, mais faire
passer les balises spip au format tag reglementaire, c'est pas une bonne
idée !

@++

J'avoue ne pas bien comprendre pourquoi on parle tant de syntaxe
(qui représente 7Ko de code php sur les 5Mo qu'en compte Spip)
et aussi peu de fonctionnalité. Je ne suis pas un fan de XML,
en revanche son idée de base (qui lui est bien antérieure) est à suivre:
autonomiser l'analyse syntaxique du reste du travail.
Le compilateur de squelettes produit une structure interne sur laquelle
Spip travaille sans plus s'occuper de la syntaxe d'origine.

La réponse à apporter est donc une description précise de cette structure interne,
afin de susciter des contributions de la part de ceux qui ont des pbs avec la syntaxe standard de Spip: le phraseur XML accessible en PHP en particulier permet
de coder des analyseurs de version XML des squelettes en moins de temps qu'il n'en faut pour exprimer son besoin sur cette liste!

      Emmanuel

J'avoue ne pas bien comprendre pourquoi on parle tant de syntaxe
(qui représente 7Ko de code php sur les 5Mo qu'en compte Spip)
et aussi peu de fonctionnalité.

Ben la, il n'était pas question d'ajout de fonctionnalité et je ne parlais
que de la syntaxe des boucles.
C'est simplement que je ne pense pas que la bonne idée soit de rendre les
squelettes 10 fois plus verbeux pour pouvoir les ouvrir dans un editeur
graphique.
Il me semble qu'il est plus logique et plus simple que l'editeur fournisse
la compilation du squelette (à defaut d'une analyse syntaxique puisqu'on ne
peut pas decrire les balises Spip dans un schema).
Mais je dis peut etre ca parce que j'utilise un bête editeur de texte pour
ecrire mes squelettes ...
En fait, pour etre precis, j'utilise Eclipse et il est sans doute possible
de créer un pluggin de prévisualisation des squelettes voire meme un vrai
editeur, mais sincerement, je n'en vois pas l'utilité.
Prévisualiser comment d'abord ?
Avec 1 élément par boucle ?
Dans certains cas il n'y aura qu'un element, dans d'autre 5, dans d'autre
100, le rendu sans de réelles données ne me parait pas très pertinant et
c'est quand meme pas compliqué de travailler sur les squelettes de son site
test local.

autonomiser l'analyse syntaxique du reste du travail.
Le compilateur de squelettes produit une structure interne sur laquelle
Spip travaille sans plus s'occuper de la syntaxe d'origine.

Effectivement, ca résoudrait le probleme que le "noyau" de spip travail sur
les squelettes "compilés" et que cette première etape soit optionnelle.
Par contre, il faut dans ce cas pouvoir specifier le type de squelette, si
squelette il y a et prevoir la possibilité de recalculer le squelette
indépendament du calcul du cache lui meme, non ?
Ca me parait beaucoup de boulot pour se permettre de se passer d'une syntaxe
qui me parait très bien, qui peut difficilement etre allégée, qui peut
facilement etre enrichie (c'est l'avantage d'un "langage propriétaire", on
fait ce qu'on veut) et surtout, qui n'a pas aujourd'hui de remplacant, si ce
n'est taper dirtectement le code PHP qu'il aurait produit.
Maintenant bien traiter séparement le calcul du squelette et celui du cache,
evidement, ne serait-ce que pour des questions de performence, c'est
interessant et puis si quelqu'un veut se faire une belle syntaxe XML, des
custom tags ou créer ses squelettes en Basic, il pourra.
Pour ce qui est des fonctionnalités, je n'ai pas encore fait le tour de ton
compilo, mais à premiere vu ca va deja bien au dela de mes besoins !

Il est possible de développer sa propre bibliothèque de tags jsp, c'est
pas simplissime mais plus simple que de comprendre et d'intervenir dans
inc_calcul.php3 si le développeur maîtrise déjà ces concepts.

Et on peut largement imaginer une bibliothèque de tags jsp qui fasse le
même boulot avec la même efficacité en terme de quantité de code. Mais
je trouve quand même que malgré cette remarque les boucles de spip
restent beaucoup plus intuitives.

Il est vrai que si les boucles de spip était du xml conforme on pourrait
utiliser les parseurs présent deja présent dans php. A la condition
bien sur que le code html inclus soit lui aussi valide xmlment parlant.

Mais pour mois la syntaxe
<BOUCLE_machin(ARTICLES){id_bidule}....> est vraiment génial.
Ca pourrait devenir
<BOUCLE id='machin' sur='ARTICLES' id_bidule1='contexte'
id_bidule2='678' >
Mais ce serait moins drôle.

Cordialement

COURCY Michael

-----Message d'origine-----

<BOUCLE_machin(ARTICLES){id_bidule}....> est vraiment génial.
Ca pourrait devenir
<BOUCLE id='machin' sur='ARTICLES' id_bidule1='contexte'
id_bidule2='678' >
Mais ce serait moins drôle.

Ben, justement, ce que je disais, c'est que
<BOUCLE_machin(ARTICLES){id_bidule}....>
on peut faire, mais le <//BOUCLE ... on peut pas
et les [blabla (#TOTO) blabla] ca serait pas tres simple non plus.
Bref, elle est vraiment chouette la syntaxe Spip, je vois pas pourquoi il
faudrait la changer.
En plus, il y a encore beaucoup à faire au niveau des fonctionnalités, alors
autant garder un "langage" pas trop contraignant, non ?

@++
-----Message d'origine-----

Elle est agréable, je suis d'accord, mais il y a quand même des lacunes:

1: pas de boucles dans la partie initiale (on s'en sort par <INCLURE);
2: pas de crochets imbriqués, ni de boucles à l'intérieur (on ne s'en sort PAS).

Par ailleurs, le mot BOUCLE m'a toujours semblé maladroit car on écrit assez souvent des critères ne produisant qu'une seule itération, dans le but finalement
controuvé de récupérer une unique valeur dans le serveur SQL.

Sans être un sectateur ni un pro du XML, on pourrait concevoir qqch de ce genre là:

<spip description="nom(type){critere1}{critere2}...">
  ..1..
  <spip:corps> ..2..</spip:corps>
     ..3..
     <spip:sinon> ..4..</spip:sinon>
</spip>

..1.. serait l'équivalent de ce qu'il y a actuellement entre <B et <BOUCLE
..2.. idem pour <BOUCLE et </BOUCLE
..3.. idem </BOUCLE et </B
..4.. idem pour </B et <//B

Donc 6 balises au lieu de 5, c'est pas tellement plus verbeux, et c'est
inévitable si l'on veut combler la lacune 1 décrite ci-dessus.

Pour la lacune 2, c'est en fait une lacune de l'analyseur syntaxique actuel,
et faut avouer que refaire pour la n-ième fois un analyseur de structures parenthèsées, c'est pas palpiltant. C'est justement l'intéret du XML_parser:
c'est écrit une fois pour toutes et ça fonce parce que c'est écrit dans un langage
compilé. Il imposerait de remplacer les crochets par une balise genre <spip:cond>,
mais si c'est le prix à payer pour évacuer cette lacune, faute de mieux ça
ne me dérangerait pas.

esj

Elle est agréable, je suis d'accord, mais il y a quand même des lacunes:
1: pas de boucles dans la partie initiale (on s'en sort par <INCLURE);
2: pas de crochets imbriqués, ni de boucles à l'intérieur (on ne s'en
sort PAS).

J'ai toujours une vesion de compilo sous le coude qui règle ces 2 cas.

<spip description="nom(type){critere1}{critere2}...">

autant macher le boulot un minimum :
<spip type='articles' nom='boucle1'
      critere1='id_rubrique' critere2='par noms'>

  c'est effectivement un peu plus verbeux mais il serait alors facile de
configurer des éditeurs "classiques" pour sortir ça d'un joli menu...

et faut avouer que refaire pour la n-ième fois un analyseur de
structures parenthèsées, c'est pas palpiltant.

Mias je l'ai fait (je sais, j'me répète :wink:

C'est justement
l'intéret du XML_parser:[...] ça fonce parce que c'est écrit dans
un langage compilé.

  Heu ... ça fonce parfois, mais l'interface xml en php, c'est
quand même pas un foudre de guerre (parait que ça booste en php5,
mais en 4 ...)
  Et puis, faire du sax ou du dom pour compler les squelettes, ça risque
de pas être beaucoup plus imple qu'aujourd'hui.
  Et en xsl, j'ose même pâs imaginer ...

À+, Pif.

"Christian Lefebvre" <christian.lefebvre@atosorigin.com> wrote in message
news:1088406209.26673.4.camel@pmd-pc38.dev.atos.fr...

j'ai l'impression qu'il y a un probleme avec l'indexation des articles et
breves pour l'utilisation du moteur de recherche.
Selon la doc, les articles ou breves sont indexés des qu'ils sont modifiés ou
lus. Ce n'est pas le cas.
J'ai ajouté plusieurs centaines de breves a l'aide de sieps dans ma base, mais
je n'arrive pas à indexer ces breves. ca m'ennuie.
comment puis je faire pour forcer l'indexation ?

Finalement, ce n'était pas si long à faire:

http://www.spip-contrib.net/ecrire/articles.php3?id_article=573

      Emmanuel

bonjour,

ou puis je recuperer la liste des fonctions php spip.
du genre :
spip_fetch_array
spip_query
...etc