process-fr
Si c'est votre première visite, regardez svp la page d'introduction.
Ainsi vous voulez développer un nouveau microformat ?
tout d'abord ayez quelque expérience
Avant même d'imaginer continuer à réfléchir sur un nouveau microformat,
- Faites que votre site soit CHIC/POSH.
- 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.
Egalement, cherchez sur le web. Il y a des chances pour que quelqu'un d'autre ait rencontré le même problème que vous. Si vous croyez toujours que votre problème n'a pas été résolu, postez quelque chose sur la liste de discussion microformats-new microformats-new ou tout autre canal public (voir http://microformateurs.org/discussion/). Nous voulons engager toutes les parties intéressées dans la discussion. Commencez la discussion avant de commencer à créer quelques pages que ce soit 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.
Documentez les Comportements Existants
Documentez les comportements humains existants. Exemple du pourquoi d'abord ?
Souvenez vous, nous pavons les "chemins des vaches"- avant de faire ça, vous devez trouver les "chemins des vaches". Vos exemples devraient être une collection de pages et de sites réels, qui publient le type de données que vous souhaitez structurer avec un microformat. A partir de ces pages et de ces sites, il vous faut extraire des exemples de balisages et les schémas implicites à l'intérieur, et fournir une analyse.
Cette collection d'exemples devrait être publique, de préférence sur un wiki parce qu'il vous sera impossible de le faire par vous-même (peu importe combien vous êtes). 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 impliqués dedans.
Il est tout à fait possible à ce stade que vous trouviez quelqu'un d'autre qui se soit déjà frotté au même problème que celui qui vous occupe. Peut-être l'a t'il résolu. Faites de votre mieux pour ouvrir un dialogue avec d'autres qui ont rencontré le même problème. Nous ne voulons pas construire des murs entre des communautés concurrentes - nous voulons que les personnes travaillent ensemble pour développer une bonne solution qui couvrira la majorité des cas.
Proposez un Microformat
En fait, ne le faites pas !!!
Il y a d'autres choses à essayer avant de développer un microformat. Posez-vous d'abord trois questions :
- Y'a t'il un élément standard en XHTML qui fonctionnerait ?
- Y'a t'il une combinaison d'éléments XHTML qui fonctionnerait ?
- Si les réponses aux deux questions précédentes sont 'non', nous pouvons discuter d'un microformat.
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 The Elements of Meaningful XHTML.
Tout d'abord, vous devriez regarder attentivement les principes des microformats.
Une fois que vous avez compris les principes, demandez-vous : "est-ce qu'il existe des standards bien établis, implémentés de façon interopérable, vers lesquels se tourner et qui solutionnent ce problème ?" ; Par exemple, hCard and hCalendar ont été construits au-dessus des standards de l'IETF pour vCard and iCal, respectivement, chacun d'eux étant largement implémenté de manière interopérable et dominant dans leur espace (il n'existait pas de formats concurrents avec quoi que ce soit à proximité des mêmes niveaux d'adoption). Les développeurs de ces standards avaient déjà passé de nombreuses années dans des comités de standardisation, à défendre et à développer les schémas. Il est préférable de s'appuyer sur le travail de longue haleine que d'autres ont effectués avant vous, plutôt que de divaguer comme un inventeur tel un cow-boy solitaire, et perdre du temps à répéter les mêmes erreurs. Il est également plus facile de démarrer à partir d'un schéma bien établi, et d'en établir une correspondance en XHTML, plutôt que de développer un nouveau schéma.
Souvenez-vous, les microformats doivent être conçus d'abord pour les humains, et ensuite pour les machines. Voici quelques questions qui pourront vous aider à savoir si vous avez vraiment besoin d'un microformat pour résoudre votre problème :
- Si je lisais ce microformat au moyen d'un navigateur qui ne supporte pas CSS, ou dont cette fonctionnalité a été désactivée, serait-il toujours lisible par un humain ?
- Est-ce que les éléments de ce microformat sont stylisables avec CSS ?
Si le microformat proposé ne remplit pas ces conditions, il est peu vraisemblable qu'il soit éligible. Souvenez-vous : les humains d'abord, les machines ensuite.
Itération
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 collaboratif et fondé sur une communauté.
Voici un diagramme de flux ASCII-art :
DIAGRAMME : énoncé du problème---->recherche/discussion---->proposition/"draft"---->standard ^________________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.
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).
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. 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 si vous êtes prêt) d'être résolu.
- *-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à.
- *-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".
- *-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.
- ** 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.
- **-faq Il y aura probablement des questions récurrentes à propos du nouveau microformat, qui pourront/devront être répondues sur une page FAQ.
- **-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.
- **-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.
- **-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.
- **-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 ? Pour mieux répondre à cette question, il est probablement utile d'écrire un ensemble de desiderata pour chaque étape.
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.
Ceci étant ne soyez pas intimidé(e) pour aller de l'avant, juste parce que certaines personnes ont des objections. Si vous arrivez à trouver un groupe de personnes que vous respectez, qui sentent que votre idée a du mérite et, c'est peut être ça le plus important, qui désirent continuer à travailler avec vous pour la mettre en forme, allez-y.
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)?
Comme 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".