Un outil pour récupérer les synonymes d'un mot de la langue française - retour accueil
Anonyme, en lecture seule : git clone git://bebou.netlib.re/des
Authentifié·e, en écriture : git clone ssh://git@bebou.netlib.re:1459/srv/git/des
Log | Files | Refs | README | zip | tar.gz |
README.md (4722B)
1 # DES
2
3 Un outil pour consulter les synonymes d'un mot français.
4
5 ## Dépendances
6
7 Obligatoirement :
8
9 * Un système d'exploitation vaguement POSIX (Linux, *BSD, MacOS)
10
11 Pour le mode en ligne :
12
13 * `nc` avec un `-N` qui provoque `shutdown` avec un EOF (pas sur MacOS)
14
15 Optionnellement (mais plutôt recommandé) :
16
17 * `xclip` (pour récupérer le dernier synonyme dans votre presse-papier)
18 * `curl` (pour l'éventuel téléchargement de la base de donnée en local)
19 * `fzy` (pour le petit menu interactif)
20
21 Pour installer les dépendances optionnelles sur les distributions linux basée
22 sur debian :
23
24 sudo apt install netcat-openbsd fzy curl xclip
25
26 Sous MacOS si vous avez `brew` :
27
28 brew install fzy curl xclip
29
30 ## Usage
31
32 ### Interactif
33
34 Une fois cette première configuration vous devrez relancer l'outil. Il vous
35 demandera un mot :
36
37 Mot :
38
39 Vous pouvez le taper puis appuyer sur "entrée".
40
41 #### Si vous n'avez pas `fzy`
42
43 Si vous n'avez pas `fzy` une liste statique des synonymes et de leurs scores de
44 proximité s'affichera :
45
46 manger
47 bouffer 20
48 dévorer 19
49 engloutir 14
50 [...]
51
52 Si vous avez `xclip` le synonyme qui sera dans votre presse-papier sera le
53 premier de la liste.
54
55 #### Si vous avez `fzy`
56
57 Une liste dynamique des synonymes et de leurs scores de proximité s'affichera :
58
59 manger
60 >
61 > bouffer 20
62 dévorer 19
63 engloutir 14
64 [...]
65
66 Vous pouvez parcourir le menu avec les flèches haut/bas ou en tapant le synonyme
67 de votre choix. En appuyant sur entrée une nouvelle recherche sera faite avec le
68 synonyme couramment sélectionné. Vous pouvez sortir de l'outil en appuyant sur
69 echap ou en cherchant un synonyme n'existant pas puis en appuyant sur entrée.
70
71 Si vous avez `xclip` le dernier synonyme cherché sera dans votre presse-papier.
72
73 ### Non interactif
74
75 Il est possible de forcer le fonctionnement sans `fzy` avec l'option
76 `-d` :
77
78 $ des -d
79
80 Il est possible d'ajouter le mot que l'on recherche directement en argument de
81 la commande mais il faut que `-d` soit le premier :
82
83 $ des -d manger
84
85 ## Installation
86
87 Pour installer le script il faut le lancer une première fois pour qu'il
88 s'auto-configure :
89
90 $ des
91
92 Le script vous demandera si vous souhaitez utiliser l'outil en ligne ou hors
93 ligne. En ligne le bon fonctionnement de la commande dépendra d'une conneion
94 internet et du statut du serveur `bebou.netlib.re`. Hors-ligne nécessitera de
95 télécharger 4Mo de données sur votre ordinateur.
96
97 Vous pouvez ensuite le copier dans un dossier existant dans votre `PATH` ou
98 faire un alias qui l'appelle. Par exemple, sous Debian :
99
100 sudo cp des /usr/local/bin/
101
102 Si vous ne connaissez pas votre `PATH` vous pouvez le consulter en faisant
103
104 $ echo $PATH
105 /home/votre-compte/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/bin/python3
106
107 Copier `des` dans n'importe lequel des dossiers délimités par `:` fonctionnera.
108
109 Attention, si vous avez sélectionné un usage hors-ligne le script se sera
110 auto-configuré pour chercher les données dans le fichier `sysnonymes.tsv` qu'il
111 aura téléchargé dans ce dossier. Si vous déplacez ce fichier tsv le script ne
112 fonctionnera plus. Pour ajuster son comportement voir la section
113 "Modifications".
114
115 ## Modifications
116
117 ### Passer d'un mode hors-ligne à en ligne
118
119 Vous pouvez faire passer l'outil d'un hors-ligne à en ligne en modifiant la
120 variable `mode` pour qu'elle prenne la valeur `offline` :
121
122 mode=offline
123
124 ### Passer d'un mode en ligne à hors-ligne
125
126 Vous devez d'abord télécharger la base de donnée sous le nom `synonymes.tsv`.
127 Par exemple avec `curl` :
128
129 $ curl -Ls http://arthur.bebou.netlib.re/crisco-des/data > synonymes.tsv
130
131 Vous pouvez ensuite faire passer l'outil d'un hors-ligne à en ligne en
132 modifiant la variable `mode` du script `des` pour qu'elle prenne la valeur
133 `offline`. Pour cela ouvrez le fichier `des` et modifiez la ligne avec `mode=`.
134
135 mode=online
136
137 et la variable `path` pour qu'elle prenne la valeur du chemin qui vers le
138 fichier tsv :
139
140 path=/chemin/vers/sysnonymes.tsv
141
142 En supposant que vous soyez dans le dossier dans lequel le fichier se trouve ce
143 chemin peut être récupéré en faisant :
144
145 $ realpath synonymes.tsv
146 /chemin/vers/synonymes.tsv
147
148 ## Bugs connus
149
150 Le `nc` sous MacOs a un `-N` différent de celui sous debian et openBSD ? Il faut
151 tester. Cela rend le mode hors-ligne inutilisable sous MacOS.
152
153 ## Remerciements
154
155 Merci à mes deux ami·es m'ayant suggéré la création et la pertinence de ce petit
156 outil. Merci à Victor avec qui j'ai discuté de la forme de cet outil, notamment
157 comment rendre son installation plus aisée. Merci aux personnes de PPP ayant
158 trouvé ça cool :)