Rubrique des Scripts Intéressants 

Scripts intéressants :

peuvent être intéressants :

• pour étudier "comment c'est fait"
• pour les utiliser tels quels
• ou encore les adapter au(x) blog(s)
• etc.


 OUI on peut mettre des "verbes de mots-clés" dans le bloc de description d'une rubrique. La preuve, ci-dessous, avec  [ [afficher les articles] ]

   

Mars 08 15

Version imprimable Search Engine Keyword Highlight with Javascript

Fonctionnalité très intéressante pour blogs etc.

Résumé :

Ce script permet, dans une page "recherchée" par un moteur de recherche, de mettre en couleur(s) les mots-clés de la recherche.
Exemple : taper la recherche leblase mitra fix dans Google. Aller sur une des pages proposées par Google (probablement chez leblase.net ). Dans cette page les mots-clés de la recherche seront surlignés : leblase mitra fix si bien sûr leblase.net est équipé du script.

[Edit 16/02/2008 à 02.45]

...Me suis un peu emballé sur ce script-là ?? ... il "déconne" sur les pages VB, en tout cas avec FF2 et Safari 3 sous Mac OSX. Un grand mystère : pourquoi ça marche bien sur les pages de coding forum et moins bien sur VB ?

Mais il y a d'autres scripts. L'important est le concept.
Vais tâcher de pas passer trop de temps à débugger ce script / ou à en tester d'autres. 

[/Edit]

Adresse : 

http://scott.yang.id.au/code/se-hilite/

Pour la petite histoire : en googlant sur javascript clear cache, suis arrivé sur  cette page de coding forum. Ai regardé le source, puis cherché sur Google le nom du script qui me semblait réaliser le surlignage. [Edit] : avec Firefox 2 (OS X) on voit effectivement le surlignage. Avec Safari 3 (OS X) on ne voit rien [/Edit]

Avantages :

• Fonctionne avec les principaux moteurs de recherche (on peut ... en ajouter d'autres en modifiant le script)
Utilise le DOM et non innerhtml
• Paramétrable. Notamment une variable elementid :  " ... if set, then only content inside this DOM element will be highlited"
• Existe en versions compressée (utile pour que la page + js s'affiche + rapidement chez des utilisateurs avec une ligne bas débit), documentée (commentée : in-dis-pen-sa-ble pour piger, améiiorer, etc.).

Utilité :

• Le fait de mettre en plusieurs couleurs les mots-clés de la recherche facilite beaucoup (IMHO) la vie de l'utilisateur
• Des expérimentations en perspective ... notamment pour ne rechercher / n'afficher les résultats que dans certaines parties (par ex. : articles d'un blog VB, etc.).

Perspectives :

• Améliorer "énormément" la recherche sur les blogs (notamment).
• La fonction recherche de Viabloga est "poussive", l'ergonomie des résultats est défectueuse, etc.
• Une recherche sur un blog à partir de Google (etc.) donne des résultats concernant des pages de blog, et non des éléments de page (article, commentaire, "texte", bloc, etc.). 
• Ce script permettrait de mettre en valeur (surligner) seulement dans la partie (article, par ex.) intéressante.

Expérimentation sur Viabloga ... et ailleurs

• Le script objet de cet article. Ou un script équivalent, plus perfectionné et paramétrable, etc.: faire par ex. une recherche Yahoo! sur javascript keyword highlight DOM ...
• Sur ce site, sur VdeV, ou tout blog intéressé. Tenir et mettre à jour une liste de ces sites. Disposer ici, ou sur VdeV, d'une section (catégorie) spécialisée : retours d'expérience, améliorations proposées, etc.
• Tenir au courant la bande de passionnés (ils ne sont pas vraiment sur Viabloga ...) intéressée par le Web sémantique, les microformats, les moteurs de recherche, les trucs innovants, .... pour que eux aussi proposent améliorations, et surtout ... réalisent ces améliorations (pour partager des add-ins complémentaires, etc.).
• Proposer une expérimentation - maquette  (confidentielle ?) à un ou plusieurs moteurs de recherche, commerciaux ou universitaires. Expérimenter quoi ? voir ci-dessous "proposition à Stéphane".  Voir comment faire fructifier.
• Sur VB, je verrais bien quelques améliorations / modifications du script :
• Prendre en compte plusieurs éléments de DOM avec des opérateurs ET SAUF etc.,, et prendre en compte des éléments imbriqués (exemple : la class "toto" n'est pas à prendre en compte de la même façon selon qu'il s'agit d'un <div> ou <p> situé dans un <div> "truc" ou dans un <div> "machin")
• Réaliser un "interrogateur" de moteur : selon indications mises par l'utilisateur dans un formulaire, chercher dans tel(s) <div> ou parties de DOM, etc.
• Quelques améliorations d'affichage. Par ex., afficher à un endroit ad hoc de la page le nombre d'occurences de tel ou tel mot-clé, dans telle ou telles "parties" de la page, etc. Ceci suggère d'ailleurs que la standardisation des déclarations (voir plus bas, "Proposition à Stéphane") faites par un site aux moteurs de recherche pourrait concerner par ex. les attributs (pseudo, etc.) des auteurs, ou encore des dates (de publication, modification, etc.). On pourrait ainsi afficher sur telle page, le nombre d'articles ou de commentaires publiés par tel pseudo, ou encore faire une synthèse par site, etc. Nota à propos d'affichage : il peut être "direct", ou être appelé par un clic sur icone ou lien, etc.
• Nota :  un des objectifs de ce site, le cahier des charges du paramétrage de l'affichage repliable / dépliable / navigable d'une discussion Viabloga (discussion = articles + commentaires),  tiendra compte, bien sûr, de tous les attributs possibles ou utiles ...

Proposition pour Stéphane :

• J'ai déjà proposé à Stéphane (sur VdeV je crois) une amélioration "fulgurante" de l'efficacité d'un moteur de recherche bien connu. Je la repropose ici : dans les balises meta d'une page Web, ou encore dans les directives robot du serveur, ou ... (quelque part, enfin ! pourquoi pas un microformat) une déclaration est faite, qui explicite les parties intéressantes du DOM du service (ou des DOM, selon pages). Cette déclaration est utilisée par le moteur de recherche, afin d'indexer le contenu du site en prenant en compte les parties intéressantes. Nota : indexation des parties intéressantes suite au crawl par les robots du moteur, ou indexation "à la volée" lorsque l'utilisateur du moteur de recherche demande une page de résultats.

• Pour l'utilisateur lambda du moteur de recherche (probablement, dans les "fonctions avancées" du moteur), les résultats sont proposés selon les parties intéressantes (avec les opérations habituelles : et sauf etc.) Nota : on voit l'intérêt d'une standardisation. Par ex. : tous les articles de toutes les plate-formes de blogs seront indexés comme "article", etc. Attention, le id ou class ou name utilisé par un site peut être "toto", il suffit que dans la déclaration du site il y ait une correspondance toto --> déclaration d'article.

• Pour les utilisateurs en entreprise (intranet, extranet, etc.) : outre les documents HTML, il y a beaucoup de documents structurés .... donc avec une DTD (même implicite). Utiliser un service de recherche s'appuyant aussi sur les DTD (DOM ...) peut être très productif.  Ce service peut être développé par l'entreprise (l'administration, etc.), ou proposé par un fournisseur de moteur de recherche.

• Pour les propriétaires de moteurs de recherche, agences de pub',  et leurs clients annonceurs : repérer où sont les citations et pubes (de l'annonceur, de ses concurrents, etc.), dans des bannières ou des widgets ou des blocs, ou dans des articles, etc. 
• Et tous services à valeur ajoutée ...

• Je serais étatsunien, je ferais illico une demande de brevet, sans même regarder s'il y a des précédents en terme de propriété intellectuelle. Parce qu'aux Etats-Unis, hélas, on peut breveter du software, ou une interface utilisateur, etc. Mais je ne suis pas étatsunien, je n'aime pas du tout les brevets logiciels (et je parle en connaissance de cause, en tant qu'ancien proprio d'une entreprise de software) ni les business models fondés sur les avocasseries. Alors j'expose l'idée. Nota : une idée n'est pas brevetable. Seul est brevetable un procédé ... En ai-je trop dit ? Ceux qui voudraient s'associer avec bibi pour déposer une demande (valable) de brevet peuvent me contacter 

Commentaires

Hé, leblase ...

Pour renforcer - si c'est possible - le côté "le shplouc ne sert à rien". Imagine que soient réalisées diverses améliorations suggérées dans l'article, à propos des moteurs de recherche. On pourrait alors rechercher dans le shplouc selon des modalités comme :
• recherche les commentaires signés leblase entre telle et telle date
• recherche les pages où kb n'a pas commenté


Et si les tags (les mots-clés) sont un jour implémentés sur le shplouc, en vrai (si, si ...) ou en virtuel (ça, tu ne peux l'empêcher ) :
• recherche les images taguées "paysage" dans les pages où il y a des commentaires d'ancolie tagués "magnifique"
Etc.

Avec ce genre de truc on pourrait aussi faire qqc. comme :
• recherche toutes les images dans articles et commentaires
... avec le résultat de la recherche, on pourrait faire une galerie d'images, etc.

Etc.
 

 


Fix | Le Samedi 15/03/2008 à 22:21 | [^] | Répondre

Re: Hé, leblase ...

Je trouve ça très intéressant comme proposition, mais si tu me disais: tiens j'ai une formule pour faire descendre le soleil  sur la terre pour le laver, je te dirais la même chose. C'est-à-dire que ej serais incapable de t'aider à le réaliser.
Nous pouvons tu peux Mitra peut je peux, je le rappelle, utiliser queude si besoin est pour tester et tagger en grand.

Avec ce genre de truc on pourrait aussi faire qqc. comme :
• recherche toutes les images dans articles et commentaires
... avec le résultat de la recherche, on pourrait faire une galerie d'images, etc.

Quand tu écris cela, penses-tu que ton idée permettrait de faire la différence entre du texte et des photos voire des dessins (quelques zozos dessinèrent sur le shplouc)?
Sais-tu que l'application qui tuera sera celle qui permettra de trouver une photo en la décrivant?
A part ça je ne suis pas averti des nouveaux billets ou commentaires de succulente cuisine: je ne me souviens plus quelle boite aux lettres j'ai donné pour ce site.

 


leblase | Le Lundi 17/03/2008 à 17:52 | [^] | Répondre

Re: Hé, leblase ...

   leblase : "Nous pouvons tu peux Mitra peut je peux, je le rappelle, utiliser queude si besoin est pour tester et tagger en grand"

Bien bien. Nous n'allons pas nous priver de ce genre de menus plaisirs. Promeus moi grand mamamouchi administrateur de queude.

leblase encore : "ton idée permettrait de faire la différence entre du texte et des photos voire des dessins".

Un peu, mon neveu. Juste deux mots, pour te mettre au parfum (tu pourras briller dans les dîners avec ta science) : les navigateurs (browsers) savent utiliser le DOM (Document Object Model) qui décrit la structure intime d'une page HTML. Cette structure est une arborescence. A la racine de l'arborescence  il y a "document" (la page HTML), puis des branches qui aboutissent à des noeuds d'où partent d'autres branches etc.  Exemple (je simplifie) : un noeud peut être une balise image <img>,  ou encore une balise <p> (paragraphe), à qui vont être rattachés des rameaux "propriétés de p" (affiché par ex. en gras, etc. ou encore, "nom" de p, ça c'est trrrès utile pour retrouver tel paragraphe, etc.), des rameaux "fils" (par un ex. un rameau terminal "texte", si le paragraphe ne contient que du texte sans aucune autre balise HTML). 

T'es toujours avec moi, mon neveu ? T'as entravé le truc de l'arborescence ? Donc, une arborescence décrite de façon standard et normalisée, tous les logiciels de navigation incorporent cette science, même si certains sont un peu facétieux genre IE. Pour afficher une page Web, le navigateur digère l'aborescence, et affiche le résultat.

Là où ça devient vachement chouette, c'est avec javascript (le langage de programmation incorporé dans les navigateurs). Javascript permet d'explorer et lire, et aussi de modifier l'arborescence : ajouter, supprimer, modifier des noeuds ou des branches ou des feuilles terminales. Exemple : avec javascript un petit programme (script) peut rechercher tous les paragraphes (ou tel paragraphe bien identifié) de texte, et faire qu'ils s'affichent dorénavant en gras . Ces scripts sont contenus dans les pages HTML, et agir selon diverses sollicitations (par ex., un clic sur un lien, ou le chargement de la page, etc.). Si le script est activé au moment du chargement de la page, tous les utilisateurs verront la modification apportée par le script. Si le script est activé par une action de l'utilisateur (clic sur bouton, etc.), seul les utilisateurs ayant effectué cette action verront une modification. Pour briller en ville, retiens ceci : tout se passe dans le navigateur. Ce que fait un utilisateur n'affecte pas les autres utilisateurs, ni ce qui se passe sur le serveur. 

Tu as tout pigé. Avec javascript, on peut rechercher les images, parce que un noeud image dans l'aborescence est décrit de façon standardisée (en HTML, balise <img>) et ne peut être confondu avec du texte pur. Pour peu que le noeud image soit un peu documenté, on va pouvoir repérer une image par son nom, par son  "id" (identifiant unique), par sa "classe" (une catégorie entière d'images), ou encore par des tags (mots-clés).

Et pour différencier les dessins ? Eh bien ... il suffit de documenter le noeud image contenant un dessin, en lui affectant par ex. un nom dans lequel il y aura dessin ou une "classe" nommée dessin, ou un tag dessin, etc.

Et qui documente, hein ? Ben, les documentateurstrices. Les auteurstrices de page HTML.  Sur un blog, sur le shplouc par exemple,  c'est l'auteur de la plate-forme de blog, puis  l'auteur de l'article, puis les commentateurstrices. Il suffit d'un peu de méthode et d'organisation

Mais sur le shplouc, c'est le bordel ? Ah ben oui. Mettons que ceuxcelles qui sont motivés-es feront  l'effort minimal de discipline. Tant pis pour les autres. 

Mais quelle discipline (mot abhorré, tant pis) ? Une discipline absolument minimale. Respecter des consignes absolument minimales. 

Mais encore ? Une petite amélioration de l'interface utilisateur Viabloga, permettant par ex. d'affecter une "classe" à une image. Simplement. Par ex. un petit menu déroulant. Encore une fois, ceuxcelles qui ne feront pas l"effort minimal ne seront pas "récompensés" par le fait que leurs belles images (photos, dessins, films, etc.) pourraient bénéficier de traitements de faveur (par ex., figurer dans une galerie, etc. etc.).


leblase, toujours lui : "Sais-tu que l'application qui tuera sera celle qui permettra de trouver une photo en la décrivant?" Un peu que je sais, mon neveu. C'est pas nouveau, la description de photos avec des mots-clés, des champs de texte libre, etc. etc. Ça demande juste de la patience à ceux qui "documentent" la photo. Il y a bien des trucs automatiques, par ex. venant des appareils photo modernes : en principe on récupère la date de la photo, toutes les caractéristiques de l'objectif et de l'exposition, et dans les prochains appareils on récupérera aussi des données GPS, ce qui permettra, une fois les photos confiées  à un logiciel, de déduire que telle photo a été prise dans le temple maçonnique féminin de Trifouillis-les-oies. Il y a aussi des trucs automatiques (merveilleux logiciels, pas encore d'un prix accessible aux particuliers, ça viendra peut-être) permettant de déduire que sur telle photo il y a des humains (et même ... tel humain, avec une probabilité de x %), des arbres, etc. En attendant tout ça, patience, patience et patience pour classer (documenter) les photos. 

Je reviens à ton interrogation tellement fondamentale qu'elle précède les questions fondamentales de Platon, Lao-Tseu, Descartes, Hegel et Sarkozy : trouver une photo en la décrivant. Tu as bien compris qu'une photo décrite (documentée) est une photo retrouvée. On peut documenter soi-même, laisser d'autres documenter (Flickr, etc.).


leblase, enfin :" A part ça je ne suis pas averti des nouveaux billets ou commentaires de succulente cuisine: je ne me souviens plus quelle boite aux lettres j'ai donné pour ce site
Qu'est ce qui t'empêche de re-souscrire aux flux RSS avec une autre boîte aux lettres ? C'est complètement indépendant de ton inscription avec tel pseudo sur le blog.

.

 


Fix | Le Lundi 17/03/2008 à 20:24 | [^] | Répondre

Re: Hé, leblase ...

Fix,
par la présente et en vertu des pouvoirs qui me sont conférés, te voilà nommé administrateur de queude.
Ce qui est pour ainsi dire, rien.

 


leblase | Le Mardi 18/03/2008 à 01:32 | [^] | Répondre

Re: Hé, leblase ...

Est-ce qu'on pourrait utiliser le champ "Texte de remplacement" de l'éditeur d'image VB qui sert trop à rien ?

 


ancolie de chez leblase | Le Vendredi 21/03/2008 à 20:19 | [^] | Répondre

Re: Hé, leblase ...

Ce champ sert à documenter l'attribut "alt" d'une image.

L'attribut alt est affiché lorsque l'image ne peut s'afficher. Elle est utile aussi pour les utilisateurs non-voyants, qui "lisent" ainsi une description de l'image, lorsqu'elle existe.

Bien, et systématiquement, utiliser alt fait partie des bonnes pratiques d'accessibilité du Web.

Pour répondre à ta question : la description contenue dans alt peut bien sûr contenir des termes utiles à une automatisation (programmabilité) de la  recherche / classification. Mais ce n'est pas son premier but

 


Fix | Le Vendredi 21/03/2008 à 20:44 | [^] | Répondre

Pour Mitra et autres testeurs ..

 J'ai qq. problèmes (voir l'article ci-dessus) pour que le "fameux" script marche sur des pages VB. Peux tu tester avec tes navigateurs ? Tu fais une recherche Google en précisant le site coucou.viabloga.com

Dans le modèle public-itheme 150308 Fix.html j'utilise une version de script se_hilite_src2.js modifiée par mes soins (des alert() pour trouver où ça déconne ... et j'ai trouvé déjà un premier endroit où ça ne va pas).

Tu peux, dans le modèle, modifier l'appel au script, en remplaçant dans la ligne :
<script type="text/javascript" src=" (etc.), 
se_hilite_src2.js  par se_hilite_src.js (script original) ou encore se_hilite.js (version compressée du script. Pas de retour à la ligne, d'espaces, d'indentation, de commentaires. Extrêmement difficile de déboguer avec ça. C'est juste pour voir si "ça marche" chez toi).

[EDIT 16/03/2008 08:30]

Hmmm je réussis à faire fonctionner sous FF. Mais ... y a des choses qui ne fonctionnent pas normalement. Par ex. je cherche "Mitra" :

Dans une page de résultats Google, clic --> page VB, je trouve effectivement "Mitra" surligné, mais aussi "viabloga". Trouvé la cause :  il y a deux lignes du script qui tout simplement ne font pas leur boulot ...

Avec Yahoo! ... ça ne marche tout simplement pas. C'est le script qui déconne, bien sûr.

Sous Safari, c'est pas encore ça. La très curieuse syntaxe regex.compile() du script n'est pas reconnue par Safari.  Je ne la trouve d'ailleurs pas documentée, ni dans mon manuel Javascript, ni sur le Web (poue utilisation en Javascript). Bon ... je tâche de trouver un contournement.

[/EDIT]




 


Fix | Le Dimanche 16/03/2008 à 03:52 | [^] | Répondre

 

Archives par mois