begin process at 2012 05 31 15:39:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

site multilingue et multiextension


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

site multilingue et multiextension

samedi 25 septembre 2010 à 14:27:40 | site multilingue et multiextension

samt01

Bonjour,

Voilà j'ai plusieurs url avec des extensions différentes :

www.example.com
www.example.fr
www.example.it
www.example.es

et j'aimerais, en fonction du choix de la langue de l'internaute le dirigé vers telle ou telle url.

Quelle est la technique que vous adoptez ?

j'aimerais aussi savoir comment s'effectue le paramètre de ces quatre url au niveau de l'hébergement.

Et quand une personne tape pour la première fois, l'url :

www.example.es

comment faire en sorte que ce soit la langue espagnole qui s'affiche.
J'utilise sur une mêm page des include php enf contion des langues.
je suis donc obligé de faire un test sur l'URL ?
samedi 25 septembre 2010 à 15:14:05 | Re : site multilingue et multiextension

neigedhiver

Salut,

Tu as de nombreuses configurations possibles, que ce soit au niveau d'apache ou de la conception de ton site. Il n'y a pas une manière de faire mieux que les autres, tout dépend de tes exigences et des contraintes que tu as.

Pour éviter de dupliquer ton site sur ton serveur, le mieux est d'utiliser un unique répertoire de publication et de configurer Apache pour que le site pour qu'il accepte chaque domaine. Il suffit pour cela d'utiliser la directive ServerAlias dans la configuration du VirtualHost Apache.

Le changement de langue peut se faire de multiples manières, à toi de voir. Tu peux utiliser la variable $_SERVER['HTTP_ACCEPT_LANGUAGE'] pour savoir quelles langues sont configurées dans le navigateur et fournir le contenu le plus approprié en fonction des priorités des langues de l'utilisateur.
Tu peux utiliser un cookie après un clic sur un lien. Tu peux utiliser un formulaire (une liste déroulante).

Quand on tape monsite.es, il faut vérifier le TLD (.es dans ce cas) dans l'URL. Tu peux t'en dispenser avec une règle de réécriture dans la configuration d'Apache, par exemple quelque chose qui ressemble à ça :
Code :
RewriteCond    %{REMOTE_HOST}    \.es$
RewriteRule    (.*)    $1?lang=es [L,QSA]

Il faudra alors tester la variable $_GET['lang']

Voilà, en gros.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
dimanche 26 septembre 2010 à 11:32:10 | Re : site multilingue et multiextension

samt01

Bonjour Neigedhiver et merci pour ta réponse.

Tu as effectivement bien cerné mon problème et il y une partie de ta réponse qui m'intéresse particulièrement



Quand on tape monsite.es, il faut vérifier le TLD (.es dans ce cas) dans l'URL. Tu peux t'en dispenser avec une règle de réécriture dans la configuration d'Apache, par exemple quelque chose qui ressemble à ça :
Code :

RewriteCond %{REMOTE_HOST} \.es$
RewriteRule (.*) $1?lang=es [L,QSA]


Il faudra alors tester la variable $_GET['lang']

A quel endroit dois-je paramétrer ça


RewriteCond %{REMOTE_HOST} \.es$
RewriteRule (.*) $1?lang=es [L,QSA]

Dans le fichier .htaccess ?

Voici mon code actuel :

Code PHP :

 
if(!empty($_COOKIE['lang']))$lang=$_COOKIE['lang'];
if(!empty($_GET['lang']))$lang=$_GET['lang'];
if(!empty($lang) && ($lang=='eng' || $lang=='fr' || $lang=='esp')){
  include('lang-'.$lang.'.php');
  setcookie('lang',$lang,time()+3600*25*365,'/');
}else include('lang-eng.php');
 
// ajout du code de Dunbar
 
$lang = (isset($_SESSION['lang']) ? $_SESSION['lang'] : 'com');
 
header("Location: http://www.example. .$lg);




Mais je pense qu'il faut que je l'adapte avec ce que tu m'as donné.

Si je fais en fonction de l'extension, je n'ai plus besoin d'utiliser les cookies, puisque la variable $lang est créée en fonction de l'url.


Qu'en penses-tu ?


dimanche 26 septembre 2010 à 13:12:08 | Re : site multilingue et multiextension

neigedhiver

Salut,

Il s'agit de directives de configuration Apache. Ca se met donc :
- soit dans le fichier de configuration du VHost, entre <Directory ...> et </Directory>
- soit dans un fichier .htaccess à condition qu'Apache soit configuré poru l'autoriser (cf directive AllowOverride)

L'autre solution (si tu ne peux pas configurer Apache à ta guise, ce qui serait dommage sur un projet comme ça) consiste à vérifier le tld dans un fichier php commun à toutes tes pages et à rediriger le cas échéant. Attention toutefois à ne pas oublier les arguments si tu dois rediriger...

En effet, si tu utilises uniquement le tld pour définir la langue, pas besoin de cookie.

Je crois que je voulais dire autre chose, mais j'ai zappé...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
dimanche 26 septembre 2010 à 22:02:23 | Re : site multilingue et multiextension

samt01

Ok, merci Neige,
je me suis renseigné auprès de mon Hébergeur PlanetHoster, et le fichier .htaccess est paramétrable (ouf!!!). Je peux faire de l'UrlRewriting et je vais mettre le code que tu m'as indiqué (qui est très précieux pour moi, merci encore).
dimanche 26 septembre 2010 à 22:57:02 | Re : site multilingue et multiextension

neigedhiver

J'espère que tu ne feras pas un bête copier/coller... D'ailleurs, je n'ai pas testé le code que j'ai donné... Juste, a priori, il est correct, mais bon, j'ai encore du mal à dompter l'URL Rewriting d'Apache...
Cela dit, c'est forcément faisable par ce biais. Faudra peut-être adapter un peu, tester, bidouiller... le bonheur, quoi ;)

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
lundi 27 septembre 2010 à 09:12:28 | Re : site multilingue et multiextension

samt01

Ha heureusement que tu me le dis ...

Je pensais que c'était du vécu .

En plus je ne savais pas que l'on pouvait générer des variables en se servant de l'UrlRewriting...

Décidément, j'en apprends tous les jours.

Merci Neige.
lundi 27 septembre 2010 à 09:24:55 | Re : site multilingue et multiextension

neigedhiver

C'est tout du vécu. Mais pas forcément exactement la même situation. Mon expérience et ma connaissance de la doc d'Apache me permettent de dire que c'est faisable, de la manière que je te montre. C'est juste que le code... Je ne donne aucune garantie.

La condition (RewriteCond) est bonne, c'est sûr. Mais la règle, j'ai déjà eu des surprises : Apache ne réagissait pas comme je m'y attendais, d'où mes réserves.
Ce qui est sûr, c'est qu'il ne faut pas oublier le flag QSA (Query String Append) qui permet de rajouter les arguments GET de la règle aux arguments éventuellement déjà existants.

Le code donné est peut-être aussi à adapter en fonction des URL que tu utilises, si jamais tu fais déjà de l'URL rewriting. Bref, j'ai indiqué la marche à suivre d'une manière générale, à toi de l'adapter à tes besoins et ta configuration spécifiquement.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
lundi 27 septembre 2010 à 16:08:58 | Re : site multilingue et multiextension

samt01

Neige,

on me dit que le choix de domaines que j'ai effectué n'est peut-être pas judicieux..

En effet, j'ai bloqué le .com et j'ai choisi que ça sera la langue anglais...

Seulement, on me fait remarqué à juste titre que le .com est réservé pour le domaine commercial et pas pour les anglophones.

Duu coup jje ne sais pas trop ce qu'il faut que je fasses...

Tu as une idée .
lundi 27 septembre 2010 à 16:33:37 | Re : site multilingue et multiextension

neigedhiver

Ben c'est toi qui vois... C'est ton site à toi, ou pour quelqu'un d'autre ?

Certes, le .com est à vocation commercial, c'est ce que veux dire com. Mais les TLD nationaux (.fr, .es etc) n'ont pas vocation à indiquer la langue : uniquement le pays dans lequel l'entreprise (ou la personne) se situe. Ce n'est finalement qu'une indication qui vaut ce qu'elle vaut, les règles d'attribution variant d'un pays à l'autre. Ainsi, en France il est obligatoire de résider en France pour un particulier (ou d'avoir juste une adresse en France), d'avoir un établissement en France pour une entreprise (ou de justifier d'une activité économique suffisament importante, je crois).
Dans d'autres pays, c'est tellement permissif que n'importe qui, où qu'il habite, peut choisir un nom de domaine avec le TLD national.

Tu peux donc décider que le .com est le site par défaut, dans une langue par défaut. Celle de ton choix. S'il fait doublon avec un .uk ou un .us, pour éviter la duplication de contenu (peu appréciée par les moteurs de recherche) tu peux simplement rediriger vers le site en langue anglaise.

Ou alors, la page d'accueil du .com ne contient que des liens vers les sites localisés.

Tout est imaginable, il existe d'autres possibilités, à toi de voir ce qui te plait, ce qui te parait logique, cohérent, rationnel...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)

1 2

Cette discussion est classée dans : site, url, www, example, multilingue


Répondre à ce message

Sujets en rapport avec ce message

Opengl [ par nicolas66 ] Sur le site www.manucorp.com j'ai vu qu'il serait possible de rajouter l'extension OpenGl. G téléchargé le pack mé le pb c ke g installé ca sans trop fin de fichier [ par morgandetoi06 ] hellole moteur de recherche du site par en sucette donc je pose ma question sur le forum meme si la solution doit etre deja expliquée dans le site...c COMMENT RECUPERER L'URL SAISI SUR UN SYNONYME ? [ par djpardo ] Je souhaite connaitre le nom de l'URL saisi lorsque j'arrive sur la première page d'un site ayant 3 synonymes. (Le but est de tester l'origine et de r Forcer le telechargement d'une video DISTANTE [ par zzzzzz ] Salut donc j'aimerai forcer le telechargement d'une video distante. C'est a dire que la fenetre Open Save as ect... s'ouvre, et non pas que la video s petit pb [ par naniekrea ] bonjour, j'ai un p'tit pb sur un site administré via base de donnéesur www.cdv88.com,j'ai un message d'erreur sur les diaporama administrés : Warning Empecher l'acces DIRECT à un fichier... [ par lavren ] Bonjour,je ne sais pas trop sur qu'elle site m'adressait car je n'ai aucune idée de la facon dont ce systeme fonctionne. En effet j'ai découvert un si une question pour ajouté un script sur un top-site merci [ par viriis ] Bonjour, j'ai 2 sites a mon actif http://www.6sexe9.comhttp://www.viriis.comIl ce trouve un top site sur les pagehttp://www.6sexe9.com/top/http://www. Textarea = > HTML OK mais comment faire l'inverse [ par ranouf ] En me baladant sur le net g trouve cette 'petite' fonction qui me transform comme il faut ma textarea en HTML (nb : grace au bbcode)//---------------- Url Multiple sur un site à présentation multiple [ par bercal ] Bonjour.Je voudrais réaliser un site sur lequel on pourrait accéder par plusieurs url (exemple : www.machin.com , www.truc.com, www.bidule.com ) sans comment fabriquer une marque blanche ? [ par fyav ] je souhaites proposer mon http://www.site.com à un autre site (http://www.autre.com)je souhaiterais que http://www.autre.com mette un script ou autre


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales