SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

251 Plugins, 182 contribs sur SPIP-Zone, 184 visiteurs en ce moment

Accueil du site > Statistiques et référencement > Réécriture d’URL > Des vrais noms de rubrique sans toucher à Apache ?

Des vrais noms de rubrique sans toucher à Apache ?

{{Une ruse de sioux}}. Enterrez la hache de guerre avec Google.

12 mars 2003 – par philippe – 24 commentaires

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Finalement transformer rubrique.php3 ?id_rubrique=46 en /Rubrique1/ssRubrique1.1/ssRubrique1.1.1 n’est pas aussi difficile qu’il y paraît : Spip, le php et le html ont tout ce qu’il faut en magasin pour vous permettre de faire un joli rubricage compréhensible de tous et que vous pourrez retenir de mémoire !

L’intérêt du renommage des rubriques est double :

-  Permettre à tout un chacun de mémoriser l’adresse de la partie du site qui l’intéresse.
-  Permettre aux moteurs de recherche (Google et google-like) de mieux indexer votre site par une bonne lecture des url.

La façon la meilleure de réaliser cela, c’est les règles de rewrite url d’Apache. Evidemment, la lumineuse explication que nous en a fait le site de Spip n’est pas toujours limpide ni facile à mettre en oeuvre pour le quidam.

Voyons si nous ne pouvons pas faire plus simple :

Nous allons :
-  Renommer les rubriques avec leurs #TITRE ;
-  Créer l’arborescence et ses raccourcis ;
-  Corriger les problèmes de cohérence ;
-  Apprendre à refaire nos boucles SPIP.

Renommer les rubriques

C’est un préalable, une rubrique se définit par un mot et un seul qui la caractérise et dont l’assemblage avec ses ascendants est « logique ».

Exemple : /Maladie/Diagnostic/Biologie

Gardez une logique de nommage et tenez-vous y ! (Majuscule ou pas sur la première lettre, singulier ou pluriel etc. )

Vous pouvez utiliser des caractères accentués car j’ai fait pour vous un petit filtre spip pour enlever les accents secondairement.

Créez PHYSIQUEMENT votre arborescence

Allez zou, direction votre client FTP préféré. Vous créez les répertoires aux noms de #TITRE de vos rubriques mais sans accents. Dossiers, sous-dossiers avec dans chaque dossier un fichier index.php vide pour l’instant.

C’est fait ? Bien. Alors tapez dans chacun des fichiers index.php la seule ligne suivante :

<?php include("http://www.votresite.com/rubrique.php3?id_rubrique=xx"); ?>

Evidemment "xx" c’est le numéro de rubrique que spip a attribué à chacune de vos rubriques et que vous allez oublier très vite après notre manip.

Et maintenant ? Corriger les problèmes...

Bon, c’est joli : /Rubrique1/Rubrique1.1/Rubrique1.2/ donne bien la page escomptée mais j’ai des problèmes de liens relatifs qui ne fonctionnent plus.

C’est vrai ? ben dommage :-)

Non, en fait c’est tout bête : rajoutez cette simple ligne dans votre squelette de rubrique dans le <head> : <base href="#URL_SITE_SPIP">

Et voilà, toutes les images sont à nouveau bonnes :-)

Vous êtes trop forts les gars !

Hum, encore des problèmes ? Vraiment ?

Ah ben oui, on a rien sans rien.

Vos liens relatifs sans url ne marchent plus ? <a href="#top">Top</a> vous renvoie sur la page d’accueil du site ? Logique, c’est vous qui avez défini plus haut le base href :-)

Heureusement, petits veinards, php a pensé à vous ! $PHP_SELF n’est pas pour les chiens, elle appelle la page en cours de lecture soit rubrique.php3.

Comment ça ça ne vous aide pas ? Mais si, il faut juste y ajouter l’#ID_RUBRIQUE. Ce qui nous donne donc <a href="<? $PHP_SELF.?id_rubrique=#ID_RUBRIQUE ?>#top">top</a>

Et voilà le travail !

Mais en spip ça nous donne quoi tout ça ?

Bon, c’est vrai #URL_RUBRIQUE n’est plus vraiment ce qu’il était... Tout se perd, plus rien n’est comme avant. A qui le dites vous ma bonne dame mais vous ne croyez tout de même pas qu’en vous passant d’Apache vous n’alliez pas y laisser des plumes ?

Dorénavant il va vous falloir remplacer #URL_RUBRIQUE par :

#URL_SITE_SPIP/[(#TITRE|enlever_accents)] pour les niveaux d’arborescence primaire

et pour les sous-rubriques par :

<a href="#URL_SITE_SPIP/
                        <BOUCLE_sshierarchie(HIERARCHIE){id_rubrique}>
                        [(#TITRE|enlever_accents)]/
                        </BOUCLE_sshierarchie>[(#TITRE|enlever_accents)/]

Voilà, ça marche :-)

« Ben oui mais c’est quoi la fonction enlever_accents, il l’a pas mon spip ce filtre » allez-vous me dire.

Oui, c’est vrai ça mais je vous en avais déjà parlé plus haut.

Bon ben... va falloir la rajouter dans mes_fonctions.php3 mes poulets :-)

Allez zou :

faites moi un copier/coller de ces lignes dans le fichier qui va bien (mes_fonctions.php3) :

/////////////////////////////////////////////////////////////////////////
////////////////Pour enlever les accents d'un mot
//////VersionPc:
////////"ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàáâãäåçèéêëìíîï©£òóôõöùúûü~ÿ"
/////VersionMac:
///////"¿¡¬?ƒ?«»... ÀÃÕŒœ""''÷Ÿ/€‹›‡·‚„‰ÂÁËÈÍÎÏÌÓÔ?ÚÛÙ?ˆ
/////Pour utiliser la version mac, deplacer le # la ligne au dessus
////////// Exemple : [(#TEXTE|enlever_accents)]
///////////////////////////////////////////////////////////////////////
function enlever_accents($texte){
if (!(is_string($texte)))

    return ("");

  $sortie = strtr($texte,
"ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ",
#"¿¡¬?ƒ?«»... ÀÃÕŒœ""''÷Ÿ/€‹›‡·‚„‰ÂÁËÈÍÎÏÌÓÔ?ÚÛÙ?ˆ
"AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy");
  return $sortie;
}
/////////////////////////////////////////////////////////

Quoi des questions ? Comment ça des questions ? Ben allez y : y a le forum pour ça !

Retour en haut de la page

24 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3

  • Répondre à ce message

    10 décembre 2005 19:37, par osilade

    bah le syteme me semblait intéressant mais oui j’ai vu qu’il y a une contribution qui propose un systeme d’url rewrite avec un systeme /repertoire/article se qui correspond a l’objectif.

    je me demande si il existe un cms qui en natif utilise un system de se type une rubrique = un repertoire ?

    Voir en ligne : site spip

  • Répondre à ce message

    18 octobre 2005 08:09

    Oulala...la version de spip ? 1.4 je pense...

    Mais franchement : cette bidouille n’a plus grand intérêt maintenant que quasiment tous les hébergeurs proposent l’url rewriting.

    La contrib a été approuvée en mars 2003, elle a donc été faite en 2002 et trois ans et demi en informatique ça fait un bail hein :-)

  • Répondre à ce message

    18 octobre 2005 03:25

    Comme d’hab pour quasiment tous les tutos qui sont ici, on ne sait pas la version de SPIP utilisée.

  • Répondre à ce message

    30 septembre 2005 08:08

    validée en mars 2003 poulet :-) (proposée chsé plus combien de temps avant)
    Les Rewrite Rules n’étaient supportées que par peu d’hébergeurs mutualisés.

    Ceci dit je suis d’accord avec toi pour dire qu’on devrait mettre une date de péremption aux contribs :-)

  • Répondre à ce message

    29 septembre 2005 16:09

    Ouhlàlà que c’est laid...

    Et comment tu fais quand on ajoute une rubrique ? Tu ajoutes un fichier à chaque fois ?
    Moi je propose que tu enlèves SPIP et que tu écrives plutôt tes pages en html...

  • Répondre à ce message

    1er juin 2004 20:56, par piwi

    Milles excuses

    erreur de lecture de ma part

    Sorry

  • Répondre à ce message

    31 mai 2004 20:27, par Piwi

    le code à mettre dans mes_fonctions est incrompréhensible.

    Quelqu’un peut me le transcrire pour que je puisse essayer cette fonction qui me semble intéresante.

    Merci à tous
    Pierre

  • Répondre à ce message

    31 mai 2004 19:00, par Piwi

    Le code de mes_fonction_php3 n’est plus lisible dans l’article

    Est ce que quequ’un peut me l’envoyer.
    ou le remettre en état
    Merci
    @+

  • Répondre à ce message

    16 février 2004 16:33

    free a désactivé il y a quelques mois toute une série de fonctions disponibles en standard sur php : c’est un choix unilatéral. Je pense que peu de scripts php non faits sur mesure fonctionneront sur free.
    Le mieux est de prendre un VRAI hébergeur, ils ne sont pas si cher...

  • Répondre à ce message

    16 février 2004 16:22

    Marche po sur free.fr

Pages 1 | 2 | 3

Répondre à cet article

Retour en haut de la page

Ça discute par ici

  • Le plugin saveauto : sauvegarde automatique de la base de données de SPIP

    27 novembre 2006 – 73 commentaires

    Le plugin saveauto permet de réaliser automatiquement une sauvegarde de la base de données de SPIP selon une fréquence et des paramètres configurables.

  • CleverMail

    20 janvier – 71 commentaires

    CleverMail est un plugin permettant d’envoyer des lettres d’informations à des abonnés depuis SPIP. Issu au départ d’un développement libre complètement indépendant de SPIP, il a connu une première version pour SPIP 1.9 avant d’être complètement réécris (...)

  • Diapos

    10 mars – 38 commentaires

    Comme son nom l’indique, c’est un (petit) plugin qui rappelle un peu le fonctionnement d’un projecteur de diapositives. Seules contraintes : il nous faut des images ayant la même largeur et il nous faut numéroter les images. Il suffit pour cela de (...)

  • Forms&Tables 2.0

    31 décembre 2009 – 136 commentaires

    Gestion et administration de formulaires éditables. Ce plugin permet également la publication de sondages et enquètes, la collecte des réponses dans la base de données et le téléchargement au format csv. Ce plugin est une adaptation de la version pour (...)

  • SPIP Zen Garden

    12 novembre 2009 – 68 commentaires

    Le plugin Zen Garden [1], ou Jardin Zen, vous permet de gérer une galerie de thèmes pour votre site, et de changer très facilement de thèmes parmi les thèmes disponibles. Pré-requis Le jardin Zen nécessite d’utiliser un squelette comme le squelette (...)