JeuWeb - Crée ton jeu par navigateur
htacces et gestion de version - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : htacces et gestion de version (/showthread.php?tid=6134)



htacces et gestion de version - Tryounette - 18-05-2012

Salut à tous Smile

Ca faisait longtemps que je n'étais pas venu sur ce forum (boulot oblige) mais là j'ai besoin de vous.
Après des recherches sur Google et également ici, je n'ai pas trouvé mon bonheur :fache:

Je souhaite mettre en place une architecture de mes dossiers afin de pouvoir gérer simplement les différentes version d'un site web.

L'objectif est d'arriver à ce type d'architecture:
[Image: architectureo.jpg]
  • "V1" étant la version 1 du site
  • "V2" étant la version 2
  • "ressources" contenant les différentes ressources communes (images, vidéos...) au site
  • fichier .htaccess

Ce que j'ai fait, c'est que j'ai ajouté un htaccess à la racine du dossier "mon_site" afin de rediriger l'utilisateur vers la bonne version du site avec le code suivant:
Code :
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/V2
RewriteRule ^(.*)$ /mon_site/V2/$1 [L]

Ce bout de code fonctionne (je suis bien rediriger vers le dossier "V1" ou "V2") mais le problème c'est que je n'ai pas accès aux ressources contenues dans le dossier "ressources" -.-

Voilà, si vous avez une idée ou mieux un bout de code qui marche Confusediffle:

Sinon, si vous avez une idée plus intelligente et plus simple à mettre en oeuvre :bave: pour gérer facilement les versions d'un site, je suis également preneur Big Grin

Merci d'avance.

Tryou :roi:


RE: htacces et gestion de version - niahoo - 18-05-2012

Ben pour gérer les versions tu peux utiliser Git ou SVN et faire une branche par version.

Sinon, avant de faire la redirection tu mets une RewriteCond afin de vérifier si l'URL demandée ne pointe pas vers un fichier existant, auquel cas tu ne réécrit pas l'URL.

Sinon dans chaque dossier V1, V2, tu mets un lien symlink vers les ressources.


RE: htacces et gestion de version - Tryounette - 18-05-2012

Salut niahoo et merci pour ta réponse Smile

Git ou SVN, ça OK pour la gestion de version des fichiers.

Moi ce que j'aimerai faire c'est quelque chose de plus concret techniquement.
En gros, j'ai un site auquel j'accède avec l'URL http://www.mon_site.com.

J'ai créé une nouvelle version de ce site que j'ai mis dans le dossier V2. Quand je rentre l'URL http://www.mon_site.com/V2, j'accède bien à la nouvelle version du site mais j'aimerai que cela soit transparent pour l'utilisateur: quand il tape http://www.mon_site.com qu'il soit redirigé vers la version 2 (vers le dossier V2).
Seulement, j'ai un dossier ressources qui est commun aux 2 versions (afin d'avoir les mêmes ressources pour les 2 versions de site) et c'est là le problème.

J'espère que j'ai été plus clair.

Tryou


RE: htacces et gestion de version - niahoo - 18-05-2012

Et bien dans ton repo git, tu fais une branche pour chaque version.

Quand on se connecte sur monsite.com/ on tombe sur la branche que tu as activée dans git, donc en changeant de branche tu changes la version qui est servie par ton serveur.




RE: htacces et gestion de version - Tryounette - 18-05-2012

Je n'utilise pas Git ni SVN pour ce projet... c'est pour ça que je veux passer par un htaccess.

Et je ne suis pas sûr que même en passant par Git ou SVN ça résolve mon problème du dossier "ressources" qui est commun aux différentes versions.


RE: htacces et gestion de version - archANJS - 18-05-2012

La solution que tu cherches est la suivante :

Code :
RewriteEngine on
RewriteCond $1 !^(V2|ressources)
RewriteRule ^(.*)$ /mon_site/V2/$1 [L]

Mais il reste que la meilleure solution est celle de niahoo ^^


RE: htacces et gestion de version - Tryounette - 18-05-2012

Merci archANJS :wow: :good:
C'est exactement ça que je voulais, ça fonctionne parfaitement !!!

Encore merci !!

Tryou