Ecriture intuitive à la youtube

Nouveau WRInaute
Salut .

sur youtube , dans le champ de recherche , on tape un début et youtube propose une suite .
Comment cela s'appele ? et comment le faire ?

Merci

note : difficile de chercher sur google quand on sait pas comment se nomme se mécanisme.
 
WRInaute discret
ça doit s'appeler recherche prédictive.
tu peux le faire avec de l'ajax (a chaque appui sur une touche, une requête est faite pour afficher les propositions dynamiquement à partir de ta bdd).
 
Nouveau WRInaute
c'est pour un site intranet qui va tourner en wamp5 sur une bécane windows.
je n'ai jamais bossé en ajax.
Cela sera t'il possible ?

Merci
 
WRInaute discret
oui sans problèmes, ajax c'est juste du javascript qui fait des appels à ton serveur. mais ça peut vite multiplier les requêtes à ton serveur. A chaque touche appuyé par l'utilisateur, une requête est effectuée.
 
WRInaute accro
fabor a dit:
mais ça peut vite multiplier les requêtes à ton serveur.

Comment font les très gros sites alors pour permettre de l'ajax sur leur site, ils ont aussi de très très gros serveurs juste pour utiliser de l'ajax alors ?
 
Nouveau WRInaute
Merci , ça a l'air pas mal tout ça .
Si vous avez d'autre exemple .
Le script en ajax est sacrement compliqué :(
 
Nouveau WRInaute
YoyoS a dit:
fabor a dit:
mais ça peut vite multiplier les requêtes à ton serveur.

Comment font les très gros sites alors pour permettre de l'ajax sur leur site, ils ont aussi de très très gros serveurs juste pour utiliser de l'ajax alors ?

meme question .

J'ai trouvé un qui effectivement utilise une base sql .
l'architecture derriere pour youtube juste pour l'écriture predictive serait trop enorme non !!
 
WRInaute accro
En fait, j'utilise énormément ce genre de requêtes AJAX sur un intranet aussi. L'intranet est utilisé 8h par jour de façon intense par une 20 de personnes (genre y'a pas 1 min qui passe sans qu'aucune des personnes n'y touche).

Bref niveau performance et rapidité de l'application, j'ais moi même été surpris par MySQL. Bien sûr il ne faut pas faire de requêtes trop bourrines, bien optimisées (utilisation d'index, de limite, etc...)

Donc dans ta problématique d'intranet, tout dépend de l'utilisation qui en est faite mais je ne pense pas que ça posera de problème.

Et puis pour les sites qui ont de très gros volumes, je ne sais pas non plus comment ils font. Surement qu'à ce niveau là, ils peuvent avoir des VUES de leurs base de données sur un serveur dédié à ces traitements là ou alors de très bons système de cache.
 
WRInaute accro
Avec jQuery, tout semble plus simple:
http://docs.jquery.com/Plugins/AutoComp ... tocomplete

Code:
$("input.autocomplete").autocomplete({ list: ["hello", "hello person", "goodbye"]})
  .bind("activate.autocomplete", function(e,d) { alert(d) })

http://bassistance.de/jquery-plugins/jq ... ocomplete/
http://www.dyve.net/jquery/?autocomplete
http://www.pengoworks.com/workshop/jque ... mplete.htm (amélioration du précédent)
http://nodstrum.com/2007/09/19/autocompleter/

Plusieurs autres dans Google sur la recherche: jquery autocomplete
 
WRInaute discret
Pour la complétion il faut savoir que les gros sites ont des serveurs de cache.
Par exemple chez facebook, la structure est en gros divisée en trois parties :
10000 serveurs web, 5000 serveurs mysql et 2000 serveurs de cache.

Il faut se rendre compte que les très gros systèmes fonctionne en partie avec des process de type batch. Sur des modèles à moindres échelles (ou à échelle normale), je pense que c'est assez dur de gérer l'ensemble pour conserver une qualité de service acceptable.

A mon avis, une bonne solution lorsque l'on veut proposer ce genre de fonctionnalités, c'est d'adapter le paramétrage des fonctionnalités couteuses en fonction des ressources disponibles.
Par exemple, si tu détectes que la charge commence à être élevée, alors tu ne vas pas interroger ton serveur 0.1 seconde après que l'utilisateur ait tapé une touche, mais après 1 seconde (ce qui lui permet éventuellement de taper plus de caractères et donc au final de limiter les requêtes).
 
WRInaute accro
Pas bête 2dm :) On peut aussi activer la complétition seulement après X caractères entrés pourquoi pas.
 
Discussions similaires
Haut