Skip to content

Db Generator

Adrien edited this page Dec 8, 2013 · 15 revisions

###1. Introduction

Ensemble de scripts permettant de générer une pseudo base de données de correspondances de mots en fonction de leurs codes dans les différentes polices a partir d'un dictionnaire. La base de données peut être générée en JS pour le mode hors ligne ou en PHP pour l'API du mode en ligne. Existence d'un script pour générer la base de données a partir d'un dictionnaire et d'un script permettant de rajouter des mots a une base de données déjà constituée.

Langage utilisé: Python3

###2. Input

Le dossier input contient les différents dictionnaires de mots. Par défaut il y en a 4:

-en_word_list: liste des mots anglais (environ 60000 mots)

-fr_word_list: liste courte des mots français (environ 23000 mots)

-fr_word_list_long: liste longue des mots français (environ 90000 mots)

-word_list: liste de mots quelconques

Il est déconseillé de modifier des dictionnaires autres que word_list.

Un dictionnaire est constitué d'une suite de mots (un mot par ligne). Un mot ne peut être composé que de lettres de "a à z", pas d'accents, de caractères spéciaux ou d'espaces donc.

Attention a ne pas laisser de ligne vide dans le fichier (a la fin du dictionnaire par exemple).

###3. Modification des variables de base

Les variables peuvent être modifiées dans le fichier var.py

-table de correspondance des polices : listes 2D, la première liste de second niveau correspond aux différentes possibilités de la lettre "a", la seconde aux possibilités de "b" etc.

-output_language : langage de la base de données générée, peut prendre la valeur "js" (la base de données est alors concentrée dans un seul fichier) ou la valeur "php" (la base de données est sous la forme d'une arborescence de fichiers).

-word_list : chemin du dictionnaire a utiliser

-db_root : emplacement ou la base de données sera générée

-police_list : liste des polices a utiliser, le nom des polices est le nom des listes de correspondances (dans le "code_" du debut)

-code_list_file : chemin vers les fichiers binaires de la base de données (de plus amples explications seront données dans les deux prochains paragraphes)

###4. Générer une base de données

-vérifier que les variables sont correctement configurées

-exécuter le script "generateDb.py" avec Python3

-le script va générer une énorme variable de type list comprenant les différentes correspondances pour tout les mots du dictionnaire fourni en entrée pour une chaque polices.

-une fois ces variables générées (une pour chaque police), chacune d'elle va être sauvegardée dans un fichier binaire dans le dossier "output". Ceci permettra d'ajouter facilement de nouveaux mots a la base de données en réimportant ces variables.

-la base de données est ensuite générée a partir de ces variables, soit dans un fichier (JS) soit dans un dossier (PHP) dont le chemin est la valeur de la variable "db_root"

###5. Ajouter des mots a une base de données préexistante

-vérifier que les variables sont correctement configurées. Notamment que la variable "word_list" pointe bien vers la liste des mots a ajouter a la base de données et que la variable "code_list_file" pointe bien vers les fichiers binaires précédemment générés

-exécuter le script "addToDb.py" avec Python3

-le script va importer les variables des fichiers binaires, y ajouter les nouveaux mots, re-sauvegarder les variables, puis re-générer la base de données a partir de ces nouvelles variables.

Clone this wiki locally