Macarel.net e Font Dubèrta

Macarel

Connexion utilisateur

Mèfi

Se cercatz de camisets o de quicomets, e ben, setz enganats, cliquatz al luòc macarel.org

Label Òc per l'occitan nivèl 2

Font dubèrta es plan fièra d'èsser labèlizada al nivèl II. Per ne saber mai, cliquatz sul imatge.

 

Avant-propos
En collaboration avec lo Bernat de Castras (Bernat Vernhieres), un projet de correcteur orthographique a été lancé. Bernat a un besoin particulier pour la correction avant impression d'un texte assez copieux, cela peut être un roman.
Il faut donc charger le fichier et établir une liste de (tous les) mots classés par ordre lexicographique. Les mots non orthographiés correctement (pris individuellement) devront être corrigés par un banal "chercher/remplacer".
L'application aura avantage à être couplée à une base de données dans laquelle les mots orthographiés correctement viendront se placer au fur et à mesure de la vérification de la liste.
Il est bien évident que si la base de données contient déjà un lexique fourni une grande partie du travail du correcteur humain s'en trouvera facilitée.
On peut éventuellement envisager de proposer une correction avec des termes voisins ou des désinences (l'occitan est une langue féconde pour ça) en utilisant un outil comme aspell/ispell (voir la file de discussion). Mais ce ne sont que des voeux pour l'instant. Il faudra attendre que cet outil soit constitué pour l'utiliser.
La base d'application du Condrechor (application Perl/Tk + MySql) embarquée sur une clef USB peut être utilisée comme prototype et outil de développement tout inclus.Condrechor.zip

Mòni de Aprene m'a fait parvenir un lexique utile pour la traduction de logiciel. C'est le travail de Domergue Sumien qui servira comme base à la construction du lexique selon le modèle de données suivant .

État d'avancement du projet
Le condrechor est opérationnel et son interface utilisateur se raffine. On peut choisir un nom de fichier à ouvrir (le roman) en format texte MS-DOS iso8859-1 ou 15 (surtout pas le format bâtard de Microsoft). On peut sauvegarder le tampon dans un fichier ayant un autre nom.
La liste est créée et épurée (il faudrait regrouper les mots dont seule la capitalisation diffère et ensuite si correction il y a, préserver cette capitalisation). Elle contient le numéros de ligne où apparaissent les occurences du mot mais si une ligne est ajoutée, il faudra rafraîchir la liste.
Un bouton permet de recréer à la volée la liste au fur et à mesure de la correction.
Pour l'instant tous les mots corrects ou incorrects sont dans la liste. Un dispositif de saisie dans la base devra être mis en place assez rapidement et son pendant pour retirer les mots corrects de la liste aussi.
Le moyen de provoquer le chercher/remplacer est trivial en Perl/Tk.

Ce que ne fait pas le condrechor

  • le respect des enrichissements et de la mise en page. Il a été constaté que certains caractères comme des plots de début de liste n'étaient pas reconnus lors de la conversion en norme ISO. Les auteurs devraient respecter le principe de la séparation du contenu et de la mise en page, comme c'est l'usage dans l'édition.
  • La proposition de termes corrigés voisins ou soundex. Pas pour l'instant.
  • Un interface lisse et "sexually appealing" comme on dit en chinois. Perl/Tk est un langage de néanderthalien sympa et qui veut pas se prendre la tête. Dans la mesure où ça fait le boulot.

Le menu a été nettoyé des articles qui servaient à la mise au point. Un autre menu avec de articles à cocher a été rajouté afin de basculer des paramètres. Un troisième devrait être ajouté pour afficher l'aide et la licence.
Le changement de la version de Perl de 5.6 à 5.8 devait permettre de faire évoluer Perl/Tk et de bénéficier de nouvelles fonctionalités notamment le dirty flag qui se bascule dès que le texte est modifié, ce qui permet de provoquer un demande de sauvegarde dans le cas où on voudrait sortir de l'application.
Malheureusement, le rehaussement de Perl/Tk n'a pas été à la hauteur des attentes et en plus la version de Perl venait avec une configuration des expressions régulières incompatibles avec les voyelles accentués. Donc j'ai différé la mise à jour de l'interpréteur et de ses librairies.
Les raccourcis clavier ont été unifiés et débogués. Il reste encore le bogue de la sélection qui ne se vide pas à chaque nouveau mot. Donc elle s'accumule ce qui est fâcheux. Il semble que ce soit un bogue de Tk pour Windoze.
Le texte saisi peut être coloré mais beaucoup d'amélioration reste à faire.
Un dernier bogue pénible est l'impossibilité de saisir certains caractères accentués occitans par contre il est possible de faire du copier coller à partir du tableau de caractères (l'utilitaire de Windoze) c'est donc un problème de configuration de Perl qu'il nécessitera un peu de recherche. Mais il y a fortes chance que cela résoudra le problème de la version 5.8 de Perl.
Comme quelques recopies d'écran valent mieux qu'un long discours.

 

1-Pour commencer on doit ouvrir le fichier dont le nom apparaît dans la boite d'édition, ici "jir.txt".


menu fichier

2-Une fois que le fichier est chargé on peut afficher la liste des termes mais avant on sélectionne les options d'affichage de la liste.

menu d'options

3-À présent on peut afficher la liste.

recopie d'écran

4-Une fonctionalité sympa est de pouvoir analyser en direct un mot dans toutes ses assertions, type grammatical, nombre et genre et ... sa traduction (lors qu'elle sera débogguée). Ici le mot sous la souris est à la fois un substantif et un adjectif.

bulle d'aide

5-(expérimental) Avec l'option de coloration le texte est coloré selon que le mot est connu ou inconnu. Mais cela mérite encore de la mise au point.

colorar

6-La licence, c'est une licence BSD pour l'application et le contenu actuel de la base de données (en anglais pour la valeur légale, la traduction occitane va suivre, sans valeur).

licencia BSD

Le Corrector commence à être opérationnel

Voici une recopie d'écran qui montre le correcteur avec un roman à corriger, la liste des mots classés par ordre lexicographique. La couleur des mots indique si le mot est correct ou non.
Vert pour les mots corrects;
Rouge pour les mots non connus de la base de données;
Bleu pour les informations diverses (déboguage);


recopie d'écran

À venir

  • boite de dialogue pour la saisie des définitions de mots;
  • création de fichier de sauvegarde (ex : jir.txt~);
  • détection de modification du fichier et proposition d'enregistrement à la sortie de l'application-dirty flag
  • séquence de touches pour insertion accélérée, mise à jour des menus;
  • menus détachables
  • Livraison du 15 novembre
    Le correcteur orthographique permet d'insérer des termes dans la base de données et également de les modifier si ceux-ci on déjà été saisis. On peut les typer (lemmatisation) mais il y a une limite toutefois. On ne peut rentrer qu'un seul terme à la fois. Une amélioration possible sera de lister les différentes acceptions d'un terme (la vedette) et de rentrer des homonymes au moyen de la boite de dialogue des insertions.
    Pour l'instant tous les types grammaticaux n'ont pas été créés, j'envisage de me servir de la grammaire d'Alibert pour les lister, ensuite au moyen de cette grammaire je vais saisir les conjonctions, pronoms personnels, pronoms possessifs, ... cités par la grammaire.
    Le correcteur offre aussi de possibilités de recherche et remplacement pas tout à fait au point et un menu contextuel (en anglais) qui permet d'accéder aux fonctions de bases de l'éditeur de texte.
    L'enrichissement de texte n'est pas à l'ordre du jour si tant est qu'il le soit un jour. C'est un outil pour enrichir un lexique (voir faire un dictionnaire à partir de textes existants) et pour les corriger, après tout, pas un traitement de texte (yark !).

     

    Différentes séquences de touches au clavier permettent de gagner du temps en corrigant.

    Dans la liste

    Les termes de la liste sont maintenant des hyperliens mais on doit appuyer sur la touche <Maj> ou <Shift> en cliquant.
    correction
    liste avec terme connu
    mot vert + <Shift> + <Clic souris gche> => ouverture de la boite d'insertion en correction car le terme est connu.

    dialogue de correction
    insertion
    liste avec terme non connu
    mot rouge + <Shift> + <Clic souris gche> => ouverture de la boite d'insertion en insertion car le terme est inconnu.

    dialogue d'insertion
    positionnement
    mot bleu (numéro de ligne) + <Shift> + <Clic souris gche> => la fenètre texte se déroule jusqu'à montrer le texte entourant le mot cherché.

    Dans le boite de texte

    Comme plus haut on peut sélectionner un terme et provoquer l'ouverture d'une boite d'insertion ou de correction selon l'existence du terme dans la base de données.

    <Sélection d'un mot> + <Shift>+ <Clic souris gche> => ouverture de la boite d'insertion en correction si le terme est connu, ouverture en insertion si le terme est inconnu.

    La sélection d'un mot complet est automatique lorsque la souris se déplace dessus. Ce mode devrait être débrayable en cas d'inconfort de l'utilisateur. Une petite dextérité est nécessaire car il faut conserver la sélection complète sur le mot pour que la boite de dialogue s'ouvre avec le mot complet dedans.

    <Ctr+I> (i majuscule) provoque l'ouverture de la boite de dialogue en mode insertion. Attention si le mot existe dans la base ce terme sera écrasé par la nouvelle entrée (comportement de cette version).

    fonction de recherche/remplace
    <Sélection d'un mot dans le texte> <clic dans la liste><Ctr+f> provoque l'ouverture d'une boite de recherche de termes.


    dialogue d'insertion
    <Sélection d'un mot dans le texte> <clic dans la liste><Ctr+r> provoque l'ouverture d'une boite de remplacement de termes.

    <Bogue>
    On doit sélectionner dans le texte et cliquer dans la liste pour que ça fonctionne c'est ça le bogue.
    </Bogue>

    Changelog fait/à faire

    Le dirty flag n'est pas mis en place.
    La création d'un fichier de sauvegarde est faite.
    Le curseur devrait se changer en sablier lors du chargement de la liste.
    Les menus sont détachables mais ça, on le savait déjà; par contre le mini clavier (picador) ne fonctionne pas.
    Le menu contextuel de la liste et du texte ne sont pas traduits.
    La sélection des mots est additive, ce n'est pas un comportement désiré.