Carnet Plugins

free hugs

SPIP-Contrib :: Carnet Wiki :: Carnet Plugins :: Recherche :

free hugs

Pour l’instant c’est un brouillon pour documenter le projet du pugin.

Il ne s’agit donc pas de la documentation d’un plugin.
Il n’est pas encore codé.


Une syntaxe pivot pour SPIP. Basé sur le langage de programation curl ou inspiré de lui. Bref un langage de script tout en accolades qui donne le nom au projet.


Introduction

L’objectif est de proposer une syntaxe pivot pour SPIP (mais aussi éventuellement pour d’autres logiciels).

Probleme

C’est à dire :

Probleme 1 : Disposer d’un langage de script qui puisse être interpréter coté serveur par l’un des langages installé sur le serveur mais qui étant indépendant de celui-ci permette de proposer un programme et des interpreteurs réduit pour chaque langage pour pouvoir déployer SPIP sur les dispositifs les plus divers.

A faire : Lister les interpréteurs à réaliser en priorité :

Une liste en exemple à confirmer et à ordonner :

Nota : je ne connais pas bien ces langages j’aimerai des information sur leur interets, leur avantages par rapport à PHP ou javascript notemment. Pricipalement en terme de performance. Leur limite et éventuellement savoir qu’il ne faut pas ce lancer là dedans.

Quoi d’autre ?

Probleme 2 : Pouvoir uniformiser les différents système de scripts de SPIP :

Personnelement ce qui me déplait dans les différentes syntaxe de SPIP c’est le manque d’homogénéité formelle.

Dans les textes :
-  une syntaxe en accollade dérivée de Latex pour les titres
-  une syntaxe "wiki" avec des raccourcis adhoc et specifique pour chaque cas
-  une syntaxe pour les modeles
-  une syntaxe pour les plugin jeu pour la serilaisation de données.

Une syntaxe encore différente pour les squelettes

Un langage de programmation pour historique (PHP)

Indépendamment de SPIP un langage de programation client (javascript), un langage de style (css) du balisage (xml)

En entrée cela demande donc un apprentissage certain.

La proposition que je fais serait d’unifier tout cela dans un langage commun.

La proposition précise que je fais serait d’utiliser la syntaxe du langage de programmation curl (ne pas confondre avec cURL)
http://en.wikipedia.org/wiki/Curl_%28programming_language%29

Ou un autre langage présentant de l’homoiconicité http://en.wikipedia.org/wiki/Homoiconicity

Suggestion de doc à ajouter : ...

Suggestion de fonctionalités : ...

Des idées comme ça en passant : ...

Les s-expressions

Les s-expression sont définies dans un internet draft. http://people.csail.mit.edu/rivest/Sexp.txt. Il faudrait trouver une version plus récente.

Le langage utilise les s-expressions. Une S-Expression (ou expression symbolique) est une convention pour la représentation de données ou d’expressions d’un programme sous forme textuelle. Elles ont l’avantage de fournir une syntaxe versatile pour la definition de structures de données et de code de programmes.

Les s-expressions sont utilisées par la plupart des langages de programation dérivées de Lisp.

Les détails de la syntaxe et les types de données supportés diffèrent en fonction du langage :

notation préfixée parenthésée
Exemple en Lisp

La notation préfixée de l’expression 3 * (4 + 5 + 6) est analogue à l’expression en langage naturel : « le produit de 3 et de la somme de 4, 5 et 6 ».

On documente un peu la syntaxe de curl

Historique

Curl est un langage de programmation crée au sein de MIT par diverses personnalité dont Tim Berners-Lee.

The founders of Curl Corporation were twelve members of the MIT
community, with a technical team led by Stephen A. Ward, an
internationally recognized computer scientist ; Michael L. Dertouzos,
Director of the MIT Laboratory for Computer Science ; and Timothy
Berners-Lee, the creator of the World Wide Web and Director of the W3C.

Curl est un "langage de contenu" comme le html dont mais dont les fonctionalité sont étendues pour couvrir l’ensemble du spectre des besoin du web :

Il s’inspire du langage de programation Lisp.

http://developers.curl.com/userdocs/docs/en/dguide/basic-syntax.html
http://developers.curl.com/userdocs/docs/en/dguide/data-types.html

Caractères réservés

L’un des avantage du langage de programation curl est le faible nombre de caractères réservés ce qui permet de l’utiliser efficacement pour formater du texte.

Commentaires

Curl/Example 0 : Les commentaires

à completer ....

Expressions

Curl/Example 1 : Hello world

Utiliser les variables

à completer ....

Les opérateurs arithmétiques

à completer ....

Du texte formaté

Curl/Example 2 :

Curl/Example 3 :

variables

@nomvarable

ou

{{@}nomvariable}

(p (@ (id "id1")) "par1")) SXML

Quelques liens

http://code.google.com/p/curl-orb/

Syntaxe de formatage

Syntaxe minimale à prendre en compte pour le formatge des documents

p, paragraphe,
paragragraph continuation

headings,

Syntaxe :

Exemple :

simple list, unordered list, ordered list

definition list, glosary list, nested list, list part

highlithed phrase, title citation, note, quote

table

Exemple 1 :

syntaxe aditionelle
section, sect (linux doc)

type de document
article

header part
article
title
author
date
abstract
toc