Auteur Sujet: Site multilingue avec Apache  (Lu 12901 fois)

0 Membres et 1 Invité sur ce sujet

corrector

  • Invité
Site multilingue avec Apache
« Réponse #24 le: 22 janvier 2016 à 03:06:22 »
Merci.

Je n'ai pas besoin de lire le manuel, je voulais ton avis, pas celui du manuel.

Maintenant c'est clair et j'ai effacé mes questions.

vivien

  • Administrateur
  • *
  • Messages: 47 186
    • Twitter LaFibre.info
HTML: comment mettre un site automatiquement dans la bonne langue ?
« Réponse #25 le: 22 janvier 2016 à 09:09:02 »
J'ai fusionné le hors-sujet du sujet Virus Belge qui fait des requêtes http avec une suite infinie de 0123456789 ? avec ce sujet sur la traduction.

Je rappelle les premiers échanges :
Tu peux gérer ça avec l'option MultiViews d'Apache.

Typiquement, tu ajoutes ça dans ta définition DocumentRoot:
Options +MultiViews
AddLanguage fr fr
AddLanguage en en
LanguagePriority fr en
Ensuite, il faut suffixer le fichier HTML correspondant à la version française du document HTML avec l'extension '.fr' (ex.: index.html.fr), et celui associé à la version anglaise par '.en'.
Ça peut être un peu lourdingue à gérer, mais ça fonctionne nickel avec des pages plutôt statiques.

Zut, cela fonctionne bien en .html, mais j'ai des fichiers .php (ce qui permet de faire un "include" pour l'en-tête et le menu qui est commun a toutes les pages)

Multivues ne fonctionne pas en php ?

Multiviews, c'est basé sur le type MIME, ce que demande le client
Or, le client demande du text/html, pas du application/x-httpd-php

Ceci dit, comme ta page php génère le HTML, tu devrais probablement utiliser gettext à la place de multiviews

Je pensais utiliser "gettext" en PHP (cf Internationaliser un site web avec PHP et gettext pour proposer une version française de https://iperf.fr

Si j'ai bien compris, c'est pas une bonne idée pour le référencement Google d'avoir plusieurs langue dans une même url (utilisation de la langue demandée par le navigateur)

Savez-vous comment est réalisé le site https://www.debian.org ?

Quand on navigue sur le site, la langue n’apparaît pas dans l'URL et c'est ce que je souhaite pour iperf.fr : sur un sujet aussi technique les internautes risque de se retrouver sur des sites en anglais qui pointent vers iperf.fr et je souhaite que les liens utilisés ne forcent pas l'Anglais, sinon la version française sera peu utilisée.

Sur le site Debian, si toutes les liens dans les différentes langues sont identiques, sans spécification de la langue ( exemple : https://www.debian.org/News/weekly/ pour les nouvelles), il est possible de forcer la langue et c'est ces pages qui sont indexées par Google :
- Anglais : https://www.debian.org/News/weekly/index.en.html
- Français : https://www.debian.org/News/weekly/index.fr.html
- Espagnol : https://www.debian.org/News/weekly/index.es.html

Je pense que c'est ce modèle qu'il faut que je suive...

Attention https://www.debian.org/News/weekly/index.html renvoie la version anglaise alors que pour la version automatique, il ne faut pas mettre index.html : c'est https://www.debian.org/News/weekly/

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
HTML: comment mettre un site automatiquement dans la bonne langue ?
« Réponse #26 le: 22 janvier 2016 à 18:02:59 »

Savez-vous comment est réalisé le site https://www.debian.org ?


Il est fait avec wml,donc voici la doc et un exemple http://thewml.org/example/

y'a le source complet du site ici: https://www.debian.org/devel/website/using_cvs
en consultation ici: http://anonscm.debian.org/viewvc/webwml/webwml/

pourquoi tu utilises du php pour iperf.fr ?


Darklight

  • Abonné Free adsl
  • *
  • Messages: 648
  • Free non-dégroupé (77)
Site multilingue avec Apache
« Réponse #27 le: 22 janvier 2016 à 20:52:13 »
Sur un post précédent j'avais justement trouvé un script PHP qui retourne la langue préférée dont le coefficient q est le plus élevé, pour ceux que ça intéresse. C'est utile pour choisir quelle langue afficher si le visiteur arrive en tapant le domaine directement.
Citer
https://www.dyeager.org/2008/10/getting-browser-default-language-php.html

Actuellement j'ai ça : "fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3"

Citation de: Vivien
Si j'ai bien compris, c'est pas une bonne idée pour le référencement Google d'avoir plusieurs langue dans une même url
En gros c'est ça, il faut qu'il y ait au moins une variation qui distingue la langue, soit par le domaine/sous-domaine ou avec un dossier... Mais ça parait logique : sinon en fonction des paramètres transmis par le Googlebot, celui-ci aurait du contenu différent en allant sur la même page, c'est pas cool pour le référencement.


vivien

  • Administrateur
  • *
  • Messages: 47 186
    • Twitter LaFibre.info
HTML: comment mettre un site automatiquement dans la bonne langue ?
« Réponse #28 le: 22 janvier 2016 à 21:09:50 »
Il y a aussi ce script : http://forum.alsacreations.com/topic-20-44955-1-RESOLU-Detecter-la-langue-du-navigateur-et-faire-un-redirect-en-php.html

<?php
	
$lang substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02);
	
if (
$lang != 'fr')
	
    
$lang 'en';
	
header("Location: $lang/index.html",TRUE,301);
 
?>



pourquoi tu utilises du php pour iperf.fr ?

Pour le menu, ne pas avoir à recopier des bout entier de code. Sur chaque page, j'ai des "include" pour ne pas avoir à recopier le code dans chaque page :
<?php include("include/en-tete-en.php"); ?>
<?php 
include("include/menu-en.php"); ?>


Le php ne sert que pour cela (avant c'était des fichiers .html)

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
Site multilingue avec Apache
« Réponse #29 le: 22 janvier 2016 à 21:13:59 »
pourquoi tu fais pas des "server side includes"? c'est fait pour ca justement

https://fr.wikipedia.org/wiki/Server_Side_Includes

Darklight

  • Abonné Free adsl
  • *
  • Messages: 648
  • Free non-dégroupé (77)
Site multilingue avec Apache
« Réponse #30 le: 22 janvier 2016 à 21:18:53 »
Comme iperf.fr semble être assez simple et pas trop grand à gérer : du contenu sur quelques pages, tu peux mettre les deux versions manuellement dans les dossiers /fr et /en, tandis que pour le contenu commun comme le CSS, images et JS tu le réutilise avec un chemin absolu. Il faut mettre les redirections pour faire comprendre aux moteurs de recherche que ça a bougé.

corrector

  • Invité
Site multilingue avec Apache
« Réponse #31 le: 22 janvier 2016 à 21:46:53 »
En gros c'est ça, il faut qu'il y ait au moins une variation qui distingue la langue, soit par le domaine/sous-domaine ou avec un dossier...
Et donc on est d'accord que la langue peut aussi être un paramètre d'URL?

vivien

  • Administrateur
  • *
  • Messages: 47 186
    • Twitter LaFibre.info
Site multilingue avec Apache
« Réponse #32 le: 22 janvier 2016 à 22:15:44 »
pourquoi tu fais pas des "server side includes"? c'est fait pour ca justement
Je ne connaissais pas.

"server side includes" + option MultiViews d'Apache pour proposer plusieurs langues, cela permettrait de gérer bien la chose.

Il me semble que le MultiViews ne pose pas de problème pour Google (contrairement à gettext) car il est possible d'accéder à index.html.fr et index.html.en (en plus de index.html qui choisit la bonne version automatiquement)

Comme iperf.fr semble être assez simple et pas trop grand à gérer : du contenu sur quelques pages, tu peux mettre les deux versions manuellement dans les dossiers /fr et /en, tandis que pour le contenu commun comme le CSS, images et JS tu le réutilise avec un chemin absolu. Il faut mettre les redirections pour faire comprendre aux moteurs de recherche que ça a bougé.
Le problème, c'est que les URL français  / anglais sont différentes.

Je trouve sympa de pouvoir avoir un lien qui sera redirigé dans la bonne langue comme Debian (sinon, je pense que seul la version anglaise sera visible sur Google, car les sites qui pointent sur iperf.fr sont presque tous en langue anglaise, donc ils ne pointeront pas vers la version française - pourtant il y a des français qui vont sur ces pages en anglais - comme c'est souvent le cas pour les sujets assez technique).

corrector

  • Invité
Site multilingue avec Apache
« Réponse #33 le: 22 janvier 2016 à 22:25:27 »
C'est que tu n'a pas bien lu, Google veut (dans sa position de quasi-monopole)
Google n'a aucun monopole sauf bien sûr celui de google.com (et .fr etc.).

que le contenu en différentes langues soit distinct, soit par domaine, sous-domaine ou URL.
Tu n'as compris ni ce que raconte Google ni ma question.

Ma question :
Pourquoi gogol aurait du mal avec un paramètre?

En effet si sur la même page avec la même url, le contenu apparait dans deux langues différentes, selon ce que fournit le navigateur comme informations ça va pas le faire.
Je comprends ce que tu veux dire même si tu t'exprimes comme un pied. Je reformule ta phrase :

"Si le contenu affiché sur un GET depend de facteurs autres que l'URL, alors ce n'est pas gérable par les moteurs d'indexation."

Et a contrario :

Si le contenu affiché sur un GET ne depend que des paramètres de l'URL, alors c'est gérable (naturellement et facilement) par les moteurs d'indexation.

Mais en fait, ton problème est que tu n'as pas l'air de bien connaitre le HTTP.

Breizh 29

  • Client Bouygues Fibre +
  • Abonné Orange Fibre
  • *
  • Messages: 4 279
  • Guilers 29820 (29N)
HTML: comment mettre un site automatiquement dans la bonne langue ?
« Réponse #34 le: 22 janvier 2016 à 22:33:56 »
Pour le menu, ne pas avoir à recopier des bout entier de code. Sur chaque page, j'ai des "include" pour ne pas avoir à recopier le code dans chaque page :
<?php include("include/en-tete-en.php"); ?>
<?php 
include("include/menu-en.php"); ?>


Le php ne sert que pour cela (avant c'était des fichiers .html)
Oui c'est ce que je faisais pour mes sites, mes 1ère pages étaient en html, mais faire un changement c'était modifier 30 pages. Alors qu'avec les "include" tu ne modifies que un "banner.php" par exemple et c'est super rapide.
Tu crées juste un tableau et pour chaque morceau c'est un "include".
C'est super pratique et tu gagnes temps fou.

corrector

  • Invité
Site multilingue avec Apache
« Réponse #35 le: 22 janvier 2016 à 23:16:12 »
Je pensais utiliser "gettext" en PHP (cf Internationaliser un site web avec PHP et gettext pour proposer une version française de https://iperf.fr

Si j'ai bien compris, c'est pas une bonne idée pour le référencement Google d'avoir plusieurs langue dans une même url (utilisation de la langue demandée par le navigateur)

Savez-vous comment est réalisé le site https://www.debian.org ?
D'une façon qui ne marche pas parfaitement avec Google!

https://www.google.fr/search?q=Debian+est+bien+plus+qu%27un+simple+système+d%27exploitation+%3A+il+contient+plus+de+43000+paquets

donne en premier https://www.debian.org/index.fr.html

En revanche :
https://www.google.fr/search?q=Debian+provides+more+than+a+pure+OS%3A+it+comes+with+over+43000+packages%2C+precompiled+software

donne comme résultat
https://www.debian.org/

ce qui n'est pas bon pour les utilisateurs qui préfèrent le français!