Scrabble®, jeux de lettres et anagrammes
Pourquoi cette page ?
Il était une fois des longues soirées d'hiver passées autour d'un jeu de société bien connu...
Lassé de fouiller longuement le dictionnaire pour vérifier l'orthographe ou même l'existence de certains mots litigieux, je me suis mis en quête d'un logiciel pour PocketPC qui permettrait d'avoir instantanément la réponse. Las ! Tous les logiciels que j'ai trouvé ne fonctionnaient que sous Windows (le vrai, pas le mobile). J'ai également cherché un site Web qui proposerait la même fonction, et, à moins qu'ils ne se soient cachés dans les arcanes de Google, il faut admettre qu'il n'en existait aucun.
Je me suis donc décidé à développer par moi-même cet outil, en lui ajoutant la possibilité de suggérer des mots à partir d'un tirage. J'avais deux possibilités : écrire un soft pour le PocketPC, ou un script en mode Web (donc accessible depuis par Wifi depuis la table du salon). La première solution a vite fait pschitt à cause des performances limitées de mon PDA (la liste de mots fait 4Mo et l'algorithme de suggestion impose a priori un parcours complet à chaque tirage). D'où la version Web que vous avez pu voir en action ici.
Comment ça marche ?
Evidemment s'agissant d'un serveur Web mutualisé et d'un script en PHP, les ressources sont également limitées, et il est hors de question de charger les 4Mo de liste de mots à chaque requête. L'idée est donc de compter sur le serveur SQL pour exécuter la recherche et la suggestion. Reste donc à peupler intelligement la table contenant la liste de mots avec non seulement le mot lui-même, mais également sa longueur, et le nombre d'occurrence de chacune des lettres qui le composent. Il devient ainsi possible en une seule requête SQL de récupérer toutes les suggestions, avec des performances tout à fait honorables.
Puis-je obtenir le script et/ou la liste de mots au format SQL ?
wzAbcd n'est pas disponible au téléchargement pour des raisons liées liées à sa mise en oeuvre :
à moins que vous ne soyez votre propre hébergeur, vous n'aurez pas la possibilité d'insérer 369 085 lignes
de 28 colonnes chacunes dans votre base MySQL via phpMyAdmin (taille maxi de l'upload, mémoire maxi et
timeout du script, toussa).
Même si le script en lui même tient sur 20 lignes (et encore, en écrivant gros), je ne me sens pas capable
d'expliquer à tout le monde comment peupler sa table.
Cela étant dit, si vous savez accéder à MySQL en ligne de commande je peux vous fournir ponctuellement un lien permettant de télécharger wzAbcd ; contactez-moi par e-mail si vous êtes intéressé.
Puis-je obtenir la liste de mots au format texte ?
Vous trouverez les liste de mots au format TXT dans les fichier ZIP suivants
- Liste de mots ODS3 (364 370 mots)
- Liste de mots ODS4 (369 085 mots)
