process-fr

From Microformats Wiki
process-fr /
Jump to navigation Jump to search

Si c'est votre première visite, regardez SVP la page d'introduction.

<entry-title>Le processus microformats</entry-title>

Ainsi vous voulez d√©velopper un nouveau microformat ?

Ou juste un nouveau vocabulaire ?

Ou cr√©er un nouveau standard fond√© sur une recherche empirique et des m√©thodes scientifiques ?

Ce document vous aidera comme guide pour les étapes à franchir pour parvenir à ces fins.

Le processus microformats a été cité comme inspiration pour d'autres groupes de standards et d'efforts tels que WHATWG et ActivityStreams.

Editeur
Tantek Çelik
Traduction française
Christophe Ducamp



tout d'abord ayez quelque expérience

Avant même d'imaginer continuer à réfléchir sur un nouveau microformat,

  1. Faites que votre site soit CHIC/POSH.
  2. Ajoutez des microformats existants à vos sites comme une hCard pour votre information de contact, etc., hCalendar pour vos événements, hAtom pour vos contenus épisodiques (par ex. les blogs). Voir comment démarrer pour des exemples plus spécifiques d'ajout de microformats à vos sites.

Ceci aidera à vous familiariser à la façon dont fonctionnent actuellement CHIC/POSH et microformats. Une telle expérience du "vrai monde" vous aidera énormément avec le développement d'un nouveau microformat. Pour en savoir plus à ce sujet, voir pourquoi-il-est-important-d-utiliser-des-microformats-existants.

Puis demandez-vous :

Pourquoi ?

Il doit y avoir un problème à résoudre (c'est à dire un cas d'utilisation dans le vrai monde). Pas de problème, pas de microformat.

Une fois que vous avez trouv√© votre 'probl√®me', demandez-vous : 'y'a t'il un probl√®me plus simple ici ?' Si oui, r√©solvons d'abord ce probl√®me. Nous voulons traiter en premier les probl√®mes les plus simples et ensuite seulement √©laborer des solutions pour r√©soudre des probl√®mes plus complexes.

Peut-être que quelqu'un d'autre suit (ou a suivi) un problème similaire.

Regardez la page discussion exploratoire et cherchez partout sur le web. Les chances sont que quelqu'un d'autre ailleurs ait rencontré le même problème que vous. Il y a vraiment très peu de nouveaux problèmes complexes.

Si vous croyez encore que vous avez un problème nouveau et non résolu, postez quelque chose sur le canal irc, et si personne n'est là, alors sur la liste de diffusion microformats-new. Il est mieux d'impliquer la communauté dans la discussion. Démarrez la discussion avant de créer de nouvelles pages sur le wiki.

Nous n'utilisons pas le wiki comme un "bloc-notes" g√©n√©ral. Si vous ne parvenez pas √† r√©sumer le probl√®me que vous essayez de r√©soudre dans un court email, et que vous sentez que vous avez besoin d'√©crire un long document, vous essayez probablement de r√©soudre un trop gros probl√®me - voir le paragraphe pr√©c√©dent concernant 'y'a-t'il un probl√®me plus simple ici ?' et simplifiez jusqu'√† ce que vous d√©criviez votre probl√®me et cas d'usage dans le vrai monde dans un paragraphe court.

Documentez les Comportements Existants

Documentez les comportements humains existants. Exemple du pourquoi d'abord ?

Pourquoi d'abord des exemples ? Lisez cela. C'est important et c'est le noyau de ce qui rend les efforts microformats diff√©rents de tous les autres/nombreux/pr√©c√©dents efforts de d√©veloppement.

Nous sommes en train de paver les "chemins des vaches"- avant que vous n'ayez à avoir à "trouver" les chemins des vaches.

Par "chemin des vaches" ici, nous entendons des "exemples de publication du vrai monde". Vos exemples devraient être un ensemble de sites et pages du vrai monde qui publient le type de donnée que vous souhaitez structurer avec un microformat. A partir de ces pages et ces sites, vous devriez extraire des exemples de marquage et tout spécialement les schémas implicites contenus, et en fournir une analyse.

Cette collection d'exemples devrait être publique, de préférence sur le wiki microformats parce qu'il est peu probable que vous puissiez la faire vous-même tout seul (peu importe combien vous êtes) et faire que les autres puissent vérifier votre travail aidera à améliorer sa qualité.

La page formats de critiques est un bon exemple de recherche effectuée avant la création d'un microformat. Avant de développer hReview, les collaborateurs sont allés faire un tour, ont documenté les pratiques existantes concernant les critiques/compte-rendus (reviews) qu'on trouve sur les sites web, et ont fourni quelques analyses des schémas implicites.

Note : ces exemples concernent le "contenu" (et les sch√©mas "implicites" imbriqu√©s) pas les formats, les noms de classes, les standards pr√©-existants, etc. Cela vient apr√®s.

Etudiez les exemples et déterminez le schéma "implicite" (pas explicite) de donnée qui est en train d'être publié (les propriétés conceptuelles concernant la donnée - pas les noms de classes litérales). Triez ceux-ci par fréquence et déterminez ceux qui apparaissent dans à peu près 80% des cas (selon la règle 80/20, le principe de Pareto).

Si vous ne pouvez trouver d'exemples du vrai monde pour le type de donnée que vous voulez représenter en utilisant un microformat, alors arrêtez-vous. Il n'a pas besoin d'un microformat.


Documentez les Efforts Précédents

Une fois documentés les exemples de publication du vrai monde des types de données que vous voulez représenter, la prochaine étape est chercher les efforts en développant des formats pour ces types de données.

Il y presque toujours des efforts précédents sur les formats pour n'importe quel type de donnée que vous voulez représenter en utilisant des microformats.

Apprendre √† partir des efforts pr√©c√©dents des formats est important, parce que cela aide √† :

  • minimiser la r√©p√©tition des erreurs des autres
  • explorer pourquoi un pr√©c√©dent format a r√©ussi (ou non)
  • fournir une source de vocabulaire pour exprimer un nouvau microformat.

Tout particuli√®rement, demandez-vous : "existe-t'il des standards √©tablis, interop√©rables et impl√©ment√©s que nous pouvons regarder et qui adressent ce probl√®me ?"

Par exemple, hCard et hCalendar ont été construits sur le haut des standards IETF standards pour vCard et iCal, respectivement, les deux étant largement implémentés, et dominants dans leur espace (il n'existait pas de formats concurrents ailleurs avec de tels niveaux d'adoption).

Les d√©veloppeurs de ces standards ont d√©j√† pass√© beaucoup d'ann√©es dans les comit√©s de standards √† discuter, d√©fendre et d√©velopper leurs sch√©mas. Mieux de tirer profit de tout le travail que d'autres ont produit avant vous, plut√īt que de partir seul comme un cowboy solitaire inventeur et perdre votre temps √† r√©p√©ter toutes leurs erreurs. Il est aussi bien plus facile de d√©marrer √† partir d'un sch√©ma bien √©tabli, et de le cartographier dans un HTML s√©mantique plut√īt que d√©velopper un nouveau sch√©ma.

Il est tout à fait possible durant cette étape que vous puissiez trouver quelqu'un d'autre qui se soit confronté au(x) problème(s) que vous résolvez. Peut-être même déjà résolu. Faites de votre mieux pour ouvrir le dialogue avec d'autres qui ont fait face au(x) même(s) problème(s). Nous ne voulons pas construire de murs entre communautés concurrentes - nous voulons des personnes qui travaillent ensemble pour développer une bonne solution qui couvrira la majorité des cas.

Si vous ne pouvez pas trouver d'efforts précédents sur les formats pour les données que vous voulez microformater, demandez sur l'IRC et sur les listes de discussion.

Propositions Brainstorming

A ce stade, vous avez recherché des exemples précédents et des formats précédents et vous êtes prêts à écrire les brainstorms pour un nouveau microformat.

En fait, ne le faites pas !!!

Il y a d'autres choses √† essayer avant de d√©velopper un microformat. Posez-vous d'abord ces questions :

  1. Y'a t'il un √©l√©ment standard en HTML qui fonctionnerait ?
  2. Y'a t'il une combinaison d'√©l√©mentsXHTML qui fonctionnerait ?

Si oui, documentez-cela sur la page de brainstorming et arrêtez-vous. Il n'y a pas besoin de microformat.

Ne réinventons pas ce que vous pouvez déjà faire avec HTML.

Pour plus de détails sur le XHTML sémantique, des exemples d'utilisation d'éléments XHTML, et sur la construction de combinaisons d'éléments XHTML, voir Les Eléments XHTML ayant du sens.

Autrement, si vous pouvez répondre clairement et franchement "non" aux deux questions du dessus, nous pouvons parler d'un microformat.

Avant que vous ne démarriez votre acte de création, familiarisez-vous avec [principes des microformats].

Il y a fondamentalement deux √©tapes avant d'√©crire une proposition de brainstorming :

  1. Revenir sur cette liste d'exemples de publication du vrai monde que vous avez cherchés, et assemblez le 80/20 du schéma implicite conceptuel extrait des exemples.
  2. Donnez √† chacun de ces concepts un nom de propri√©t√©, en le r√©utilisant √† partir de et dans l'ordre :
    1. de microformats existants
    2. de précédents formats
    3. mots et phrases simples mais spécifiques, en anglais et lisibles par les humains

Bravo, vous avez écrit une proposition de brainstorming avec une liste de nom de classes pour un microformat possible.

Vous pouvez remarquer que vous avez complètement passé le "nommage" du nouveau microformat potentiel en lui-même. Ce n'est pas un accident, c'est délibéré. Nommer est tentant, et un bon nommage est difficile. Par conséquent le nommage est discuté plus tard.

La clé est que le schéma explicite du microformat (quelles propriétés et par conséquent les noms de classes dedans) est "plus important" que le nom.

Souvenez-vous, les microformats devraient √™tre con√ßus d'abord pour les humains et ensuite pour les machines. Voici quelques questions qui pourront vous aider √† d√©cider si vous avez vraiment besoin d'un microformat pour les probl√®me que vous essayez de r√©soudre :

  1. Si je regardais ce microformat dans un navigateur qui ne supportait pas CSS ou avait CSS d√©sactiv√©, serait-il encore lisible par un humain ?
  2. Est-ce que ces √©l√©mnets de format sont stylisables avec CSS ?

Si le microformat propos√© ne passe pas ces deux choses, il est peu probable qu'il soit accept√©. Souvenez-vous : "les humains d'abord, les machines ensuite".


Itération

Maintenant que vous avez une simple proposition de brainstorming, que faites-vous ?

Itérez. Itérez. Itérez.

Dans le processus de développement d'un microformat, vous recueillerez probablement un grand-nombre de réactions de la part d'autres personnes intéressées par les microformats. L'effort devra être "itéré" et adapté. Le développement d'un microformat devrait être ouvert, et de préférence collaboratif et fondé sur une communauté.

Voici un diagramme de flux en ASCII-art :

DIAGRAMME :
énoncé du problème---->recherche/discussion---->proposition/"draft"---->spécification
^________________V   ^___________________V   ^______________V

Notez que chaque étape implique une processus itératif. Cette itération consiste en une discussion et du feedback, et pourra entrainer des changements majeurs. Ne craignez pas de faire des changements majeurs et s'il vous plait ne vous attachez pas trop à quelques solutions particulières que ce soient.

Considérations de Nommage

'NE DEMARREZ PAS même par libeller votre effort "hXYZ". C'est une erreur vraiment courante.

Démarrez toujours par le champ général du problème.

Par conséquent, nommez le champ du problème (*- page en dessous) de façon générique et évitez spécifiquement de démarrer par le nom de code / nom de marque comme hNouveauFormatCool.


Bon : Product Examples. Mauvais: hProduct-examples.

Après avoir itéré votre recherche votre recherche et brainstorming, vous avez probablement gagné suffisamment de compréhension de l'espace-problème que vous résolvez pour commercer à envisager les considérations de nommage.

Pages à créer

Un modèle a émergé à partir des efforts réussis de développement de microformats de plusieurs tpes spécifiques de pages wiki ayant été créées, dans un ordre particulier (néanmoins pas toujours).

Par exemple est t'il possible de faire installer une armoire forte blindée qui soit également ignifuge

Après que le champ spécifique du problème (*) ait été déterminé (principe 1), considérez de créer et de remplir les pages suivantes, et ajoutez la première à discussions-exploratoires. Si vous êtes incapable d'en venir à quelque contenu pour les pages, vous devriez considérer de nouveau si oui ou non le problème vaut la peine (ou prêt) d'être résolu.

  1. *-exemples. Chercher des exemples existants sur le web du type de contenu pour lequel vous pensez qu'un microformat est n√©cessaire. Documentez-les avec les URLs. Documentez les sch√©mas implicitement sous-tendus par ces exemples de contenu. Cette action vous aidera √† respecter le principe n¬į3, conception pour les humains d'abord, et pour les machines ensuite... adaptez aux comportements courants et aux "patterns" d'usage. Commencez par cloner la page d'exemples et remplissez l√†.
  2. *-formats Trouvez des formats et des standards de donn√©es existants interop√©rables, largement adopt√©s, qui ont d√©j√† tent√© de r√©soudre le probl√®me. Documentez leurs sch√©mas explicites. Ceci est un pr√©-requis n√©cessaire pour continuer en respectant le principe n¬į4, "r√©utiliser des blocs de construction provenant de standards largement adopt√©es".
  1. *-brainstorming. Utilisez les exemples actuels du web et leur sch√©mas implicites pour d√©terminer un sch√©ma g√©n√©rique 80/20 aussi-simple-que-possible (principe n¬į2) afin de repr√©senter leurs donn√©es. Oui, cela signifie que vous allez explicitement omettre quelques √©l√©ments de quelques cas d'utilisation, ou peut-√™tre des cas d'utilisation complets, qui sont plus des cas limites que repr√©sentatifs de comportements plus larges, de niveau agr√©gation/macro. Regardez quels sont les microformats existants pouvant √™tre r√©utilis√©s comme blocs de construction (principe n¬į5, modularit√©). Utilisez ces formats et sch√©mas de donn√©es existants comme une source de noms pour les champs (principe n¬į4). Etudiez comment vous embarqueriez ce microformat dans d'autres formats (aussi le principe n¬į5, "encapsulage"). Voir la page brainstorming pour un peu plus d'information.

Avec un sch√©ma 80/20, et une source de noms de champs, √©crivez une ou plusieurs propositions de "paille" pour un microformat dans la page *-brainstorming. Assurez-vous que les propositions de "paille" encouragent la distribution d√©centralis√©e des donn√©es (principe n¬į6). Repoussez le choix d'un nom de classe racine, car il chevauche souvent le nommage du microformat lui-m√™me. Gardez toujours √† port√©e de main les principes de nommage des microformats au moment de choisir des noms.

Le Brainstorming sur la substance du microformat (ses propri√©t√©s et valeurs) devrait pr√©c√©der le nommage du microformat lui-m√™me. Par cons√©quent apr√®s que les propositions aient √©t√© √©crites et discut√©es pour le sch√©ma, cr√©ez une section de nommage pour le microformat lui-m√™me et le nom de classe racine, o√Ļ diff√©rents noms peuvent √™tre envisag√©s.

  1. ** Quand il semble qu'il y ait un certain niveau de consensus autour d'une des propositions de "paille" pour un microformat avec un nom spécifique(**), écrivez-la sous la forme d'une spécification "brouillon" sur une page séparée du wiki et puis commencez à créer les pages suivantes pour la suivre.
  2. **-faq Il y aura probablement des questions récurrentes à propos du nouveau microformat, qui pourront/devront être répondues sur une page FAQ.
  3. **-problématiques Il se peut également qu'il y en ait qui soulèvent des problématiques à propos du microformat, qui ne puissent pas être traitées immédiatemment. Un document dédié aux problématiques aidera en servant à enregistrer ces problématiques, en consignant qui les a soulevées et quand, de façon à ce que ceux qui travaillent sur le microformat soient assurés de pouvoir s'y atteler et y répondre pleinement.
  4. **-exemples En fait, il peut y avoir bien trop d'exemples du vrai monde d'un microformat pour le documenter dans une section informative en fin de spécification, de ce fait la liste mérite sa propre page.
  5. **-implémentations En fait, il se pourrait qu'il y ait trop d'implémentations d'un microformat pour les documenter dans une section informative à la fin des spécifications, cette liste méritant sa propre page.
  6. **-brainstorming En fait, il y aura des propositions/suggestions/clarifications non triviales pour les modifications dans les microformats faisant partie de l'itération. Créer une page spécifique au format Brainstorming pour de telles suggestions


Passer d'une Etape à une autre Etape

Ces √©tapes du d√©veloppement sont r√©inscrites sur la page d'accueil o√Ļ les microformats sont r√©partis dans les sections "Discussions exploratoires", "Brouillons" et "Sp√©cifications".

Comment les microformats passent-ils d'une √©tape √† une autre ?

Discussions Exploratoires

Vous avez besoin d'un problème et il vous faut essayer de l'énoncer. Faites-le sur ce wiki en utilisant comme guide les items situés sous "Discussion Exploratoire". Envoyez ensuite une note à la liste microformats-new, pour attirer l'attention d'autres personnes qui s'intéressent aux microformats. Ceci est un probablement un bon moyen pour amener ici des personnes extérieures à la communauté actuelle des microformats et qui peuvent être confrontées à la même problématique.

Les réactions seront probablement de toutes natures. D'autres personnes pourront venir vérifier la pertinence de l'énoncé du problème, questionner le besoin d'un microformat, être d'accord avec vos propositions ou en rajouter. Toute réaction constructive est saine.

La conséquence de cette réaction pourra être que vous décidiez d'abandonner votre idée de microformat, ou de la modifier substantiellement. Une chose que vous êtes certain de vouloir faire à ce stade, est d'éviter de réinventer la roue.

Y a t'il des microformats √©l√©mentaires que vous pouvez r√©utiliser comme des "briques" ? En proc√©dant ainsi, vous vous √©conomiserez des efforts et cela vous aidera dans l'impl√©mentation future, car les "impl√©menteurs" auront moins de travail √† fournir.

Drafts

Ici, vous devez √©crire ce qui est essentiellement une sp√©cification, mais en gardant √† l'esprit qu'elle pourra grandement changer. L√† encore, il vous faut aller sur le wiki, et vous devriez envoyer une note √† la liste "microformats-new" pour pr√©venir les gens qu'il y a du nouveau. Continuez √† essayer de faire rentrer des r√©actions √† partir de sources pertinentes ext√©rieures √† la communaut√©. Les "drafts" devront comporter au minimum ce qui suit :

  • Une d√©claration concernant le fait que vous ne d√©poserez pas de brevet, et que vous adoptez un copyright appropri√© (de pr√©f√©rence le DOMAINE PUBLIC) comme illustr√© par les "drafts" actuels.
  • Une d√©claration XMDP d√©clarant les valeurs d'attributs. Vous pouvez pr√©f√©rer la placer sur une page √† part du wiki, et faire un lien vers elle. Dans ce cas utilisez la convention de nommage *-profile, par ex. hcard profile.
  • Des exemples de pratiques actuelles qui montrent comment le microformat pourra √™tre utilis√©. Gardez un oeil sur la fa√ßon dont le microformat am√©liore r√©ellement les choses. Si ce n'est pas le cas, c'est peut √™tre une indication que vous devriez l'abandonner, ou lui apporter de grands changements.
  • Usage de termes rfc-2119.
  • Des r√©f√©rences qui √©tayent vos d√©cisions de conception pour le microformat. Autant que possible, vous ne souhaitez pas inventer les choses "from whole cloth". Ceci devrait √™tre relativement ais√© si vous avez suivi le processus √† ce stade avec la recherche appropri√©e.
  • Une liste d'impl√©mentations (s'il y en a).
  • Une sections "probl√©matiques" pour permettre aux gens de vous remonter leurs 'r√©actions' avec des objections d√©taill√©es.

Spécifications

Vous aurez en général besoin d'au moins une itération pour passer l'étape du "brouillon". Une fois que les choses deviennent des spécifications, cela suppose qu'elles soient stables, de façon à ce que les développeurs puissent s'en emparer et écrire pour elles. Ceci implique aussi qu'il y ait au moins une ou deux implémentations.

Avant de passer à la section des spécifications, envoyez une note sur la liste microformats-new et encouragez la discussion et les objections majeures. Si aucune réponse ne vient, suggérez de migrer le microformat vers la zone "spécifications". S'il y a un support suffisamment explicite de la part de la communauté à faire ainsi, alors allez-y. (Si non, laissez-le alors sous un draft. L'absence de réactions n'est pas une approbation).. Cette migration peut réveiller les éditeurs assoupis, et il se peut alors qu'ils émettent une objection et vous renvoient au stade "brouillon". Si vous avez suivi le processus, il est temps désormais de fixer les choses. A ce stade, toutes les problématiques restantes devraient être faciles à résoudre.

Autres Documents

Patterns

Qu'en est il des autes types de pages sur le wiki, comme les "patterns" (par ex. include-pattern) ?

Comment ceux-ci sont-ils cr√©√©s ?

L'explication courte est celle-ci :

Les patterns ne sont pas du tout des formats. Ils ne se tiennent pas de manière autonome. Ce sont simplement de la documentation de morceaux d'autres formats qui sont attendus pour (ou sont) être réutilisés par d'autres formats.

Les exemples dans le vrai monde pour includes en particulier ont été documentés dans le contexte des exemples de CV, formats de CV et resume-brainstorming-fr (comme noté tout en haut du document). Plus tard, les exemples du vrai monde pour des critiques ont été trouvés pour avoir besoin tout aussi bien du "include-pattern".

Quand des exemples du vrai monde pour des microformats "multiples" requièrent la solution d'un problème similaire, alors cela vaut la peine de créer un "pattern" qui résout le problème sur l'ensemble des microformats.

En rapport