moteur de recherche trop curieux

Bonjour,

Le moteur de recherche permet d’accéder à des articles auxquels je ne voudrais pas
qu’on puisse accéder : par exemple certains articles du site ont une fonction « technique »,
ou ne doivent pas être affichés dans un squelette d’article.

Ma boucle de recherche n’affiche que les articles, et je l’ai configurée assez logiquement
pour que le lien pointe sur #URL_ARTICLE. Mais ça fait que je peux me retrouver dans
la situation où un article se retrouve affiché dans un squelette pas prévu pour.

Du coup, j’envisage de créer un mot clé ok_pour_recherche et d’ajouter ce critère dans
ma boucle, cela me permet de définir dans l’admin quels articles peuvent être trouvés
comme résultats dans le moteur de recherche.

Ca me paraît juste un peu contraignant pour les rédacteurs pour lesquels ça ajoute une
étape supplémentaire lors de la création d’un article, étape qu’ils pourront oublier facilement.

Donc je me demandais si quelqu’un n’aurait pas une meilleure idée ?

Merci,
Gilles

Bonsoir,

fluxs a écrit :

Le moteur de recherche permet d'accéder à des articles auxquels je ne voudrais pas
qu'on puisse accéder : par exemple certains articles du site ont une fonction "technique",
ou ne doivent pas être affichés dans un squelette d'article.

Il suffit de restreindre ta boucle de recherche. Si les articles "techniques" sont localisés dans un secteur, il suffit d'exclure ce secteur de la boucle. Tu peux aussi utiliser les mots-clés pour un classement plus fin.

Ma boucle de recherche n'affiche que les articles, et je l'ai configurée assez logiquement
pour que le lien pointe sur #URL_ARTICLE. Mais ça fait que je peux me retrouver dans
la situation où un article se retrouve affiché dans un squelette pas prévu pour.

Ca, tu devrais pouvoir l'éviter en configurant correctement ton site. Sauf exceptions, un objet ne doit être atteignable sur un site web que via une seule url, et doit donc être affiché par un et un seul squelette. Le tout est de faire en sorte que ce soit le bon qui soit choisi. Avec les squelettes par rubrique (article-xxx.html où xxx est l'id de rubrique), tu as déjà un bon outil. Sinon, si tu as besoin d'une config très fine, tu peux aller personnaliser le fichier inc-urls.php3.

François

pourquoi pas faire l'inverse: proteger les articles techniques avec un mot clé?

- Alexis Roussel
United Nations Institute for Training and Research (UNITAR)
E-mail: alexis.roussel@unitar.org
Web: http://www.unitar.org/dcp

fluxs wrote:

Bonjour,

Le moteur de recherche permet d'accéder à des articles auxquels je ne voudrais pas
qu'on puisse accéder : par exemple certains articles du site ont une fonction "technique",
ou ne doivent pas être affichés dans un squelette d'article.

Ma boucle de recherche n'affiche que les articles, et je l'ai configurée assez logiquement
pour que le lien pointe sur #URL_ARTICLE. Mais ça fait que je peux me retrouver dans
la situation où un article se retrouve affiché dans un squelette pas prévu pour.

Du coup, j'envisage de créer un mot clé ok_pour_recherche et d'ajouter ce critère dans
ma boucle, cela me permet de définir dans l'admin quels articles peuvent être trouvés
comme résultats dans le moteur de recherche.

Ca me paraît juste un peu contraignant pour les rédacteurs pour lesquels ça ajoute une
étape supplémentaire lors de la création d'un article, étape qu'ils pourront oublier facilement.

Donc je me demandais si quelqu'un n'aurait pas une meilleure idée ?

Merci,
Gilles

:smiley:
Ben ouais, tout simplement :-))

Merci !

Alexis Roussel wrote:

pourquoi pas faire l'inverse: proteger les articles techniques avec un mot clé?

- Alexis Roussel
United Nations Institute for Training and Research (UNITAR)
E-mail: alexis.roussel@unitar.org
Web: http://www.unitar.org/dcp

fluxs wrote:

Bonjour,

Le moteur de recherche permet d'accéder à des articles auxquels je ne voudrais pas
qu'on puisse accéder : par exemple certains articles du site ont une fonction "technique",
ou ne doivent pas être affichés dans un squelette d'article.

Ma boucle de recherche n'affiche que les articles, et je l'ai configurée assez logiquement
pour que le lien pointe sur #URL_ARTICLE. Mais ça fait que je peux me retrouver dans
la situation où un article se retrouve affiché dans un squelette pas prévu pour.

Du coup, j'envisage de créer un mot clé ok_pour_recherche et d'ajouter ce critère dans
ma boucle, cela me permet de définir dans l'admin quels articles peuvent être trouvés
comme résultats dans le moteur de recherche.

Ca me paraît juste un peu contraignant pour les rédacteurs pour lesquels ça ajoute une
étape supplémentaire lors de la création d'un article, étape qu'ils pourront oublier facilement.

Donc je me demandais si quelqu'un n'aurait pas une meilleure idée ?

Merci,
Gilles
   
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

--
*Gilles Lévy - potentionet*
Développeur web freelance : Flash / php / mySQL ...
14, rue Dupont de l'Eure 75020 Paris
Tel. 01.40.31.34.77
http://www.potentio.net

Limiter la boucle à certaines rubriques, c'est ce que j'ai finalement choisi.

Mais par contre la possibilité d'avoir de générer des urls php personnalisées m'intéresse,
mais je ne vois pas comment me servir de inc_urls.php3, tu pourrais me donner un exemple
rapide ?

François Schreuer wrote:

Bonsoir,

fluxs a écrit :

Le moteur de recherche permet d'accéder à des articles auxquels je ne voudrais pas
qu'on puisse accéder : par exemple certains articles du site ont une fonction "technique",
ou ne doivent pas être affichés dans un squelette d'article.
   
Il suffit de restreindre ta boucle de recherche. Si les articles "techniques" sont localisés dans un secteur, il suffit d'exclure ce secteur de la boucle. Tu peux aussi utiliser les mots-clés pour un classement plus fin.

Ma boucle de recherche n'affiche que les articles, et je l'ai configurée assez logiquement
pour que le lien pointe sur #URL_ARTICLE. Mais ça fait que je peux me retrouver dans
la situation où un article se retrouve affiché dans un squelette pas prévu pour.
   
Ca, tu devrais pouvoir l'éviter en configurant correctement ton site. Sauf exceptions, un objet ne doit être atteignable sur un site web que via une seule url, et doit donc être affiché par un et un seul squelette. Le tout est de faire en sorte que ce soit le bon qui soit choisi. Avec les squelettes par rubrique (article-xxx.html où xxx est l'id de rubrique), tu as déjà un bon outil. Sinon, si tu as besoin d'une config très fine, tu peux aller personnaliser le fichier inc-urls.php3.

François

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Autre chose :

Si je limite à certaines rubriques, par exemple avec un critère du type {id_rubrique<8}
je n'ai pas les articles des sous-rubriques.

J'envisageais de boucler sur les secteurs puis sur les branches avant de boucler sur
tous les articles, quelque chose comme :
<BOUCLE_secteurs(RUBRIQUES){id_secteur<8}>
    <BOUCLE_branches{branche}>
        <BOUCLE_resultats(ARTICLES){recherche}{id_rubrique<8}{par points}{inverse}>

Mais cela va faire que les résultats ne seront plus classés par points mais par secteur
puis par point...

Du coup pour qu'il n'y ai pas d'ambiguïté pour l'internaute, il faut que je regroupe visuellement
les résultats par rubrique, mais je trouve ça un peu lourd comme page de résultats...

Donc avant de l'accepter, n'y aurait-il pas une façon de faire pour qu'une seule boucle
article renvoie tous les articles de plusieurs branche ?

François Schreuer wrote:

Bonsoir,

fluxs a écrit :

Le moteur de recherche permet d'accéder à des articles auxquels je ne voudrais pas
qu'on puisse accéder : par exemple certains articles du site ont une fonction "technique",
ou ne doivent pas être affichés dans un squelette d'article.
   
Il suffit de restreindre ta boucle de recherche. Si les articles "techniques" sont localisés dans un secteur, il suffit d'exclure ce secteur de la boucle. Tu peux aussi utiliser les mots-clés pour un classement plus fin.

Ma boucle de recherche n'affiche que les articles, et je l'ai configurée assez logiquement
pour que le lien pointe sur #URL_ARTICLE. Mais ça fait que je peux me retrouver dans
la situation où un article se retrouve affiché dans un squelette pas prévu pour.
   
Ca, tu devrais pouvoir l'éviter en configurant correctement ton site. Sauf exceptions, un objet ne doit être atteignable sur un site web que via une seule url, et doit donc être affiché par un et un seul squelette. Le tout est de faire en sorte que ce soit le bon qui soit choisi. Avec les squelettes par rubrique (article-xxx.html où xxx est l'id de rubrique), tu as déjà un bon outil. Sinon, si tu as besoin d'une config très fine, tu peux aller personnaliser le fichier inc-urls.php3.

François

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Heu j'ai psychoté on dirait, il suffit de de mettre un critère id_secteur dans la boucle de recherche, par exemple :

<BOUCLE_resultats(ARTICLES){recherche}{id_secteur<8}{id_rubrique!=25}{id_rubrique!=32}{par points}{inverse}{0,20}>

pour avoir tous les articles des secteurs inférieurs à 8, sauf les rubriques 25 et 32 de ces secteurs.

:smiley:

fluxs wrote:

Autre chose :

Si je limite à certaines rubriques, par exemple avec un critère du type {id_rubrique<8}
je n'ai pas les articles des sous-rubriques.

J'envisageais de boucler sur les secteurs puis sur les branches avant de boucler sur
tous les articles, quelque chose comme :
<BOUCLE_secteurs(RUBRIQUES){id_secteur<8}>
   <BOUCLE_branches{branche}>
       <BOUCLE_resultats(ARTICLES){recherche}{id_rubrique<8}{par points}{inverse}>

Mais cela va faire que les résultats ne seront plus classés par points mais par secteur
puis par point...

Du coup pour qu'il n'y ai pas d'ambiguïté pour l'internaute, il faut que je regroupe visuellement
les résultats par rubrique, mais je trouve ça un peu lourd comme page de résultats...

Donc avant de l'accepter, n'y aurait-il pas une façon de faire pour qu'une seule boucle
article renvoie tous les articles de plusieurs branche ?

François Schreuer wrote:

Bonsoir,

fluxs a écrit :

Le moteur de recherche permet d'accéder à des articles auxquels je ne voudrais pas
qu'on puisse accéder : par exemple certains articles du site ont une fonction "technique",
ou ne doivent pas être affichés dans un squelette d'article.
  

Il suffit de restreindre ta boucle de recherche. Si les articles "techniques" sont localisés dans un secteur, il suffit d'exclure ce secteur de la boucle. Tu peux aussi utiliser les mots-clés pour un classement plus fin.

Ma boucle de recherche n'affiche que les articles, et je l'ai configurée assez logiquement
pour que le lien pointe sur #URL_ARTICLE. Mais ça fait que je peux me retrouver dans
la situation où un article se retrouve affiché dans un squelette pas prévu pour.
  

Ca, tu devrais pouvoir l'éviter en configurant correctement ton site. Sauf exceptions, un objet ne doit être atteignable sur un site web que via une seule url, et doit donc être affiché par un et un seul squelette. Le tout est de faire en sorte que ce soit le bon qui soit choisi. Avec les squelettes par rubrique (article-xxx.html où xxx est l'id de rubrique), tu as déjà un bon outil. Sinon, si tu as besoin d'une config très fine, tu peux aller personnaliser le fichier inc-urls.php3.

François

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

fluxs a écrit :

Mais par contre la possibilité d'avoir de générer des urls php personnalisées m'intéresse,
mais je ne vois pas comment me servir de inc_urls.php3, tu pourrais me donner un exemple rapide ?

Euh oui.

Voilà par exemple la fonction d'écriture des urls des mots-clés du site tchouktchouk.eu.org. Les urls sont définis par 1° le groupe auquel apprtient un mot et 2° un champ extra (url) pour la seconde partie de l'url.

Evidemment, cet exemple est un peu lourd au niveau mysql (un appel à la base de données chaque fois qu'il faut générer un url).

François

function generer_url_mot($id_mot) {
$result = spip_query("SELECT id_groupe,extra FROM spip_mots WHERE id_mot=$id_mot LIMIT 1");
$row = spip_fetch_array($result);
switch($row[id_groupe])
{
  // classement thématique
  case(1):
    if (trim(extra($row['extra'], 'url')))
    return "/themes/".trim(extra($row['extra'], 'url')).".html";
    else
    return "/themes/".$id_mot.".html";
    break;

  // publications
  case(2):
    if (trim(extra($row['extra'], 'url')))
    return "/publications/".trim(extra($row['extra'], 'url')).".html";
    else
    return "/publications/".$id_mot.".html";
    break;

  // classement géographique
  case(3):
    if (trim(extra($row['extra'], 'url')))
    return "/pays/".trim(extra($row['extra'], 'url')).".html";
    else
    return "/pays/".$id_mot.".html";
    break;

  //dossiers
  case(5):
    if (trim(extra($row['extra'], 'url')))
    return "/dossiers/".trim(extra($row['extra'], 'url')).".html";
    else
    return "/dossiers/".$id_mot.".html";
    break;

  default: return "/mot".$id_mot."html";
  break;
}