DOAP : c'est quoi ça ?
Petite description de DOAP, le nouveau truc à la mode sur bonjourlesmouettes.org, pour les développeurs, et pour les non-développeurs (cf. derniers paragraphes).
Qu'est-ce donc que DOAP
- DOAP est un vocabulaire RDF.
- DOAP fait partie du Web Sémantique.
- DOAP permet de décrire un Projet (Description Of A Project).
Je vais admettre ici que vous avez quelques connaissances sur RDF (au moins ce que c'est et à quoi ça ressemble). Sinon, je vous conseille de lire le paragraphe "Three Minute RDF" de Parsing FOAF with PHP. Pas besoin de connaître grand-chose au Web Sémantique pour comprendre DOAP et son utilité.
Décrire un projet en utilisant DOAP : les briques de base
DOAP définit un vocabulaire RDF, c'est-à-dire un ensemble de prédicats qui permettent de donner des informations autour d'un projet (des métadonnées).
Vous pouvez trouver sur ce blog la liste des propriétés et des classes DOAP traduites en français. Lisez-la en anglais dans l'article d'Edd Dumbill, créateur de DOAP.
Vous choisissez ensuite les propriétés que vous souhaitez utiliser, et utilisez la syntaxe RDF :
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:doap="http://usefulinc.com/ns/doap#"> <doap:Project> <doap:name>DOAP-a-matic</doap:name> <doap:homepage rdf:resource="http://www.bonjourlesmouettes.org/doap-a-matic.php" /> ... </doap:Project> </rdf:RDF>
Le cas de doap:maintainer, doap:developper, doap:documenter, doap:translator et doap:helper
Là, c'est un peu plus compliqué : on ne peut pas se contenter d'inscrire entre les deux tags le nom de la personne : il faut recourir à la classe Person de FOAF. Ne vous affolez pas, un exemple et ça va passer :
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:doap="http://usefulinc.com/ns/doap#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<doap:Project>
<doap:name>DOAP-a-matic</doap:name>
<doap:homepage rdf:resource="http://www.bonjourlesmouettes.org/doap-a-matic.php" />
<doap:maintainer>
<foaf:Person>
<foaf:name>Vincent Tabard</foaf:name>
...
</foaf:Person>
</doap:maintainer>
...
</doap:Project>
</rdf:RDF>
Vous pouvez ajouter autant d'informations que vous voulez entre les foaf:Person. Allez voir sur FOAF-a-matic pour créer votre FOAF (ne gardez que la partie entre foaf:Person). Je vous conseille de mettre au moins un nom (foaf:name), un e-mail (foaf:mbox ou foaf:mbox_sha1sum pour ne pas divulguer vos informations personnelles) et un lien vers un FOAF plus conséquent (<rdfs:seeAlso rdf:resource="..." />, en n'oubliant pas d'ajouter l'espace de nommage RDFS : xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#").
Ajouter un Repository
Votre projet a certainement un serveur CVS, SVN, BitKeeper ou GNU Arch. Vous pouvez donc l'ajouter à votre DOAP. Nous allons prendre l'exemple de CVS, un des plus connus (utilisé notamment par Sourceforge).
<doap:repository> <doap:CVSRepository> <doap:anon-root>:pserver:anonymous@cvs.example.org:/cvs/myproj</doap:anon-root> <doap:module>sources</doap:module> <doap:browse rdf:resource="http://cvs.example.org/viewcvs/myproj/sources/" /> </doap:CVSRepository> </doap:repository>
anon-root est la chaîne de connexion qu'il faut fournir à cvs (par exemple cvs -d :pserver:anonymous@cvs.example.org:/cvs/myproj checkout sources). module est le module sur le serveur CVS. browse est l'adresse HTTP où l'on peut consulter le contenu du serveur CVS.
Autre exemple : le serveur SVN de DOAP :
<doap:repository> <doap:SVNRepository> <doap:location rdf:resource="http://svn.usefulinc.com/svn/repos/trunk/doap/" /> <doap:browse rdf:resource="http://svn.usefulinc.com/cgi-bin/viewcvs.cgi/trunk/doap/" /> </doap:SVNRepository> </doap:repository>
Comment créer un DOAP
Deux méthodes :
- Vous utilisez un éditeur de texte

- Vous utilisez DOAP-a-matic (un service offert par bonjourlesmouettes.org

L'utilisation de DOAP-a-matic est assez simple : remplissez les champs que vous souhaitez voir figurer dans votre DOAP, ignorez les autres, soumettez le formulaire, et voilà !
Si vous choisissez d'utiliser un éditeur de texte, n'oubliez pas de valider votre fichier en utilisant le RDF Validator du W3C !
Comment lier mon projet et son DOAP
Il faut inclure un lien dans la page d'accueil de votre projet, en insérant entre les balises <head></head>] :
<link rel="meta" type="application/rdf+xml" title="DOAP" href="..." />
en n'oubliant pas de remplacer les points de suspension par l'URL de votre DOAP.
Quel est l'intérêt de DOAP ?
DOAP permet :
- de faciliter la gestion d'un projet (gestion des développeurs, gestion des emplacements physiques).
- de faciliter la recherche d'un projet (Web Sémantique) : il devient beaucoup plus facile de rechercher une information dans la masse de données du Web, puisque les données ont un format prévisible.
- de faciliter la tâche des personnes qui souhaitent utiliser un projet.
Nous allons nous attarder sur ce dernier point. Quelle est l'utilité de DOAP pour un non-développeur ? Tout simplement faciliter le téléchargement et la compilation d'un projet, bref toutes les étapes rébarbatives avant de profiter d'un projet. Comment cela ? Imaginez un programme (nommons-le GimmeDOAP), qui vous permette d'automatiser la récupération des sources du projet, en n'ayant que l'adresse de la page d'accueil du projet...
$ ./gimmedoap.pl http://alexandria.sourceforge.net/ ... $ ls alexandria gimmedoap.pl
Et voilà. Avec une seule commande, vous récupérez tout le contenu du serveur CVS du projet Alexandria. C'est truqué, ça n'existe pas ? Si, si. C'est même téléchargeable sur mon serveur (version 0.3, encore en test, vos remarques et vos commentaires --> balbinus@bonjourlesmouettes.org, c'est un "aperçu technologique" fonctionnel, comme on dit chez Mozilla). Comment ça marche ?
- Récupération de la page d'accueil du projet par la ligne de commande.
- Récupération du contenu de la page d'accueil (
wget). - Recherche d'un @@<link rel="meta" title="DOAP" type="application/rdf+xml" href="..." /> dans le code, récupération de l'URL du DOAP.
- Récupération du contenu du DOAP (
wget). - Extraction du
<CVSRepository>ou<SVNRepository>(GimmeDOAP ignore les espaces de nommage, et trouvera ce qu'il cherche quelque soit l'espace de nommage). - Appel de
cvsousvn, pour récupérer les fichiers.
Certains projets possédant un DOAP n'ont pas inclus de lien dans leur page. Vous pouvez également donner directement l'URL d'un fichier DOAP à GimmeDOAP :
$ ./gimmedoap.pl -doap http://svn.usefulinc.com/svn/repos/trunk/doap/examples/doap-doap.rdf ... $ ls doap gimmedoap.pl
On vient donc de récupérer le contenu du serveur SVN public de DOAP.
Poussons plus loin. Ne pourrait-on pas imaginer un système qui fasse tout, du début jusqu'à la fin, et que l'on n'ait plus qu'à lancer le programme ? Bien sûr que si.
$ ./configure ... $ make ... $ make install ...
Ceci est le prototype d'une installation *nix classique. Je ne vais pas la détailler ici, mais sachez que cela suffit généralement pour installer un logiciel. Beaucoup de sites vous expliquent le principe. Cela ne serait donc pas très compliqué. De toutes façons, ce principe existe déjà avec apt-get et rpm.

Commentaires
1. Le lundi 16 août 2004 à 15:33, par Charles Nepote
2. Le mardi 21 février 2006 à 17:48, par ativan
3. Le mardi 21 mars 2006 à 19:07, par 59sPgp3lW0
4. Le mercredi 27 septembre 2006 à 17:54, par Olivier Berger
5. Le dimanche 27 mai 2007 à 03:19, par seremi
6. Le dimanche 27 mai 2007 à 03:19, par seremi
7. Le dimanche 27 mai 2007 à 03:19, par seremi
8. Le dimanche 27 mai 2007 à 03:20, par seremi
9. Le dimanche 27 mai 2007 à 03:20, par seremi
10. Le dimanche 27 mai 2007 à 08:48, par viris
11. Le dimanche 27 mai 2007 à 08:49, par viris
12. Le dimanche 27 mai 2007 à 08:49, par viris
13. Le dimanche 27 mai 2007 à 08:49, par viris
14. Le dimanche 27 mai 2007 à 08:49, par viris
15. Le dimanche 27 mai 2007 à 15:20, par google
16. Le vendredi 10 août 2007 à 14:44, par Guyou
17. Le samedi 8 septembre 2007 à 20:02, par Piliaaffolync
18. Le vendredi 2 novembre 2007 à 03:19, par plane tickets flights
19. Le samedi 8 décembre 2007 à 13:48, par card credit eliminate debts
20. Le mardi 22 janvier 2008 à 20:43, par Ciprofloxacin tablets
21. Le samedi 2 février 2008 à 03:31, par cheapest insurance best car
22. Le samedi 2 février 2008 à 03:31, par cheapest insurance best car
23. Le samedi 2 février 2008 à 15:50, par credit address citibank card
24. Le lundi 4 février 2008 à 19:12, par valtrex generic
25. Le lundi 4 février 2008 à 19:12, par valtrex generic
26. Le mercredi 13 février 2008 à 04:08, par hockey easton sticks
27. Le mercredi 13 février 2008 à 04:08, par hockey easton sticks
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.