nota-bene.org > Sur le web > Remontage d’un site, jour 1 : les permaliens

Remontage d’un site, jour 1 : les permaliens

À propos de cet article

Un article de Stéphane

Publié le 12 avril 2004

URL courte : http://nota-bene.org/48

4 commentaires

Mots-clés (tags)

On va faire en sorte de créer des permaliens plus explicites avec spip. C’est presque facile, et ça ne rapporte presque rien, sauf de la satisfaction personnelle.

Dans l’article de présentation de la refonte, je vous parlais des permaliens.

Définition des permaliens

Permalien c’est une francisation de ’permalink’, lui-même une abréviation de ’permanent link’, lien permanent. L’idée, qui me chatouille depuis un moment (voir Making "clean" URLs with Apache and PHP), c’est de remplacer des liens qui semblent issus d’une base de données par des liens plus “naturels”.

Par exemple l’article que vous êtes en train de lire, dans spip, est invoqué par un fichier de script PHP, article.php3, qui appelle l’identifiant de l’article (cet article est le numéro 48). Ce qui nous donne : article.php3?id_article=48.

Pour améliorer les choses, les auteurs de spip ont fourni “en série” de quoi écrire des adresses où le type de langage utilisé n’est plus explicite : article48.html. Cette démarche répond à plusieurs besoins, notamment celui d’obfuscation (cacher le langage utilisé par sécurité), celui de la rapidité de frappe directe de l’URL dans le navigateur, celui de vouloir montrer qu’on propose du HTML au navigateur, etc. (j’en oublie sans doute)

Des permaliens plus explicites

Tout cela était bel et bien et bon, mais j’ai fait mon caprice : je voulais des liens plus ’jolis’.

Pour le moment, voilà ce qui fonctionne : remontage_jour1. C’est joli, non ?

En revanche la gestion des erreurs 404 (page non trouvée) n’est pas encore idéale : ça tombe bien, ça fait partie des éléments que je veux encore parfaire, voir la liste que j’ai établie.

Détails techniques

Je voulais vous détailler ici tous les points que j’ai dû modifier dans le site, mais ce serait un peu long et je ne suis pas sûr que ça intéresserait les non-spipeurs. Je vais donc écrire une contribution pour SPIP-Contrib et je vous dirai quand elle sera approuvée. Au pire si elle n’est pas publiée là-bas, je la posterai ici, tiens.

Étape suivante : entrées de blog

Note mentale : dans les jours à venir, faire la même chose pour que /2004/04/01 pointe vers la liste des articles et des brèves du premier avril, que /2004/04 pointe vers la liste pour avril, etc.


Commentaires

    • 15 avril 2004

    « je la posterai ici »

    je la publierai

    Répondre à N.K.

    • 15 avril 2004
    • en réponse à N.K.

    Tu as raison.

    Je lis trop d’anglais, ça déteint.

    Répondre à Stéphane

    • 3 mai 2004

    Pour ce qui est des URLs type « /2004/04/ » et autres, voilà ce que j’ai fait sur Gastero Prod :

    RewriteRule ^([0-9]{4}/)?([0-9]{1,2}/)?([0-9]{1,2}/)?(.*_)?([0-9]+)\.html$ /article.php3?id_article=$5 [QSA,L]
    RewriteRule RewriteRule ^([0-9]{4})/([0-9]{1,2})/.*$ /mois.php3?date=$1-$2-01 [QSA,L]
    RewriteRule ^([0-9]{4})/.*$ /annee.php3?date=$1-01-01 [QSA,L]

    Après, il faut aller voir les squelettes correspondants :
    * mois.html
    * annee.html

    Gastero Prod

    Répondre à Nicolas Hoizey

  • Bien vu, j’allais partir dans une solution plus compliquée avec un seul fichier pour traiter les cas différents.

    Je vais éplucher tes squelettes.

    Merci.

    Répondre à Stéphane

Qui êtes-vous ?
Votre message
  • Pour créer des paragraphes, laissez simplement des lignes vides. Tous les liens sortants comporteront un attribut rel="nofollow". Merci de ne pas spammer.

Ceci est la version Bureau Afficher la version Mobile