Un correcteur d’orthographe sous SPIP

All contributions published for previous SPIP versions

J’ai développé un correcteur d’orthographe pour SPIP basé sur une application du site www.acces-pour-tous.net (Très bon site sur l’accessibilité que je conseille à tous).

Ce correcteur permet de détecter et de corriger les mots mal orthographiés (Attention, ce n’est pas un correcteur grammatical).

Comment çà marche :

J’ai ajouté un nouveau bouton sur les pages « article » et « brève » du back-office. En cliquant sur ce bouton, le code de l’article ou de la brève est nettoyé de toutes ses balises et caractères spéciaux afin de récupérer le texte brut.

Un nouveau bouton

Ce texte brut est analysé, les mots absents du dictionnaire (donc mal orthographié) sont alors surlignés en jaune. Un clic sur le mot mal orthographié indique à l’utilisateur les suggestions de remplacement.

Correcteur d’orthographe

Les mots qui ne sont pas reconnus peuvent également être ajoutés au dictionnaire.

Installation :

Nota Bene : sauf si vous avez la possibilité d’utiliser la fonction set_time_limit() il est impossible de créer le dictionnaire directement sur votre site (en ligne). Vous devez préalablement faire l’installation en local et exporter la base ainsi créée chez votre hébergeur. Le fichier sql nécessaire pesant prés de 15 Mo il est plus simple de demander à votre hébergeur si celui-ci peut approvisionner directement la base de données.

1) Installation de la base de données

Pour installer la base de données, il y a deux méthodes (Je vous conseille d’utiliser la première) :

-  Méthode 1 : Décompresser l’archive correcteur_sql.zip et exécuter le script sql avec des logiciels comme mysql-front ou SQLyob. (car Phpmyadmin risque de ne pas supporter les 15Mo du fichier sql).

Fichier SQL contenant le dictionnaire

-  Méthode 2 : Utiliser le script d’installation suivant qui génère la base de données.

Script d’install de la base de données

-  Décompresser l’archive;
-  Modifier le fichier admin/connectbase.php en fonction de votre configuration ;
-  Lancer le fichier install/install.php (et uniquement celui là) ;
-  Préparer-vous un café (ou ce que vous voulez) ;
-  Patienter encore un peu, il faut au moins 15 minutes avec un Athlon 1800+
-  C’est fini !

Comment fonctionne le script d’installation :

Le script crée deux tables : dicobase et dicocomplet. La table dicobase est une table temporaire, tant que celle-ci n’a pas été effacée par le script, c’est que l’installation n’est pas terminée.
Le script va chercher le fichier fr_FR.txt (1,2Mo) et alimente la table dicobase. A la fin de la lecture du fichier, la table dicobase est copiée vers la table dicocomplet en ajoutant à chacun des mots l’ensemble de ses déclinaisons grammaticales. Enfin la table dicocomplet est effacée.

2) Installation des fichiers :

Les archives suivantes comportent 7 fichiers. Décompresser l’archive en fonction de votre spip (php4 ou php3) et copier les fichiers sur votre site.
-  ecrire\articles.php(3)
-  ecrire\breves_voir.php(3)
-  ecrire\correcteur.php(3)
-  ecrire\correcteur_nettoyage.php(3)
-  ecrire\correcteur_suggestions.php(3)
-  ecrire\lang\spip_fr.php(3)
-  ecrire\img_pack\abc.gif

Fichiers au format php4

Fichiers au format php3

3) Quelques chiffres :


-  le dictionnaire comporte 346895 mots
-  La table dicocomplet pèse 11,3 Mo ;
-  Le fichier sql généré à partir de cette table pèse 15,5 Mo

-  1- Je n’ai pas testé la version php3 de l’archive. Merci de me faire un retour.

-  2- Je cherche un co-auteur pour continuer à faire vivre cette contrib, merci de me faire signe.

Discussion

2 discussions

  • ferjani sami

    merci pour ce correcteur.
    mais il faut toujours avancé
    c’est le moment de faire un correcteur automatique.
    déjà je suis entrain de travailler sur ce sujet.

    Reply to this message

  • 1

    Aprés visualisation rapide du code-source, j’ai pu remarquer que le code faisait une requête SQL pour chaque mot.

    Un texte de 5000 mots ne risque-t-il pas de mettre à genoux le serveur ?

    • Il y a des chance pour ke ca ralentisse bien le server car 5000 mots un par un ca eput prendre du temps! Mais en php on ne peut pas faire un scanne untégrale!

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom