Date de publication du RFC : Octobre 1997
Auteur(s) du RFC : Rickard E. Faith (U. North Carolina), Bret Martin (Miranda)
Pour information
Première rédaction de cet article le 1 mai 2007
Dernière mise à jour le 17 juin 2007
Un très simple RFC, pour décrire un protocole requête / réponse pour interroger un dictionnaire distant.
Suivant la tendance de son époque, le protocole DICT utilise un port spécifique pour le routage du message et est très direct : la requête est envoyée sur une ligne et la réponse partiellement structurée est renvoyée en échange. Plus riche que les protocoles plus anciens comme whois ou finger (par exemple, la réponse est précédée d'un code numérique, comme avec SMTP ou HTTP, permettant une analyse facile), DICT est quand même bien plus simple que les usines à gaz modernes, par exemple à base de SOAP. Et il dispose malgré cela de possibilités intéressantes comme celle de recevoir de l'Unicode.
Aujourd'hui, un tel protocole serait peut-être bâti sur REST mais, à ma connaissance, cela n'a pas encore fait l'objet de normalisation.
Tel qu'il est, DICT est très simple à programmer et c'est par
exemple fait dans le module Emacs
dictionary
. Avec ce module, il suffit de mettre dans son ~/.emacs
des lignes comme :
(global-set-key [f5] 'dictionary-search) (autoload 'dictionary-search "dictionary" "Ask for a word and search it in all dictionaries" t) (autoload 'dictionary-match-words "dictionary" "Ask for a word and search all matching words in the dictionaries" t) (autoload 'dictionary-lookup-definition "dictionary" "Unconditionally lookup the word at point." t) (autoload 'dictionary "dictionary" "Create a new dictionary buffer" t) ;(setq dictionary-server "dict.example.org")
et un appui sur <F5> affichera la définition du terme sur lequel se trouve le curseur.
Une autre solution est d'utiliser, en ligne de commande, l'excellent outil curl qui est client DICT. Par exemple, si on cherche la définition de corrugated dans le Webster, on trouve :
% curl dict://dict.org/lookup:corrugated:web1913 220 aspen.miranda.org dictd 1.9.15/rf on Linux 2.6.18-4-k7 <auth.mime> <4730178.11990.1182115574@aspen.miranda.org> 250 ok 150 1 definitions retrieved 151 "Corrugated" web1913 "Webster's Revised Unabridged Dictionary (1913)" Corrugate \Cor"ru*gate\ (-g?t), v. t. [imp. & p. p. {Corrugated} (-g?`t?d); p. pr. & vb. n. {Corrugating} (-g?`t?ng).] To form or shape into wrinkles or folds, or alternate ridges and grooves, as by drawing, contraction, pressure, bending, or otherwise; to wrinkle; to purse up; as, to corrugate plates of iron; to corrugate the forehead. {Corrugated iron}, sheet iron bent into a series of alternate ridges and grooves in parallel lines, giving it greater stiffness. {Corrugated paper}, a thick, coarse paper corrugated in order to give it elasticity. It is used as a wrapping material for fragile articles, as bottles. . 250 ok [d/m/c = 1/0/18; 0.000r 0.000u 0.000s] 221 bye [d/m/c = 0/0/0; 0.000r 0.000u 0.000s]
Les seuls dictionnaires accessibles par ce protocole que j'ai trouvées en ligne sont en anglais. Je n'en connais pas en français, les réalisations concrètes et utiles étant rares dans le monde de la francophonie (contrairement aux colloques de prestige). Ainsi, le dictionnaire de l'ATILF ne semble pas disposer d'une interface adaptée aux programmes (qu'elle soit bâtie sur DICT ou sur un autre protocole). Même chose pour le Wiktionnaire, malheureusement, même si un outil, apparemment à installer soi-même, existe.
Quant à ce qui concerne le serveur, je vous invite à lire l'article de Jan-Piet Mens.
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)