DICO(1)

NOM
dico - Recherche d'un mot dans un lexique Français

SYNTAXE
dico pattern1 pattern2 patternN ... ...

DESCRIPTION
dico est un petit programme permettant d'exploiter un lexique de mots Français, afin d'en vérifier 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 recherché. dico recherche le dictionnaire soit dans le chemin pointe par la variable d'environnement DICO, soit si elle n'est pas définie par défaut dans le répertoire /usr/lib/dico-cougnenc.

La version MS-DOS procède de manière un peu différente, voir le paragraphe 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 éditeur de texte.

Ce lexique est le fruit de nombreuses heures de travail de nombreuses personnes, il est très complet notamment au point de vue technique et scientifique, vous y trouverez nombre de termes ne figurant pas dans les dictionnaires standards.

Il contient également les Codes Postaux des principales communes de France, ce qui a l'usage s'avère très pratique.

Les fichiers se nomment a.dic, b.dic,...,z.dic, nom de fichiers compatibles avec la plupart des systèmes j'espère. Un fichier supplémentaire nomme version.dic permet de connaître la date et le nom de l'auteur de la dernière mise a jour.

Ce format texte, très simple, est certes assez encombrant sur le disque, mais il a été choisi en raison de l'extrême simplicité d'emploi pour tout le monde. Les machines sont maintenant largement équipées en disque dur pour supporter autant de données (environ 1 ou 2 Mo selon la version du lexique) sans la complication d'arbres ou de compactage. Chacun est libre de récupérer ces données et de s'écrire ses propres programmes pour les gérer, 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 limite que par la longueur de la ligne de commande possible sur votre système d'exploitation.

Ces arguments obéissent a un petit sous-ensemble des expressions rationnelles, l'utilisation de regexp() aurait été trop lourde pour un petit programme comme celui-ci.

dico  machin
    Recherchera le mot machin.

dico  trou*r
    Recherchera tous les mots commençant par "trou" et se terminant par "r".

Les opérateurs reconnus sont:

*   Remplace toute une série de caractères.

?   Remplace un seul caractère, a la position ou il se trouve.

[c-f]
    Remplace un ensemble de caractères, ici de la lettre 'c' a la lettre 'f'

[^loq]
    Exclut un ensemble de caractères, 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 été 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 rangé l'annuaire papier officiel !

Ces codes sont inscrits a la suite du nom de la commune, séparés en principe par une tabulation pour simple raison de propreté d'affichage. Pour cette raison, il est impossible de trouver un code postal en entrant le nom exact de la ville recherchée, on doit absolument utiliser au moins le caractère 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 orthographiées hélas incomplètement, en utilisant une notation abrégée. Par exemple, "saint" et "sainte" sont respectivement abrégés 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 simplicité d'organisation du lexique, la recherche ne fait appel a aucun algorithme compliqué, on pourrait presque réecrire cette commande avec grep et les outils standards. C'est pourquoi il est conseille de toujours donner dans la mesure du possible, la première 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...)

CARACTÈRES ACCENTUES
Le dictionnaire contient bon nombre de mots comportant des accents. Les caractères sont donc définis sur 8 bits et non 7; si vous avez récupéré ce programme en version DOS, il utilise le jeu de caractères IBM-Etendu de l'IBM-PC. Si vous l'avez récupéré en version UN*X, c'est le jeu ISO 8859-1 qui est utilise, dit Latin-1.

La recherche se fait en considérant toute minuscule accentuée comme son équivalent non accentue, et inversement; vous n'êtes pas oblige d'entrer des accents dans la commande de recherche. Ceci ralentit un peu le temps de traitement, mais a notre époque les machines sont rapides...!

OPTIONS
Le programme dico possède deux fonctionnalités supplémentaires, en le lançant avec les options suivantes sur la ligne de commande :

dico -v
    Affichera le numéro de version du programme, et la date de mise à jour du lexique; ainsi que le nom de la personne ayant effectue cette mise à jour. ( fichier version.dic )

dico -c  Comptera tous les mots contenus dans le
    lexique, en affichant les résultats intermédiaires pour chaque lettre de l'alphabet, puis le total.

TERMINAL et ACCENTS
Par défaut, les mots affiches sont au format d'accents utilises par le système ( DOS ou ISO Latin-1). Vous pouvez toutefois demander au programme dico de traduire à 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 intérêt.)

Ceci se fait en définissant une variable d'environnement nommée DICOTERM.

Celle-ci peut prendre trois noms différents, et doit être utilisée dans les cas suivants :

DICOTERM=ASCII
    Votre terminal est 7 bits et ne connaît que l'ASCII pur. Dans ce cas tous les accents seront traduits par la lettre non accentuée correspondante.

DICOTERM=IBM
    Votre terminal affiche le jeu IBM étendu MS-DOS, et le dictionnaire est au format ISO. Dans ce cas les accents seront correctement 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 êtes sur la console LINUX ou si vous utilisez la version MS-DOS. Les résultats n'auront aucun intérêt !

VOIR AUSSI
grep(1) ispell(1)

BUGS
Vous constaterez qu'il y a encore du travail à faire sur ce lexique, certains mots apparaissant à la fois en version non accentuée, et en version accentuée. Certaines fautes de frappe ont pu être glissées, certaines expressions peuvent être erronées. De même, il se peut que certains mots apparaissent en double... Néanmoins il donne satisfaction dans la plupart des cas, en l'état.

En dehors de ces imperfections, il contient les noms communs, verbes, participes, et quelques conjugaisons irrégulières, ainsi que certains noms propres; ce sont en règle générale les termes dont on doute de l'orthographe qui sont inclus dans ce lexique, au fur et à mesure de son utilisation.

VERSION
Normalement, la commande "dico -v" devrait vous afficher la date de dernière mise a jour du lexique, simplement en allant lire le fichier texte "version.dic" qui se trouve dans le même répertoire que les fichiers du dictionnaire. Pensez à mettre à jour ce fichier lors de vos propres modifications !

COPYRIGHT
Le programme dico.c est (c) René Cougnenc 1992, doit être considèré comme FREEWARE, c'est à dire que vous pouvez le distribuer gratuitement à 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 réalisations. Vous êtes fortement encourages a apporter des améliorations et a les communiquer !

Le dictionnaire ne peut faire l'objet d'aucune propriété, il a été réalisé petit a petit par l'adjonction manuelle de nombreuses personnes dont vous pouvez faire partie: Continuez à l'enrichir tant que vous le pouvez, ou à corriger d'éventuelles erreurs. Faites circuler votre travail 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 dernières bêtises :-)

MISE A JOUR - FORMAT
Le lexique peut être mis à jour ou corrige à l'aide d'un simple éditeur de texte. Les mots doivent figurer en lettres minuscules, c'est le programme d'affichage qui formatte les sorties. Ceci est très important pour la routine de recherche !

Les accents doivent être entrés au format courant utilisé par la machine, correspondant au programme exécutable qui a été compilé. ( sous LINUX, ISO, sous DOS, IBM ). Il est préférable de conserver le format texte Unix ( un simple line-feed entre chaque ligne) plutôt que celui de DOS, plus encombrant. (CR/LF). La version MS-DOS s'accommode très bien de ce format, par contre sous **IX il est impératif de supprimer un éventuel format MS-DOS.

Il ne doit y avoir qu'un seul mot par ligne (ou un mot compose), l'ordre alphabétique n'est pas nécessaire pour que le programme fonctionne, mais il affichera les termes dans l'ordre rencontre lors de la recherche.

Toute ligne commençant par le caractère '#' sera considérée 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 manière suivante:

ville <TAB> CODE

La tabulation n'est la que pour des raisons de propreté d'affichage et d'économie de caractères. Tachez tout de même de le respecter, la version 1.1 fait usage de cette tabulation pour reconnaître 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 !!!!!

REMERCIEMENTS
Ce lexique à pu voir le jour grâce aux contributions volontaires ou involontaires ( analyse automatique de messages...) de nombreuses personnes 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 Toussaint, 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 Surcouf, 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 Paternotte, 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 demandé plus d'une centaine d'heures ensuite a l'auteur du petit programme dico, pour fusionner l'ensemble des fichiers, trier et corriger, rajouter ou ôter des mots. Le lexique tel que fourni avec cette version 1.0, a été retravaillé manuellement mot par mot, la fatigue expliquera les erreurs qui ont pu se glisser malicieusement dedans... Merci de me comprendre :-)

Sont a remercier particulièrement Wolfgang LENERZ du club QL Contact France (Utilisateurs de machines Sinclair QL), qui a fourni gracieusement un lexique fort utile réalisé pour un projet d'un type proche de Le Dico, ainsi que Herve Blaise, Nat Makarevitch et Georges Wanderstok pour leurs importantes contributions.

Enfin, un double apéritif spécial pour Serge DELBONO, qui eut le courage de faire un superbe portage de Le Dico pour Microsoft Windows (r).

Remercions également Linus Torvalds et tous les créateurs du système LINUX, superbe UN*X gratuit, sans lequel le travail du lexique aurait été un pensum sous MS-DOS...