SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

65 visiteurs en ce moment

[2 commentaires]

Un correcteur d’orthographe sous SPIP

vendredi 5 novembre 2004, par Aurélien PIERARD, cotmani, Jean Cormon, Yannick

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati

J’ai développé un correcteur d’orthographe pour SPIP basé sur une application du site http://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.

JPEG - 65 ko
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.

JPEG - 48.9 ko
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

P.-S.

- 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.

Retour en haut de la page

2 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    16 décembre 2007 10:32

    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 !

  • Répondre à ce message

    13 septembre 2005 22:10 , par versgui

    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 ?

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0