Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Conception d'un format/procotole : les 7 clés du succès
Par Adam Bosworth

Le , par Erwy

0PARTAGES

1  0 
par Adam Bosworth

Adam Bosworth a été vice président d'une division de Google jusqu'à récemment. Il a été très impliqué dans la conception et l'implémentation de nombreux standards comme par exemples ODBC, OLE DB ou XML. Il a aussi participé à l'élaboration de XML Schema qu'il considère comme un semi-succès (échec).
De toutes ces expériences ,réussite comme échec, il a fait récemment le point.

Sur son blog, il refait le point sur les 7 clés du succès de conception d'un standard en format/protocole:

  1. Garder le standard aussi simple et « stupide » que possible:
    les probabilités d'échec sont au moins le carré du degré de complexité de la norme mais aussi le carré de la taille du comité de rédaction de la norme.
  2. Les données échangées doivent être lisibles et faciles à comprendre:
    les standards sont adoptés par des ingénieurs fabriquant du code pour les implémenter. Ils ne peuvent le réaliser que s'ils peuvent facilement le comprendre (voir point 1) et facilement le tester. C'est pourquoi, au cours des 15 dernières années, les normes basées sur du texte comme HTTP, HTML, XML, et ainsi de suite ont gagné.
  3. Les standards fonctionnent mieux quand ils sont «*ciblés*»:
    Une partie du génie du web, c'est que Tim Berners-Lee a correctement séparé le protocole (HTTP) de ce que le navigateur devrait afficher (HTML). C'est un peu comme la séparation d'une enveloppe et de la lettre à l'intérieur, elle est fondamentale et nécessaire. Les normes qui incluent tous les niveaux ou les couches entassés en un ensemble ont tendance à échouer.
  4. Les standards devraient utiliser des encoding précis:
    ODBC a été précis sur les types de données.
  5. Toujours avoir une implémentation pratique effectivement utilisée dans le cadre de conception de la norme:
    Il est difficile de savoir si quelque chose fonctionne réellement ou peut être modifié dans un but pratique jusqu'à ce que vous ayez réellement à le faire.
  6. Faire passer en Hystérésis (définition ) face à l'imprévu:
    C'est quelque chose que les formats web font particulièrement bien. S'il y a quelque chose dans HTTP que le récepteur ne comprend pas, il l'ignore. Il ne bloque pas. S'il y a quelque chose en HTML que le navigateur ne comprend pas, il l'ignore. Il ne bloque pas.
  7. Faire une publication libre et publique sur le Web avec de nombreux exemples sur le site même:
    Les ingénieurs sont seulement des êtres humains. Ils apprennent par l'exemple et si le standard est conforme aux points ci-dessus, les exemples seront clairs et précis.


Source
Adam Bosworth’s Weblog

Lire aussi

La rubrique XML/XSL et SOAP (actu, forum, tutos) de Développez

Et vous ?

Que pensez-vous de cette analyse ? Certains points vous paraissent superflus ou au contraire cette liste vous paraît-elle incomplète ?
Voyez-vous des exemples qui confirment ou infirment cette analyse ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de r0d
Expert éminent https://www.developpez.com
Le 05/11/2009 à 11:13
Je ne parviens pas bien à appréhender la portée de ces recommandations. Cela concerne seulement les standard destinés au web?
Parce que par exemple, le point 6 est inapplicable à la plupart des langages compilés.
1  0 
Avatar de Erwy
Rédacteur https://www.developpez.com
Le 05/11/2009 à 11:30
je ne suis pas sûr de répondre à ta question ,ni que j'interpète correctement, mais je ne pense pas qu'il faille y voir systématiquement l'interprétation du langage le HTML qu'il donne en exemple est un langage déclaratif, il ne fait pas de traitement.Je vois plutot çadans le traitement des données .
Par exemple , en XSLT le cas ou la donnée demandée n'existe pas ne lui pose pas problème, il se contente de ne rien faire.
Je crois que tu as un certains langages fonctionnels qui fonctionne de la même façon dans ce cas.
1  0 
Avatar de GrandFather
Expert éminent https://www.developpez.com
Le 05/11/2009 à 11:46
Citation Envoyé par r0d Voir le message
Cela concerne seulement les standard destinés au web?
Pas spécifiquement le web, mais tous les standards de communication et d'interopérabilité entre systèmes hétérogènes. Ce que sont ODBC, HTTP, XML, AJAX (à l'élaboration duquel a également contribué Bosworth).

Les normes de langages de développement rentrent effectivement difficilement dans ce cadre, même si le principe n°1 dit principe « KISS » (Keep It Simple Stupid) pourrait être appliqué avantageusement à certaines...
1  0 
Avatar de pseudocode
Rédacteur https://www.developpez.com
Le 05/11/2009 à 12:59
Conception de standard: les 7 clés du succès
Hum... Le titre devait plutôt être :

"Conception d' un format/procotole : les 7 clés qui en feront (peut-etre) un standard"

Un standard s'impose "de fait". Les 7 points listés permettent une plus large adoption et donc favorisent l'éligibilité d'une spécification au rang de standard. Mais ce n'est pas obligatoire.

On ne peut pas vraiment dire que le JPEG/MPEG respecte les points cités, et pourtant c'est un standard incontournable.
1  0 
Avatar de Erwy
Rédacteur https://www.developpez.com
Le 05/11/2009 à 13:14
Citation Envoyé par pseudocode Voir le message

On ne peut pas vraiment dire que le JPEG/MPEG respecte les points cités, et pourtant c'est un standard incontournable.
Il les respecte peut être plus que ces concurrents ?

J'ai néanmoins édité le titre en ce sens
1  0 
Avatar de pseudocode
Rédacteur https://www.developpez.com
Le 05/11/2009 à 14:12
Citation Envoyé par Erwy Voir le message
Il les respecte peut être plus que ces concurrents ?
Les standards "de fait" s'imposent naturellement lorsqu'ils sont à la fois utiles, fonctionnels et surtout - surtout - quand il n'y a pas d'équivalents sur le marché.

L'effet perfide, c'est qu'un nouveau format qui serait meilleur (au sens des 7 points cités) n'a que peu de chances de s'imposer s'il existe déjà un standard, même moins bon (exemple Ogg Vorbis/Theora contre Mpeg 3/4).
1  0 
Avatar de Erwy
Rédacteur https://www.developpez.com
Le 05/11/2009 à 14:18
Citation Envoyé par pseudocode Voir le message

L'effet perfide, c'est qu'un "nouveau" standard qui serait meilleur (au sens des 7 points cités) n'a que peut de chance de s'imposer s'il existe déjà un standard, même moins bon .
Je suis plus ou moins d'accord.
Si on prend les technos de validation de XML on a comme premier standard les DTD. Ensuite vient les XML Schema (qui ne respectent pas vraiment le point 1 ce qui explique leur semi-succès), puis viendront les Relax NG qui, si on en croit leurs utilisateurs (je n'ai jamais pratiqué, donc sans avis) sont plus simple et plus efficace que les XML Schema.

XML Schema a bien remplacé les DTD dans de nombreux cas (car il permet plus de chose) par contre les Relax NG me semblent minoritaires (jamais croisés). D'ou mon + ou - d'accord
1  0 
Avatar de jmini
Membre éprouvé https://www.developpez.com
Le 05/11/2009 à 14:55
Sur un sujet proche mais légèrement différent (quoi que), je vous recommande ces deux billets autour des facteurs clés dans la réussite d'une API (de service de site web) :

* Eric Wahlforss, SoundCloud API : “le point de basculement est pour bientôt”
* Alex Payne, Twitter API : “Nous voulons être le bus des messages du web”
1  0 
Avatar de trenton
Membre éprouvé https://www.developpez.com
Le 05/11/2009 à 15:01
Citation Envoyé par pseudocode Voir le message
L'effet perfide, c'est qu'un nouveau format qui serait meilleur (au sens des 7 points cités) n'a que peu de chances de s'imposer s'il existe déjà un standard, même moins bon (exemple Ogg Vorbis/Theora contre Mpeg 3/4).
Mouais, le cas du Ogg Vorbis est particulier, il est principalement freiné par des entreprises en position dominante qui n'ont aucun intérêt à voir un concurrent arriver sur un marché juteux. Et non pas parce qu'il n'a pas les qualités requises.
1  0 
Avatar de GrandFather
Expert éminent https://www.developpez.com
Le 05/11/2009 à 15:32
Citation Envoyé par pseudocode Voir le message
Un standard s'impose "de fait". Les 7 points listés permettent une plus large adoption et donc favorisent l'éligibilité d'une spécification au rang de standard. Mais ce n'est pas obligatoire.
C'était vrai il y a peut-être encore quinze ans, ça l'est beaucoup moins aujourd'hui. Les technologies largement utilisées et issues d'une initiative isolée, et qui accèdent au rang de standard sans que ça en soit le but premier sont devenues très rares ; le seul exemple « récent » qui me vienne à l'esprit est la normalisation ISO de OpenDocument, format XML qui dérive directement de celui des documents OpenOffice 1.x.

Ca s'explique assez simplement, l'innovation étant devenue difficile et nécessitant toujours plus de moyens, il est moins dangereux de concevoir des standards que de se lancer dans des expérimentations hasardeuses à large échelle. Quitte à ce que le standard soit peu ou pas adopté du tout.
1  0