Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplacer un mot par un lien

5 réponses
Avatar
Olivier Masson
Bonjour,

J'ai l'intention de faire un glossaire avec des liens dans les
définitions vers les mots définis par ailleurs. Ce que l'on voit
partout, mais j'ignore comment faire cela au mieux.

Il faut donc que je cherche dans les définitions des mots s'il y a des
mots définies, cad présent dans la table.

Or, comment faire cette recherche pour qu'elle soit le plus rapide
possible ? Y'a-t-il des méthodes classiques pour ce genre de cas ? N'y
connaissant rien, j'avais penser créer une table MEMORY (HEAP) avec
uniquement les mots pour accélérer la recherche mais est-ce utile ?

Merci.

5 réponses

Avatar
ALain Montfranc
Olivier Masson a écrit
Bonjour,

J'ai l'intention de faire un glossaire avec des liens dans les définitions
vers les mots définis par ailleurs. Ce que l'on voit partout, mais j'ignore
comment faire cela au mieux.

Il faut donc que je cherche dans les définitions des mots s'il y a des mots
définies, cad présent dans la table.

Or, comment faire cette recherche pour qu'elle soit le plus rapide possible ?
Y'a-t-il des méthodes classiques pour ce genre de cas ? N'y connaissant rien,
j'avais penser créer une table MEMORY (HEAP) avec uniquement les mots pour
accélérer la recherche mais est-ce utile ?

Merci.



Tu vas avoir beoin d'une table avec 2 colonnes : mot, lien (sauf si le
lien se déduit directement du mot) et surtoout un index pour accelerer
la recherche (attention aux majuscules/minuscules)

Ceci dit un SGBD pour ca c'est un peu l'artillerie lourde ;-)
Avatar
Olivier Masson
ALain Montfranc a écrit :


Tu vas avoir beoin d'une table avec 2 colonnes : mot, lien (sauf si le
lien se déduit directement du mot) et surtoout un index pour accelerer
la recherche (attention aux majuscules/minuscules)

Ceci dit un SGBD pour ca c'est un peu l'artillerie lourde ;-)





Ma base sert à stocker les mots + définitions. Pour faire des recherches
et classements, je ne vois pas en quoi c'est lourd.

J'ai déjà, bien sûr, un index sur la colonne 'mot'.

Ma question porte sur l'optimisation du remplacement du mot par son lien
qui est fort heureusement (il faudrait être tordu) déduit du mot.

Je sais faire, c'est très simple. Mais bien faire voire parfaitement
faire, c'est autre chose.
Avatar
ALain Montfranc
Olivier Masson a écrit
ALain Montfranc a écrit :


Tu vas avoir beoin d'une table avec 2 colonnes : mot, lien (sauf si le lien
se déduit directement du mot) et surtoout un index pour accelerer la
recherche (attention aux majuscules/minuscules)

Ceci dit un SGBD pour ca c'est un peu l'artillerie lourde ;-)





Ma base sert à stocker les mots + définitions. Pour faire des recherches et
classements, je ne vois pas en quoi c'est lourd.



OK, j'avais compris que tu voulais juste savoir si le mot faisait
partie d'une liste pour renvoyer vers un site tiers? Désolé


J'ai déjà, bien sûr, un index sur la colonne 'mot'.

Ma question porte sur l'optimisation du remplacement du mot par son lien qui
est fort heureusement (il faudrait être tordu) déduit du mot.



Là on sort du domaine du SGBD. Le SGBD tu lui donne une requette et il
te renvoie une reponse. La ca va etre un truc style "select 1 from
matable where mot = "monmot" par exemple) et ton traitement applicatif
va faire un if(retour == 1 ) alors ecrire "<a
href=http://www.machin.truc/..." else ecrire "monmot"; fi

Tu ne vas pas couper au parsing de la page pour extraire les mot et
ajouter les liens un par un si besoin est. Et là c'est de l'applicatif
pur...

Seul conseil : le faire à la création de la page et/ou à la
modification du glossaire (pour toutes les pages) et non pas à chaque
affichage de page


Je sais faire, c'est très simple. Mais bien faire voire parfaitement faire,
c'est autre chose.



C'est plus facile avec un cahier des charges précis ;-)
Avatar
Olivier Masson
ALain Montfranc a écrit :

Seul conseil : le faire à la création de la page et/ou à la modification
du glossaire (pour toutes les pages) et non pas à chaque affichage de page




C'est une autre option, effectivement.
Merci.
Avatar
ALain Montfranc
Olivier Masson a écrit
ALain Montfranc a écrit :

Seul conseil : le faire à la création de la page et/ou à la modification du
glossaire (pour toutes les pages) et non pas à chaque affichage de page




C'est une autre option, effectivement.
Merci.



Si tu veux faire du code qui tienne la charge, ca n'est *pas* une
option :-D