Changes between Version 2 and Version 3 of Fr/DeveloperDocs

Show
Ignore:
Author:
benoit (IP: 81.57.229.207)
Timestamp:
07/09/06 20:37:55 (3 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Fr/DeveloperDocs

    v2 v3  
    1 = Interface REST = 
     1= Le protocole REST = 
    22 
    33== Présentation == 
    44 
    5 Les informations stockées sur le service BlogMarks sont également disponibles via une interface REST. 
     5Les informations stockées sur le service Blogmarks sont également disponibles via une interface REST. 
    66 
    7 Cette interface implémente deux "standards" : 
    8  * le protocole de publication Atom ; 
    9  * et le format de résultats de recherche ''open search''. 
    10  
    11 Le protocole Atom est utilisé pour gérer le processus de publication des marks et des commentaires par les utilisateurs. 
    12  
    13 Le format ''open search'' est utilisé au sein des flux résultats. 
     7Cette interface suit deux "standards" : 
     8 * le [http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-09.html Protocole de Publication Atom] pour gérer le processus de publication des marks et des commentaires ; 
     9 * et le format [http://opensearch.a9.com/ Open Search] utilisé au sein des flux résultats. 
    1410 
    1511Toutes les autres interactions suivent le style d'architecture REST. 
    3127 
    3228Un client du service Blogmarks devrait gérer un cache. Pour contrôler ce cache, les en-têtes HTTP suivantes sont renvoyées à chaque requête : 
    33  * Last-Modified : Date de dernière modification de la ressource (Validateur Faible) 
    34  * ETag : Etag (Validateur Fort) 
     29 * Last-Modified : Date de dernière modification de la ressource 
     30   * C'est un '''validateur faible'''. Cette date correspond à la date de dernière modification '''majeure'''. Par exemple, si un ancien mark est supprimée d'un feed, la date de dernière modification du feed ne change pas. La date de dernière modification d'un feed est la date de la dernière publication d'un mark dans ce feed. 
    3531 
    36 == Protocole de publication Atom == 
     32 * ETag : Etag 
     33   * C'est un '''validateur fort'''. L'ETag d'un feed change dès qu'il y a une modification apportée dans son contenu (suppression d'un mark, modification d'un mark, ...). L'ETag d'un feed se base sur toutes les dates de dernière modification des marks qu'il contient. 
    3734 
    38 Le protocole de publication des ressources sur BlogMarks suit la spécification [http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-09.html Atom Publishing Protocol 09]. 
     35== Le protocole de publication Atom == 
     36 
     37Le protocole de publication des ressources sur Blogmarks suit la spécification [http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-09.html Atom Publishing Protocol 09]. 
    3938 
    4039Les différents types de ressources et les méthodes HTTP disponibles sont listés dans le tableau suivant. 
    4140 
    4241|| '''URI''' || '''Méthode HTTP''' || '''Description''' || 
    43 || http://rest.blogmarks.net/service-desc || GET || Retourne le document d'introspection Atom || 
    44 || http://rest.blogmarks.net/user/[username]/marks || GET || Retourne le feed Atom des marks d'un utilisateur. || 
     42|| {{{http://rest.blogmarks.net/service-desc}}} || GET || Retourne le document d'introspection Atom || 
     43|| {{{http://rest.blogmarks.net/user/{username}/marks}}} || GET || Retourne le feed Atom des marks d'un utilisateur. || 
    4544||  || POST || Ajoute un mark à la collection. || 
    4645||  || DELETE || Supprime tous les marks de l'utilisateur. || 
    47 || http://rest.blogmarks.net/user/[username]/mark/[id] || GET || Retourne la réprésentation d'un mark au format Atom. || 
     46|| {{{http://rest.blogmarks.net/user/{username}/mark/{id}}}} || GET || Retourne la réprésentation d'un mark au format Atom. || 
    4847||  || PUT || Met à jour le mark. || 
    4948||  || DELETE || Supprime le mark. || 
    50 || http://rest.blogmarks.net/user/[username]/friends/marks || GET || Retourne le feed Atom des marks des amis de l'utilisateur. || 
    51 || http://rest.blogmarks.net/marks || GET || Retourne le feed Atom des marks publics de tous les utilisateurs. || 
    52 || http://rest.blogmarks.net/link/[hash]/marks || GET || Retourne le feed Atom des marks sur le lien. || 
    53 || http://rest.blogmarks.net/link/[hash]/comments || GET || Retourne le feed Atom des commentaires sur le lien. || 
     49|| {{{http://rest.blogmarks.net/user/{username}/friends/marks}}} || GET || Retourne le feed Atom des marks des amis de l'utilisateur. || 
     50|| {{{http://rest.blogmarks.net/marks}}} || GET || Retourne le feed Atom des marks publics de tous les utilisateurs. || 
     51|| {{{http://rest.blogmarks.net/link/{hash}/marks}}} || GET || Retourne le feed Atom des marks sur le lien. || 
     52|| {{{http://rest.blogmarks.net/link/{hash}/comments}}} || GET || Retourne le feed Atom des commentaires sur le lien. || 
    5453||  || POST || Poste un commentaire sur le lien. || 
    55 || http://rest.blogmarks.net/link/[hash]/comment/[id] || GET || Retourne la représentation Atom d'un commentaire. || 
     54|| {{{http://rest.blogmarks.net/link/{hash}/comment/{id}}}} || GET || Retourne la représentation Atom d'un commentaire. || 
    5655 
    57 === Document d'introspection === 
     56=== Le document d'introspection === 
    5857 
    5958{{{ 
    6665}}} 
    6766 
    68 == Format Atom == 
     67== Les formats Atom == 
    6968 
    7069=== Mark === 
    7170 
    72 Un mark est vu comme une entrée Atom ans le protocole de publication. La sémantique des propriétés d'un mark est donné dans le tableau suivant. 
     71Un mark est vu comme une entrée Atom par le protocole de publication. La sémantique des propriétés d'un mark est donnée dans le tableau suivant. 
    7372 
    7473Les préfixes sur les propriétés indiquent les espaces de nom XML : 
    75  * atom : http://www.w3.org/2005/Atom 
    76  * app : http://purl.org/atom/app# 
    77  * bm : http://blogmarks.net/ns 
     74 * atom : {{{http://www.w3.org/2005/Atom}}} 
     75 * app : {{{http://purl.org/atom/app#}}} 
     76 * bm : {{{http://blogmarks.net/ns}}} 
     77 
     78|| '''Nom''' || '''Description''' || '''Modifiable par l'utilisateur''' || 
     79|| atom:id || Identifiant unique du mark, ne changera pas. ||   || 
     80|| atom:title || Le titre du mark. || x || 
     81|| atom:link[@rel=related] || Le lien décrit par le bookmark. || x || 
     82|| atom:link[@rel=alternate] || Le lien vers la représentation HTML du mark (sur l'interface web). ||   || 
     83|| atom:published || La date de création du mark. || x || 
     84|| atom:updated || La date de dernière modification du mark. ||   || 
     85|| atom:author || Auteur du mark. ||   || 
     86|| atom:link[@rel=via] || Referer lorsque l'utilisateur a ajouté le lien à ses marks. || x || 
     87|| atom:link[@rel=enclosure] || Url du screenshot du lien que décrit le mark. || x || 
     88|| atom:category || Tag associé au mark. || x || 
     89|| atom:content || Description du lien posté. || x || 
     90||  ||  || 
     91|| app:link[@rel=edit] || Indique que le mark est éditable et donne l'URI pour le modifier ou le supprimer. ||   || 
     92||  ||  || 
     93|| bm:link[@rel=comments] || Url du feed Atom des commentaires sur le lien du mark. ||   || 
     94|| bm:isPrivate || Indique si le mark est privé ou non. || x || 
     95 
     96=== Commentaire === 
    7897 
    7998|| '''Nom''' || '''Description''' || 
    80 || atom:id || Identifiant unique du mark, ne changera pas. || 
    81 || atom:title || Le titre du mark. || 
    82 || atom:link[@rel=related] || Le lien décrit par le bookmark. || 
    83 || atom:link[@rel=alternate] || Le lien vers la représentation HTML du mark (sur l'interface web). || 
    84 || atom:published || La date de création du mark. || 
    85 || atom:updated || La date de dernière modification du mark. || 
    86 || atom:author || Auteur du mark. || 
    87 || atom:link[@rel=via] || Referer lorsque l'utilisateur a ajouté le lien à ses marks. || 
    88 || atom:link[@rel=enclosure] || Url du screenshot du lien que décrit le mark. || 
    89 || atom:category || Tag associé au mark. || 
    90 || atom:content || Description du lien posté. || 
    91 ||  ||  || 
    92 || app:link[@rel=edit] || Indique que le mark est éditable et donne l'URI pour le modifier ou le supprimer. || 
    93 ||  ||  || 
    94 || bm:link[@rel=comments] || Url du feed Atom des commentaires sur le lien du mark. || 
    95 || bm:isPrivate || Indique si le mark est privé ou non. || 
     99|| atom:id || Identifiant unique du commentaire, ne changera pas. || 
     100|| atom:link[@rel=related] || Le lien sur lequel est le commentaire. || 
     101|| atom:link[@rel=alternate] || Le lien vers la représentation HTML du commentaire (sur l'interface web). || 
     102|| atom:published || La date de publication du commentaire. || 
     103|| atom:author || Auteur du commentaire || 
     104|| atom:content || Contenu du commentaire || 
     105 
     106== Les autres types de ressources == 
     107 
     108Blogmarks met à disposition des développeurs d'autres types de ressources mais toujours selon une architecture REST. 
     109 
     110=== Les tags === 
     111 
     112Les tags permettent aux utilisateurs de classer leurs marks. 
     113 
     114==== Deux types de ressources ==== 
     115 
     116Collection de tags : 
     117 * {{{http://rest.blogmarks.net/tags}}} : tags publics 
     118 * {{{http://rest.blogmarks.net/user/{username}/tags}}} : tags utilisés par ''username'' 
     119 
     120Un tag : 
     121 * {{{http://rest.blogmarks.net/tags/{id}}}} dont on peut récupérer une représentation par la méthode GET. 
     122 
     123==== Format ==== 
     124 
     125 @TBD@ 
    96126 
    97127== Références ==