Changeset 54581 in spip-zone for _plugins_/app/lang

Timestamp:
Nov 18, 2011, 9:24:13 AM (9 years ago)
Author:
rastapopoulos@…
Message:

Deux nouveaux plugins dont l'un utilise l'autre.

HTTP :
=====
C'est une API très générique, définissant un serveur HTTP *abstrait*. Autrement dit, le but est de gérer les méthodes HTTP sur cette URL : http://site/http.api/implémentation/autrechose.
Une fois qu'on a appelé cette URL avec une méthode connue (sinon 404) le plugin redirige vers une *implémentation* du protocole.

Le premier élément dans l'URL correspond au *nom* de l'implémentation (par exemple "atom").
Le deuxième élément correspond habituellement au nom d'une collection (des "patates").
Tout ce qui suit correspond à l'identification d'une ressource (ça peut souvent être juste un identifiant numérique mais ça pourrait être n'importe quoi comme vous voulez !).

Exemple : http://site/http.api/atom/patates/1234

Suivant le contenu de l'URL le plugin redirige vers une *fonction* de l'implémentation : http_<implémentation>_<méthode>_<cequiestdemandé>_dist() dans le fichier "http/implementation.php"

<méthode> correspond au nom de la méthode HTTP en minuscule.
<cequiestdemandé> correspond à "index", "collection", ou "ressource" suivant le contenu de l'URL.
Par exemple pour du GET tout simple :

APP :
====
Ceci est une première implémentation du plugin HTTP. Le but est de créer un serveur APP (Atom Publishing Protocol).

Attention, là encore il s'agit d'une couche *abstraite*. C'est un *outil* pour développeur qui ensuite doivent implémenter la lecture et l'écriture au format "Atom", objet par objet.

Comme c'est loin d'être terminé, je ne sais pas encore, mais par exemple pour la lecture, il s'agit pour l'instant de créer un squelette "http/atom/patates.html" qui contient le <feed>. C'est un peu brut de décofrage pour l'instant, ça se précisera petit à petit.

Note :
=====
Ces deux plugins sont uniquement *expérimentaux*, et pour l'instant je n'ai commencé que la méthode "GET" pour les deux. Ceux qui veulent s'amuser avec sont les bienvenus !

Location:
_plugins_/app
Files:
3 added

Note: See TracChangeset for help on using the changeset viewer.