des

Un outil pour récupérer les synonymes d'un mot de la langue française - retour accueil

git clone git://bebou.netlib.re/des

Log | Files | Refs | README |

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 :)