Le menu
À retenir
Outils
- Convertisseur de code source en HTML
- Générateur de lien en (x)HTML
- Traduction Français-Esperanto online
Vie pratique
Portfolio
Présidentielles
Culture
- Respect des droits d'auteurs et droits voisins — Refus des Mesures Techniques de Protection (MTP)
- Licence globale : finalement je suis contre...
- Lettre à la SACEM : Réaction par rapport au projet de loi DADVSI
- Reprenons en main la culture !
- Gestion Numérique des droits (DRM) : une question de confiance
- Gestion Numérique des droits (DRM) : une question de confiance (2)
Archives
- Septembre 2008
- Aout 2008
- Juillet 2008
- Juin 2008
- Mai 2008
- Avril 2008
- Mars 2008
- Février 2008
- Janvier 2008
- Décembre 2007
- Novembre 2007
- Octobre 2007
- Septembre 2007
- Aout 2007
- Juillet 2007
- Juin 2007
- Mai 2007
- Avril 2007
- Mars 2007
- Février 2007
- Janvier 2007
- Décembre 2006
- Novembre 2006
- Octobre 2006
- Septembre 2006
- Aout 2006
- Juillet 2006
- Juin 2006
- Mai 2006
- Avril 2006
- Mars 2006
- Février 2006
- Janvier 2006
- Décembre 2005
- Novembre 2005
- Octobre 2005
- Septembre 2005
- Aout 2005
- Juillet 2005
- Juin 2005
- Mai 2005
- Avril 2005
- Mars 2005
- Février 2005
- Janvier 2005
- Décembre 2004
- Novembre 2004
- Octobre 2004
Spornikethon
- Mes créations vous plaisent ?
- Vous voulez me soutenir financièrement ?
- Cliquez sur un des boutons ci-dessous selon le montant du dons.
- Merci !
Rouleaux de blogs
Mes préférés
Les amis
- Les bla-blas de Chibi
- Lysel
- Orpheelin
- Nae-chan in Psycholand
- Circée
- Faery Book
- Les bijoux de Hime-Decco
Divers
Mes liens
- Non à la brevetabilité des logiciels en Europe
- Promotion d'artistes proposant de la musique légale et gratuite à télécharger
- Associations pour le Maintien d’une Agriculture Paysanne
- La Bible
- Wikipédia
- Le Trésor de la Langue Française Informatisé
- Liste prête à l'emploi pour Adblock
- Partitions pour guitare classique
- Forum francophone pour les collectionneurs et créateurs de poupées
- Association sportive et culturelle du 13ème arrondissement
Bombardement Google
Utiliser la ré-écriture des url pour définir l'interface applicative (API) d'un site web
Le 15 Juillet 2006 à 10:34
Résumé
Bien souvent les adresses URL d'un site web découle directement de la technologie. Par exemple, pour un site statique, on vera un nom de fichier avec l'extension "html", pour un site dynamique en PHP, on verra l'extension "php", pour un site en Java, on verra les extension "jsp" et "do", etc... De plus, pour les sites dynamiques, l'url pourra contenir en plus des paramètres.
Cette situation présente un inconvénient majeur pour un site public : lorsque le site évolue ou change de technologie, de sorte que les liens internes au site changent, les liens vers les contenus antérieurs à ce changement risquent de ne plus fonctionner, ce qui posera des problèmes lorsque les contenus utilisent des liens qui sont devenus obsolètes. De plus, pour les pages indexables par un moteur de recherches, les résultats renvoyés par ce moteur ne seront plus valables.
La ré-écriture des URLs du serveur Apache va nous permettre de résoudre ce problème, en définissant, pour un projet de site, les URL correspondant à des fonctions ou des opérations sur le site, et ce de manière systématique.
Qu'est-ce que la ré-écriture des URLs
La ré-écriture des URLs est un mécanisme introduit par l'extension mod_rewrite du serveur Apache. Le principe est simple : on définit une liste de modèles de liens susceptible d'être reçus, et chaque modèle est associée à un modèle de lien pour la ré-écriture. Lorsque le serveur reçoit une requête, l'URL demandée est comparée à la liste des modèles. Si un modèle correspond, le serveur utilise le modèle associé pour créer le liens réellement utilisé par le serveur. Si aucun modèle ne correspond, le serveur utilisera l'URL telle quelle, sans ré-écriture.
Ce processus est transparent pour l'utilisateur, autrement dit l'utilisateur n'a pas conscience que l'URL qu'il a demandéé a été ré-écrite.
Définir l'interface fonctionnelle d'un site avec la ré-écriture des URL
En programmation objet, une tâche importante est de concevoir des composants logiciels réutilisables, modulaires, remplaçables, et autres qualités. Pour atteindre ce but, on définit des interfaces pour un composant, autrement dit les fonctionnalités et les paramêtres qui doivent être présentes dans un composant compatible.
La ré-écriture des URL nous permet de faire la même choses pour un site : on définira une série de modèle de liens, en spécifiant la fonction de chaque modèle (affiché une page de catalogue, la fiche d'un trombinoscope, etc...). Par la suite, pour toute évolution nécessitant le changement des liens dans un système sans la ré-écriture, il suffira d'écrire les règles de conversion entre les liens spécifiés et les nouveaux liens réels
Exemples de ré-écriture
Voici un extrait de mes règles de ré-écriture pour ce site. Lorsque je voudrais changer complètement de système de blog, il me suffira de modifier ces règles pour qu'elles continuent de fonctionner, et de rajouter de nouvelles règles pour les nouvelles fonctionnalitées.
RewriteEngine on RewriteRule ^$ /frontalv2/blog.php?vpmPage=blog/david RewriteRule ^rss[/]?$ /frontalv2/rss.php?vpmPage=blog/david RewriteRule ^page/([0-9A-Za-z_/]+)$ /frontalv2/view.php?vpmPage=$1 RewriteRule ^blog/([0-9A-Za-z_]+)[/]?$ /frontalv2/blog.php?vpmPage=blog/$1 RewriteRule ^rss/([0-9A-Za-z_]+)[/]?$ /frontalv2/rss.php?vpmPage=blog/$1 RewriteRule ^archives/([0-9A-Za-z_]+)/([0-9]+)[/]?$ /frontalv2/blog.php?vpmPage=blog/$1&vpmArchive=$2