mod_rewrite et vieilles habitudes

Cela fait deux fois que quelqu’un me contacte pour me dire, en substance, qu’il y a une erreur dans ma gestion des URL de ce blog car l’URL www.dyingculture.net/blog/ est invalide. Nous sommes bien d’accord sur le fait qu’elle est invalide mais le problème ne vient pas de ma gestion des URL mais de vos habitudes. Je m’explique.

L’idée qu’une URL doit se terminer soit par une extension de fichier soit par un slash est assez répandue et est une réminiscence de la manière de créer l’arborescence des sites qui prévalait jusqu’à récemment. Celle-ci était en fait basée uniquement sur la structure physique du système de fichier, ce qui impliquait soit de terminer l’URL par un fichier soit par un répertoire et dans ce cas c’était le fichier par défaut qui était affiché. Seulement, les techniques ont évoluées, les URL significatives sont arrivées et c’est précisément ce type d’URL que j’utilise sur mon site.

La principale différence entre ces deux systèmes est que comme leur nom l’indique le but premier des URL significatives est de donner des informations sur le contenu et la structure logique du site contrairement à l’ancien système qui renseignait sur sa structure physique. Le souci est que quelqu’un qui n’a pas conscience de cela pourra se tromper en voulant jouer avec les URL et c’est précisément ce qui est arrivé ici. En effet, je n’ai jamais indique que mon blog se situait à cette adresse, c’est l’interprétation éronnée de mes visiteurs qui les a induit en erreur.

Une parade pourrait consister à retirer un slash de fin inutile avec mod_rewrite mais personnellement je ne le ferais pas sur ce blog car je considère que corriger les erreurs des gens sans leur en faire prendre conscience ne fait qu’empirer les choses car ils continueront à les commettre et les développeurs devront complexifier leur gestion pour en tenir compte. Je pense que chacun est suffisamment intelligent pour comprendre les choses si on prend la peine de lui expliquer clairement les enjeux et que l’obscurantisme que cultivent certains de mes collègues n’apporte rien à personne.

Bien entendu ceci est mon optique pour mon site personnel, pour un site commercial je peux envisager d’utiliser un correctif transparent.

Ce contenu a été publié dans Développement Web. Vous pouvez le mettre en favoris avec ce permalien.

16 réponses à mod_rewrite et vieilles habitudes

  1. Olivier dit :

    Je suis d’accord mais /blog/ (avec le slash donc) est l’URL que l’on trouve dans ton fil RSS.

    Enfin moi, je dis ?a, je dis rien 😉

  2. JMF dit :

    Olivier> En effet mais le probl?me est que si je met ‘/blog’ comme URL du site, mes URL de billet deviennent fausses car il manque un slash.

    A moins que tu n’ais une autre solution, je pense que je vais devoir hacker DotClear pour contourner ce probl?me.

  3. Olivier dit :

    Bah tu changes l’URL ra?ine dans le fil RSS, en dur.

  4. JMF dit :

    C’est effectivement ce que je comptais faire mais j’aurais aim? trouver une solution plus "propre". 🙂

  5. Mr Peer dit :

    Perso, je suis pour le / final…
    En tout cas, ?a me semble justifi?s dans certains cas : "/blog" n’est pas la fin de ton site, et comme il y aura un autres contenus appartemment ? cette rubrique, le / est justifi? puisque ce n’est pas la fin, en quelques sortes, il indique qu’il y a encore une arborescence derri?re…

  6. JMF dit :

    Mr Peer> ?a se d?fend mais je vois ?a plut?t sous l’angle "je veux aller ? la partie blog" donc le slash final n’apportant strictement rien au niveau de la signification. Il est donc inutile ? mon sens.

    Pour moi une URL est un moyen d’acc?der ? une ressource pas une source d’information sur la structure du site.

  7. Mr Peer dit :

    Oui mais de l? ? dire qu’il n’y a "rien" si on le sp?cifie, c’est peut etre une erreur non ?

  8. JMF dit :

    Mr Peer> Le probl?me si on s’engage dans cette voie est que plusieurs URL vont pointer sur une m?me ressource.

    De plus si on commence ? g?rer certaines erreurs jusqu’o? aller ?
    Qu’elles sont les erreurs ? g?rer et celles ? consid?rer comme de "vraies" erreurs ?

    Encore une fois je parle l? dans l’absolu. Je suis conscient que dans certains cas il faut mettre de l’eau dans son vin. 😉

  9. Olivier dit :

    Tu le g?res pas comme une erreur, tu mets un (/?) dans ta r?gle rewrite et on n’en parle plus 🙂

  10. JMF dit :

    Olivier> Et pourtant s’en est une 😉

    Pour couper court ? ce d?bat et pour continuer ? pr?senter ce blog dans les meilleurs conditions, je vais n?anmoins acc?der ? vos requ?tes.

  11. pk dit :

    Effectivement cet ?quilibre entre la "puret?" du designer / concepteur et les "requ?tes" des visiteurs / utilisateurs n’est pas toujours si ?vident ? trouver. Et je ne pense pas que la diff?rence commercial / perso soit la bonne : d?s qu’il y a du contenu int?ressant, il faut essayer de le rendre accessible. Le meilleur exemple que je connaisse dans cette ligne d’id?e : theyworkforyou.com/ Et un vieil adage informatique veut qu’on doit ?tre sympa avec ce qu’on re?oit mais intransigeant avec ce qu’on renvoie. Je mets la source pour le fun : http://www.usc.edu/webcast/event... :: Jonathan B. Postel :: "Be conservative in what you do, be liberal in what you accept from others."

    (Note : je fais partie de ceux qui ont envoy? un email perso sur le sujet 😉

  12. YoGi dit :

    pour ma part j’ai envie de dire quelque part qu’on s’en fout un peu, qu’il y ait un slash final ou non, du moment qu’on arrive ? consulter l’information, non ?

  13. Anubis dit :

    C’est assez marrant de dire ? Je ne veux pas que /blog/ fonctionne ? en m?me temps que ? Je veux des jolies URI ? puisque de ces 2 phrases, la seconde fait partie du concept ? URI as UI ? et l’inverse de la premi?re aussi 😀

    Le principe de base des ? Cool URI ? est la possibilit? pour l’utilisateur de trancher comme il veut dans l’URL pour obtenir une page coh?rente.

    Par exemple, si je prends ce billet :
    /blog/2004/09/07/266-mod_rewrite-et-vieilles-habitudes
    mon intuition me dit que
    /blog/2004/09/
    va lister tous les billets de septembre 2004
    et que
    /blog/
    va me lister tous les billets…

    Je pense que cela ne peut qu’augmenter l’utilisabilit? que de mettre sur un point d’?galit? plop et plop/, mais ce n’est que mon avis d’internautes 🙂

  14. JMF dit :

    Anubis> Ouh l?, tu me pr?tes des propos qui ne sont pas les miens. 🙂

    Premi?rement, je n’ai jamais dit "Je ne veux pas que /blog/ fonctionne", j’ai dit que cette URL n’?tait pas celle que j’avais d?fini pour cette ressource et que par cons?quent je trouvais normal qu’elle soit invalide.

    Deuxi?mement, je n’ai jamais dit "Je veux des jolies URI" mais que je voulais des URL significatives. La cosm?tique m’interesse moins que l’information v?hicul?e.

    Je suis d’accord que les URL significatives ont notamment pour but de permettre aux utilisateurs de jouer avec. En revanche l? o? je suis en d?saccord c’est dans ta mani?re de jouer avec. Tu raisonnes avec l’id?e que la structure du site est calqu?e sur la structure des fichiers ce qui n’est pas le cas ici. 🙂

    L’id?e sous jacente ? ton raisonnement, et c’est tr?s probablement inconscient, est que les information sont r?parties en r?pertoires et non en unit?s logiques.

  15. Anubis dit :

    Pas du tout, je me fiche compl?tement de savoir si tu as des r?pertoires ou des canards rouge en boite de conserve… Tout ce que je veux, c’est qu’en retirant des pr?cisions de l’URL dans mon navigateur, j’obtienne des informations d’ordre plsu g?n?rale sur ce site.

    Apr?s, le fait de s’arr?ter avant ou apr?s le / d?pend plut?t de ma dext?rit? et de mon ?tat actuel de fatigue que de ma consid?ration sur tes pratiques de d?veloppeur web =)

    Ce que je veux dire est que tu as fait un choix qui n’est pas dans la pens?e commune… Normalement, sur le web, une URL fonctionne qu’il y a ait un / ou pas ? la fin. Et ceci sans m?me penser ? l’architecture sous-jacente. Cela fonctionne partout, et je ne m’int?resse pas du tout au pourquoi, juste au fait que cela fonctionne, sauf chez toi.

  16. xave dit :

    Pour moi /blog est le r?pertoire qui contient le blog… /Blog/2004 est le r?pertoire qui contient les entr?es du blog pour 2004. Je sais bien qu’en r?alit? la moiti? est cr??e ? la vol?e, mais ?a n’emp?che pas toute l’histoire de se servir des dossiers comme paradigme. Du coup /blog/ me semble aussi correct…

    Le probl?me vient plut?t de ceux qui ne consid?rent pas /blog comme un synonime de /blog/, et il me semble que c’est le cas de certaines versions d’Internet Explorer qui ne font jamais de requ?te sur /TrucSansExtension mais demandent tout de suite /TrucSansExtension, alors que c’est au serveur de faire la redirection.

    Enfin je crois.

Les commentaires sont fermés.