keul.fr - technologie web

Aller au contenu | Aller au menu | Aller à la recherche

J'ai deux fois moins de bugs dans mes commentaires.

vendredi, 2 septembre 2016

Auto-complete en JavaScript

S'il existe des systèmes pour faire de l'autocomplétion en javascript, tous ont le même défaut: ils ne sont pas capable de detecter des fautes de frappe ou de proposer des résultats qui s'approchent de la recherche voulue.

Mailcheck propose un système qui s'en approche: il permet de corriger les fautes de frappe dans un nom de domaine par exemple. Il utilise une fonction venant de sift3 : Super Fast and Accurate string distance algorithm. Dans la version 4 (sift4), la version Simplest gère les rempalcement/ajout/suppression de caractère (Distance de Levenshtein) . La version common gérant les transpositions (Distance de Damerau-Levenshtein).

Cet algorythme se base sur le calcul de la plus longue distance de chaine commune. Hors il reste un problème : imaginons que notre mot à chercher dans une liste de phrase ne soit pas unique mais que l'on souhaites chercher plusieurs mots, avec d'éventuelles fautes de frappe.

J'ai donc mis en place un petit script qui calcule pour un mot chercher un score pour chaque phrase d'une liste. Ce score est d'autant plus élevé que les sous-chaines de la recherches trouvées dans les phrases sont longues et nombreuses.

Il est disponible ici: http://codepen.io/keul/pen/rrNpAA

 

 

 

vendredi, 13 mai 2016

Bouts de code javascript: on va passer par codpen

Les blogs ne sont pas très efficaces pour afficher du code et en faire des démo rapidement, j'ai donc préféré mettre quelques-uns de mes bouts de code javascript sur codepen: http://codepen.io/keul/

Bien entendu, c'est du Vanilla JS, donc pas besoin de JQuery ou autres librairies javascript et s'assurer de bonnes performances.

Un des scripts permet d'avoir des cases à cocher dans un menu déroulant (dont la version native est assez moche, n'étant aps déroulante): c'est dispo ici.

dropdown_checkbox.png
 

Un second script permet d'avoir des entêtes de tableau fixes comme dans els tableurs. disponible ici, et une variante pour les tableaux trop larges est disponible là.

fixedheader.png
 

J'ai fait une sauvegarde ici au cas où ils ne seraient plus accessibles sur codepen

- page 1 de 17