DICO(1L) Manuel Utilisateur DICO(1L)NOMdico - Recherche d'un mot dans un lexique Francais
SYNTAXEdico pattern1 pattern2 patternN ... ...
DESCRIPTIONdico est un petit programme permettant d'exploiter un lexique de mots
Francais, afin d'en verifier l'orthographe par exemple. Il supporte
une partie des expressions rationnelles afin de pouvoir trouver un mot
ou un groupe de mots a partir d'une fraction du terme recherche. dico
recherche le dictionnaire soit dans le chemin pointe par la variable
d'environnement DICO, soit si elle n'est pas definie par defaut dans le
repertoire /usr/local/lib/dico.
La version MS-DOS procede de maniere un peu differente, voir le para‐
graphe MS-DOS a la fin de ce manuel.
Le dictionnaire fourni avec dico est simplement organise en 26 fichiers
ascii, un pour chaque initiale, un mot par ligne. Ceci permet a
quiconque de rajouter un mot inconnu dans le lexique, a l'aide d'un
simple editeur de texte.
Ce lexique est le fruit de nombreuses heures de travail de nombreuses
personnes, il est tres complet notamment au point de vue technique et
scientifique, vous y trouverez nombre de termes ne figurant pas dans
les dictionnaires standards.
Il contient egalement les Codes Postaux des principales communes de
France, ce qui a l'usage s'avere tres pratique.
Les fichiers se nomment a.dic, b.dic,...,z.dic, nom de fichiers compat‐
ibles avec la plupart des systemes j'espere. Un fichier supplementaire
nomme version.dic permet de connaitre la date et le nom de l'auteur de
la derniere mise a jour.
Ce format texte, tres simple, est certes assez encombrant sur le
disque, mais il a ete choisi en raison de l'extreme simplicite d'emploi
pour tout le monde. Les machines sont maintenant largement equipees en
disque dur pour supporter autant de donnees (environ 1 ou 2 Mo selon la
version du lexique) sans la complication d'arbres ou de compactage.
Chacun est libre de recuperer ces donnees et de s'ecrire ses propres
programmes pour les gerer, ce format facilite tout.
EXEMPLES d'UTILISATION
Le dico prend une ou plusieurs expressions a rechercher sur sa ligne de
commande. Un nombre quelconque d'arguments est possible, il n'est lim‐
ite que par la longueur de la ligne de commande possible sur votre sys‐
teme d'exploitation.
Ces arguments obeissent a un petit sous-ensemble des expressions
rationnelles, l'utilisation de regexp() aurait ete trop lourde pour un
petit programme comme celui-ci.
dico machin
Recherchera le mot machin.
dico trou*r
Recherchera tous les mots commencant par "trou" et se terminant
par "r".
Les operateurs reconnus sont:
* Remplace toute une serie de caracteres.
? Remplace un seul caractere, a la position ou il se trouve.
[c-f] Remplace un ensemble de caracteres, ici de la lettre 'c' a la
lettre 'f'
[^loq] Exclut un ensemble de caracteres, ici les lettres 'l' , 'o' et
'q'
En pratique, la plupart du temps vous n'utiliserez que *, lorsque vous
savez comment commence un mot mais avez des doutes sur le milieu ou la
fin. Par exemple :
dico t?ro*ne
Devrait a coup sur vous trouver l'orthographe de Tyrothricine...
CODES POSTAUX
Les codes postaux des principales communes importantes de France ont
ete saisis dans ce dictionnaire, on peut donc en une seconde trouver le
code recherche, ce qui est plus rapide que de se souvenir a quel
endroit l'on a range l'annuaire papier officiel !
Ces codes sont inscrits a la suite du nom de la commune, separes en
principe par une tabulation pour simple raison de proprete d'affichage.
Pour cette raison, il est impossible de trouver un code postal en
entrant le nom exact de la ville recherchee, on doit absolument
utiliser au moins le caractere de remplacement '*' a la suite de ce
nom.
Par exemple pour trouver le code postal de la ville d'Antony, vous
devez taper la commande:
dico antony*
Attention, un certain nombre de villes sont orthographiees helas incom‐
pletement, en utilisant une notation abregee. Par exemple, "saint" et
"sainte" sont respectivement abreges par "st" et "ste".
Le mieux pour trouver a coup sur par exemple le code ou les codes
postaux de "Saintes Maries de la Mer" est de lancer la recherche comme
suit:
dico s*marie*mer*
En raison de la simplicite d'organisation du lexique, la recherche ne
fait appel a aucun algorithme complique, on pourrait presque reecrire
cette commande avec grep et les outils standards. C'est pourquoi il est
conseille de toujours donner dans la mesure du possible, la premiere
lettre du mot a rechercher. En effet, dans le cas inverse le programme
recherche dans TOUS les fichiers sans distinction, ce qui est beaucoup
moins rapide ( 26 fois exactement...)
CARACTERES ACCENTUES
Le dictionnaire contient bon nombre de mots comportant des accents.
Les caracteres sont donc definis sur 8 bits et non 7; si vous avez
recupere ce programme en version DOS, il utilise le jeu de carateres
IBM-Etendu de l'IBM-PC. Si vous l'avez recupere en version UN*X,
c'est le jeu ISO 8859-1 qui est utilise, dit Latin-1.
La recherche se fait en considerant toute minuscule accentuee comme son
equivalent non accentue, et inversement; vous n'etes pas oblige
d'entrer des accents dans la commande de recherche. Ceci ralentit un
peu le temps de traitement, mais a notre epoque les machines sont rapi‐
des...!
OPTIONS
Le programme dico possede deux fonctionnalites supplementaires, en le
lancant avec les options suivantes sur la ligne de commande :
dico-v
Affichera le numero de version du programme, et la date de mise
a jour du lexique; ainsi que le nom de la personne ayant
effectue cette mise a jour. ( fichier version.dic )
dico-c Comptera tous les mots contenus dans le
lexique, en affichant les resultats intermediaires pour chaque
lettre de l'alphabet, puis le total.
TERMINAL et ACCENTS
Par defaut, les mots affiches sont au format d'accents utilises par le
systeme ( DOS ou ISO Latin-1). Vous pouvez toutefois demander au pro‐
gramme dico de traduire a l'affichage ces accents, en fonction de votre
terminal. ( ceci n'est valide que dans la version UN*X, sous DOS cela
n'a aucun interet.)
Ceci se fait en definissant une variable d'environnement nommee
DICOTERM.
Celle-ci peut prendre trois noms differents, et doit etre utilisee dans
les cas suivants :
DICOTERM=ASCII
Votre terminal est 7 bits et ne connait que l'ASCII pur. Dans ce
cas tous les accents seront traduits par la lettre non accentuee
correspondante.
DICOTERM=IBM
Votre terminal affiche le jeu IBM etendu MS-DOS, et le diction‐
naire est au format ISO. Dans ce cas les accents seront cor‐
rectement traduits pour le terminal.
DICOTERM=ISO
Votre terminal affiche le jeu ISO Latin-1 et le dictionnaire est
au format MS-DOS. Dans ce cas ( peu probable), les accents
seront traduits correctement.
N'utilisez jamais cette variable d'environnement si vous etes sur la
console LINUX ou si vous utilisez la version MS-DOS. Les resultats
n'auront aucun interet !
VOIR AUSSIgrep(1)spell(1)spellf(1)CLEANDIC
Le programme cleandic est un petit utilitaire permettant de nettoyer le
lexique automatiquement, de toute ligne vide ou de commentaires, et de
passer les fichiers au format texte Un*X, chaque ligne etant separee
donc par un simple LF, caractere 0A.
Les utilisateurs de MS-DOS auront tout interet a lancer ce programme
apres l'installation des fichiers du lexique, en effet la commande dico
sous DOS accepte parfaitement ce format texte en lieu et place du tra‐
ditionnel CR-LF, ainsi que de nombreux editeurs de texte. On gagne un
octet par ligne.
KILLPOSTE
Le programme killposte fonctionne comme le programme ci-dessus, mais
permet d'eliminer du lexique toutes les communes et leurs codes
postaux.
Ce programme fut rendu necessaire en raison du courrier recu, demandant
la suppression des communes Francaise du lexique. Preferant ne leser
personne, ceux qui n'en ont pas besoin peuvent eux meme prendre la
decision d'alleger leur liste.
BUGS
Vous constaterez qu'il y a encore du travail a faire sur ce lexique,
certains mots apparaissant a la fois en version non accentuee, et en
version accentuee. Certaines fautes de frappe ont pu etre glissees,
certaines expressions peuvent etre erronees. De meme, il se peut que
certains mots apparaissent en double... Neanmoins il donne satisfac‐
tion dans la plupart des cas, en l'etat.
En dehors de ces imperfections, il contient les noms communs, verbes,
participes, et quelques conjugaisons irregulieres, ainsi que certains
noms propres; ce sont en regle generale les termes dont on doute de
l'orthographe qui sont inclus dans ce lexique, au fur et a mesure de
son utilisation.
VERSION
Normalement, la commande "dico -v" devrait vous afficher la date de
derniere mise a jour du lexique, simplememnt en allant lire le fichier
texte "version.dic" qui se trouve dans le meme repertoire que les
fichiers du dictionnaire. Pensez a mettre a jour ce fichier lors de vos
propres modifications !
COPYRIGHT
Le programme dico.c est (c) Rene Cougnenc 1992, et doit etre considere
comme FREEWARE, c'est a dire que vous pouvez le distribuer gratuitement
a quiconque, a condition d'avoir la sympathie de ne pas en faire un
usage commercial sans en avertir l'auteur :-)
Vous pouvez modifier les sources a votre convenance, utiliser tout ou
partie du programme pour d'autres realisations. Vous etes fortement
encourages a apporter des ameliorations et a les communiquer !
Le dictionnaire ne peut faire l'objet d'aucune propriete, il a ete
realise petit a petit par l'adjonction manuelle de nombreuses personnes
dont vous pouvez faire partie: Continuez a l'enrichir tant que vous le
pouvez, ou a corriger d'eventuelles erreurs. Faites circuler votre tra‐
vail et surtout modifiez le fichier "version.dic", afin d'indiquer la
date de mise a jour de ce dictionnaire, pour que tout le monde sache ou
il en est et qui a pu faire les dernieres betises :-)
MISE A JOUR - FORMAT
Le lexique peut etre mis a jour ou corrige a l'aide d'un simple editeur
de texte. Les mots doivent figurer en lettres minuscules, c'est le pro‐
gramme d'affichage qui formatte les sorties. Ceci est tres important
pour la routine de recherche !
Les accents doivent etre entres au format courant utilise par la
machine, correspondant au programme executable qui a ete compile. (
sous LINUX, ISO, sous DOS, IBM ). Il est preferable de conserver le
format texte Unix ( un simple line-feed entre chaque ligne) plutot que
celui de DOS, plus encombrant. (CR/LF). La version MS-DOS s'accomode
tres bien de ce format, par contre sous **IX il est imperatif de sup‐
primer un eventuel format MS-DOS.
Il ne doit y avoir qu'un seul mot par ligne (ou un mot compose),
l'ordre alphabetique n'est pas necessaire pour que le programme fonc‐
tionne, mais il affichera les termes dans l'ordre rencontre lors de la
recherche.
Toute ligne commencant par le caractere '#' sera consideree comme une
ligne de commentaire par le programme. Toutefois n'en abusez pas car
chaque ligne ralentit la recherche bien entendu.
Les Codes Postaux sont inscrits de la maniere suivante:
ville <TAB> CODE
La tabulation n'est la que pour des raisons de proprete d'affichage et
d'economie de caracteres. Tachez tout de meme de le respecter, la ver‐
sion 1.1 fait usage de cette tabulation pour reconnaitre les communes
et formater plus proprement l'affichage...
Pensez a mettre a jour le fichier "version.dic", simple texte indiquant
qui a fait quoi et a quel moment , afin de savoir ce qu'il en est du
lexique !!!!!
OUTILS
Le sous-repertoire tools de la distribution, contient en vrac un cer‐
tain nombre de petits utilitaires ecrits pour les besoins de la cause.
Ils sont fournis en l'etat, pour rendre service, mais ne pretendent pas
etre des exemples de programmation ! Ce sont des exemples au contraire
de la souplesse du langage C, apte a depanner rapidement en toutes cir‐
constances !
Ils sont fournis non compiles, libre a vous de les porter sur votre
systeme si vous en avez besoin, certains peuvent ne pas passer sous MS-
DOS toutefois, ou d'autres contenant de high-bits peuvent poser des
problemes a votre compilateur.
Le programme ibm2iso.c permet de transformer un fichier texte venant de
MS-DOS, au format Un*x. Les caracteres accentues sont traduits dans le
jeu ISO Latin-1 utilise par de nombreux systemes. Si vous le linkez
avec le nom iso2ibm, son fonctionnement sera inverse, il transformera
les fichiers textes ISO + UN*X au format MS-DOS, accents IBM etendus et
lignes separees par des CR-LF.
Le programme eclate.c permet de repartir une liste de mots (un par
ligne) dans un ordre quelconque, dans 26 fichiers comme ceux de ce lex‐
ique. Il n'est pas fourni compile, c'est peu de chose et vous pourrez
l'adapter a vos besoins le cas echeant. Vous pourrez ainsi par exemple
ecrire une routine recuperant les mots de n'importe quel texte et les
rajouter au lexique ( apres verification de l'orthographe s'il vous
plait !)
Le programme putbanner.c est utilise pour rajouter dans chaque fichier
*.dic, la banniere Le Dico contenant les conditions de diffusion, afin
de realiser la version de distribution du lexique.
Les bouts de source ou de shell-script qui trainent sont donnes en
vrac, ce sont quelques trucs qui ont servi de temps a autres pour
realiser le lexique, sans garantie de fonctionnement parfait :-)
Version MS-DOS
Bien que realise et maintenu sous LINUX, Le Dico existe en version MS-
DOS, qui bien que moins performante est devenue populaire. Les differ‐
ences essentielles avec la version normale sont le jeu de caracteres
utilise et le chemin de recherche du lexique.
Les caracteres 8 bits accentues sont ceux de l'IBM-PC, dit IBM-etendu.
Les fichiers du lexique sont cherches dans plusieurs endroits ( ce qui
ralentit certes l'utilisation mais etait indispensable pour conserver
une simplicite d'installation aux utilisateurs DOS).
Tout d'abord, la variable d'environnement DICO est recherchee. Si elle
n'est pas trouvee, le lexique est recherche dans un sous repertoire
nomme lexique partant du repertoire ou se trouve le programme exe‐
cutable dico.exe. (Si dico.exe se trouve dans c:/util par exemple, ce
sera c:/util/lexique ).
Si les fichiers ne sont pas la non plus, c'est un repertoire nomme
/usr/local/lib/dico qui sera scrute, par compatibilite avec la version
normale Un*ix. Si enfin ils ne se trouvent pas la, en desespoir de
cause le programme tentera de les trouver dans le repertoire courant.
REMERCIEMENTS
Ce lexique a pu voir le jour grace aux contributions volontaires ou
involontaires ( analyse automatique de messages...) de nombreuses per‐
sonnes dont voici une liste non exhaustive:
Alain Lemell, Alain Vermotgaud, Attila Altan, Bernard Guillaumot,
Bernard Milovanovic, Bernard Norek, Bertrand Petit, Cedric Ingrand,
Christian Delannoy, Christian Perrier, Daniel Morais, Daniel Tous‐
saint, Denis Gradel, Antony Filleau, Edmond Vandermeersch, Emmanuel
Charpentier,Patrick Montgermont, Emmanuel Roussin, Eric Richet, Francis
Rozange, Gerard Mannig, Francois Jarraud, Francois Millet, Francois
Vigneron, Georges Wanderstok, Javier Castillo, Jean-Christophe Peyrard,
Jean-Claude Ambroise, Jean-Luc Betin, Jean-Marie Guitard, Joel Sur‐
couf, Jps Gueniat, Klaus Steinschaden, Laurent Graffin, Mic Ralle,
Michel Duffaud, Michel Perez, Michel Pinquier, Nat Makarevitch,
Olivier Girard, Lionel Delafosse, Ollivier Civiol, Ollivier Robert,
Philippe Abegg, Jacques Lipka, Pascal Petit, Pascal Reszetko, Pascal
Tremong, Paul Milliot, Philippe David, Philippe Duflot, Philippe Pater‐
notte, Philippe Waki, Pierre Tran, Pierre Zarka, Regis Rampnoux, Rene
Cougnenc, Rene Durand, Sam Cabannes, Serge Delbono, Serge Gautier, Stef
Evain, Stephane Derny, Vincent Gillet, Emmanuel Bataille.
Il a demande plus d'une centaine d'heures ensuite a l'auteur du petit
programme dico, pour fusionner l'ensemble des fichiers, trier et cor‐
riger, rajouter ou oter des mots. Le lexique tel que fourni avec cette
version 1.0, a ete retravaille manuellement mot par mot, la fatigue
expliquera les erreurs qui ont pu se glisser malicieusement dedans...
Merci de me comprendre :-)
Sont a remercier particulierement Wolfgang LENERZ du club QL Contact
France (Utilisateurs de machines Sinclair QL), qui a fourni gracieuse‐
ment un lexique fort utile realise pour un projet d'un type proche de
Le Dico, ainsi que Herve Blaise,
Nat Makarevitch et Georges Wanderstok pour leurs importantes contribu‐
tions.
Enfin, un double aperitif special pour Serge DELBONO, qui eut le
courage de faire un superbe portage de Le Dico pour Microsoft Windows
(r).
Remercions egalement Linus Torvalds et tous les createurs du systeme
LINUX, superbe UN*X gratuit, sans lequel le travail du lexique aurait
ete un pensum sous MS-DOS...
Le Dico V 1.1 Octobre 1992 DICO(1L)