SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 242 visiteurs en ce moment

Accueil > Multilinguisme > Arabe > Développer un site Web arabe

Développer un site Web arabe

22 janvier 2003 – par George – 61 commentaires

96 votes

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

Les trois attributs qui permettent l’internationalisation du HTML sont :
-  « lang » (language) ;
-  « dir » (direction) ;
-  « charset » (character set).

Ces trois attributs prennent une importance considérable quand il s’agit de développer des sites en arabe. En effet, si par exemple l’attribut « dir » n’est pas utilisé dans les sites qui utilisent des langues s’écrivant de gauche à droite (cette direction étant par défaut), il est en revanche indispensable pour les sites en arabe (et toute autre langue qui s’écrit de droite à gauche comme le persan ou l’hébreu).

« lang »

L’attribut s’écrit : lang = "language-code"
L’attribut défini la langue de base des valeurs des attributs d’un élément et le texte que cet élément contient.
Dans le cas de l’arabe l’attribut s’écrit lang="ar".

Il faut faire la différence entre deux situations d’utilisation de l’attribut :
-  Si la langue primaire de la page (ou la langue par défaut) est l’arabe, l’attribut est ajouté à la balise <html> du document : <html lang="ar"> ;
-  Si la langue primaire de la page n’est pas l’arabe, l’attribut s’ajoute à la balise qui défini le contenu arabe, par exemple : <p lang="ar">.

En ce qui concerne l’héritage, un élément prend le code langue de l’attribut « lang » de cet élément ou de son parent le plus proche.

« dir »

L’attribut s’écrit : dir = "ltr | rtl" (left to right- valeur par défaut - ou right to left).

L’attribut défini la direction de base d’un texte à direction neutre (c’est-à-dire un texte qui n’a pas de définition de direction inhérente comme définie par UNICODE - voir The Bidirectional Algorithm) dans le contenu d’un élément.

Cet attribut permet aux langues qui s’écrivent de droite à gauche comme l’arabe d’apparaître dans le navigateur effectivement de droite à gauche.

Comme pour l’attribut « lang », il existe deux cas de figure :
-  La direction par défaut de la page est de droite à gauche, et l’attribut s’ajoute à la balise <html> : <html dir="rtl">.
-  La direction de la page est de gauche à droite, et l’attribut s’ajoute aux valeurs des attributs de l’élément qui contient le texte de droite à gauche : <p dir="rtl">.

En général, et en ce qui concerne l’arabe, les deux attributs « lang » et « dir » sont utilisés de concert : <html lang="ar" dir="rtl"> ou <p lang="ar" dir="rtl">.

« charset »

Contrairement à d’autres langues, la langue arabe n’a pas eu beaucoup de chance avec l’informatique. Et bien qu’il y ait eu un standard ISO (ISO-8859-6) pour adresser le jeu de caractères arabes, pratiquement chaque compagnie de matériel ou de logiciel a « inventé » son jeu à elle (IBM, Microsoft, Apple, Linotype...). De tous ces jeux de caractères propriétaires il ne reste plus effectivement en utilisation que deux : Mac arabe et Windows arabe. Le résultat est que si on produit un texte arabe sur Mac, ce texte n’est pas lisible sur Windows ou sur Unix-Linux, sauf dans le cas particulier où une application supporte les deux jeux de caractères (même la version arabe de Microsoft Word a besoin d’une extension non fournie en standard pour lire les textes en Mac arabe).

On aurait pu croire que le standard ISO réglerait le problème, mais les applications qui sauvegardent le texte en arabe ISO se comptent sur les doigts d’une seule main.

Avec l’arrivée de UNICODE (UTF8), le problème semblait se résoudre car les deux systèmes (Mac et Windows) supportent ce standard.
Tout cela influence évidemment le choix du codage des sites arabes. Si on s’en tient à une vision étroite et non professionnelle des choses, on sait que la grande majorité des utilisateurs arabes du web utilisent Internet Explorer sous Windows et donc que le plus simple est de choisir le codage Windows pour les textes arabes (Windows-1256).

Mais le problème devient un peu plus compliqué quand on décide de travailler avec logique car le plus grand facteur reste la version du navigateur que le visiteur utilise.
-  Si le visiteur utilise une vieille version de Internet Explorer (jusqu’à 4) sous Windows, il ne peut voir que le codage Windows-1256 (quoique la version 4 supporte plus ou moins ISO-8859-6).
-  Si le visiteur utilise une vieille version de Navigator (jusqu’à 4.x) sous Windows ou sous Macintosh il lui faut passer par les préférences de l’application et utiliser le codage « User Defined » pour avoir une chance d’entr’apercevoir de l’arabe x-mac-arabic sur Mac ou Windows-1256 sur Windows.
-  Par contre, si le visiteur utilise une nouvelle version de Navigator ou Mozilla, sous Mac ou Windows ou Linux, tous ses problèmes seront réglés car ces applications supportent correctement pratiquement tous les codages arabes même x-mac-arabic et IBM-864 qui n’est pratiquement pas utilisé, et plus spécialement ISO-8859-6 et UTF8. Il faut signaler, toutefois, que les versions Mac ont tendance à perdre un peu du formatage des textes.
-  En revanche, et en ce qui concerne Internet Explorer, les nouvelles versions sous Windows supportent Windows-1256, ISO-8859-6 et UTF8. Mais les versions pour Mac ne supportent rien du tout, ce qui fait que si on veut visiter des sites arabes à partir d’un Mac il faut avoir Navigator 6 ou Mozilla.
-  Quant à Opera, il supporte UTF8 et, théoriquement, ISO-8859-6 et UTF8, mais ces deux derniers formats ne marchent pas sur Mac, en plus Opera a tendance à ne pas supporter la direction de droite à gauche.

Ces observations supposent que le système du visiteur comporte des polices de caractères arabes pour permettre au navigateur d’afficher correctement les pages arabes, sauf dans le cas de Internet Explorer sous Windows qui installe lui-même des polices arabes lors de son installation ce qui permet de voir des pages arabes sans avoir nécessairement un système qui supporte l’arabe.

Je n’ai pas testé d’autres navigateurs mais les commentaires sont les bienvenus.

En conclusion, le développeur doit toujours faire un choix en fonction de son public et des versions des navigateurs que ce public utilise. Mais ce choix est, à mon avis très momentané car il y a de moins en moins de vieilles versions en circulation ce qui lui laisse le choix de coder soit en ISO-8859-6 soit eb UTF8 sauf cas bien particuliers (intranet par exemple).
Et donc, il aura à utiliser l’attribut « charset » de la façon suivante :

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-6">
ou
<meta http-equiv="Content-Type" content="text/html; charset= UTF8 ">
dans les balises "meta" de ses pages.

Finalement, la condition minimum pour la création d’un site arabe est d’utiliser les trois attributs « lang », « dir » et « charset », par exemple :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<HTML lang="ar" dir="rtl">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Un document bilingue</TITLE>
</HEAD>
<BODY>

... يظهر بالعربية...

<P lang="fr" dir="ltr">... Interprété en français... </P>

<P>

... يظهر بالعربية مجدداً...

</P>
<P>

...نص عربي يتداخل فيه<EM lang="fr">du français </EM> يعود العربي مرة اخرى هنا...

</BODY>
</HTML>

Des sites arabes avec SPIP

Qu’on veuille développer un site arabe ordinaire ou un site basé sur un système de publication comme SPIP, on utilise toujours les trois attributs précédents.

La nouvelle fonctionnalité que la version 1.5 de SPIP a introduite (jeu de caractères du site dans les fonctions avancées de l’administration du site) facilite grandement la création de sites arabes. En effet, cette fonction est venue épargner à l’utilisateur la peine d’éditer directement la base de données pour introduire le jeu de caractères à utiliser dans le site d’un coté, et d’un autre coté, ajouter un nouvel attribut #CHARSET aux squelettes lui épargnant aussi l’ajout de cet attribut manuellement.

En effet, il suffit, avant de commencer la création du site de spécifier le jeu de caractères à utiliser dans les fonctions avancées de l’administration du site (dans notre cas, cocher « alphabet universel (utf-8) » ou le choix « jeu de caractères personnalisé » pour choisir ISO-8859-6). Ce choix apparaîtra dans les squelettes du sites dans la balise :

<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET">

si on utilise les squelettes livrés avec SPIP évidemment, sinon il faut la créer dans les squelettes.

Comme SPIP a réglé l’affaire de l’attribut « charset », il reste les deux autres qu’il faut introduire dans les squelettes, ce qui redevient un problème de création de pages ordinaire, puisque ces attributs ne relèvent en rien du code de SPIP.

Dans la version de SPIP 1.5.1 par exemple, les balises <html> des squelettes fournis par défaut ont toutes un attribut lang= "fr". Si le site à développer est français mais doit contenir de l’arabe localement, il ne faut pas toucher à l’attribut de cette balise mais ajouter lang= "ar" aux valeurs d’attributs des éléments qui vont contenir de l’arabe. Par contre si le site doit être en arabe, il faut remplacer « fr » par « ar » dans les attributs « lang » des balises <html> des squelettes et appliquer lang= "fr" localement si le site contient du français.

Quant à l’attribut dir="rtl" , il n’est pas intégré dans les squelettes de SPIP et donc il faut l’ajouter à la balise <html> si la langue principale du site est l’arabe et localement sinon.

Quelques questions pratiques

Le problème des sites arabes dans la partie privée apparaît quand on veut créer un nouvel article (ou brève) ou le modifier. En effet les navigateurs n’afficheront pas le texte de l’article de droite à gauche pendant l’édition pour la simple raison que la direction de la partie privée est de gauche à droite. Seul Internet Explorer sous Windows peut afficher les fenêtres des textes de droite à gauche quand on clique par exemple dans la fenêtre du texte et qu’on appuie sur Ctrl + Maj droit.

Dans les autres situations, il faut soit se contenter d’éditer le texte en le regardant de gauche à droite ce qui est énervant soit éditer le texte dans une autre application et le copier dans la fenêtre de SPIP... soit attendre la version arabe de la partie privée.

P.-S.

Pour voir un site en arabe développé avec SPIP, visiter :
Diwan al Arab

Dernière modification de cette page le 23 janvier 2016

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 8 novembre à 12:49, par djavida En réponse à : Développer un site Web arabe

    Bonjour,
    j’ai une application qui demande d’entrée un nom en français et en arabe ,
    j’aimerai bien programmer la case de français pour le clavier français ; et la case en arabe pour le clavier arabe comment je peux faire ça,
    aidez moi svp.

    Répondre à ce message

  • Le 22 janvier à 16:02, par Shnoulle En réponse à : Développer un site Web arabe

    Une question : avec Spip 3 c’est par défaut du HTML5 et de l’utf8. Quasi tous les hénergements sont en UTF8 aujourd’hui.
    On ne parle plus de IE4 , presque plus de IE6. UTF est devenu la norme .

    Cet article semble compliquer les choses, et me semble n’être que des piostes d’il y a plusieurs années .

    Ne faudrait il pas mettre un avertissement au début de l’article ? A moins que cela soit encore difficiele de faire un site en arabe sous spip ?

    Répondre à ce message

  • Le 27 mars 2010 à 08:50, par ? En réponse à : Développer un site Web arabe

    bonjour
    j’ai un code arabe ne fonctionne pas malgre j’utilise le codage utf-8
    et dans le meta lang arabe
    y a t-il quelqu’un peut m’aider
    <?php
    $a
    ="abc";
    echo
    "$a[1]"donne a //c a dire bien fonctione

    //mais
    si je fais
    $b
    ="مثال";
    echo
    "$b[1]"donne ?//ce mon probleme
    ?>

    merci d’avance

    • Le 27 mars 2010 à 11:56, par George En réponse à : Développer un site Web arabe

      Vous ne pouvez pas traiter les lettres arabes comme les lettres latines. Les lettres arabes en utf-8 sont stockees en double bytes ce qui veut dire que si on fait $b[1] on n’a que la premiere byte de la lettre et donc ca ne donne rien

    • Le 21 janvier à 18:00, par Houssem94 En réponse à : Développer un site Web arabe

      et alors comment faire pour afficherla premiere lettre ?

    • Le 22 janvier à 10:31, par George En réponse à : Développer un site Web arabe

      L’exemple est déjà faux en lui même car $a et $b sont des chaines de caractères et pas des tableaux. Donc on ne peut pas écrire $a[1] mais substr($a,0,1) par exemple pour avoir « a ».

      Pour $b, il faut écrire substr($b,0,2) pour avoir « م ».

    • Le 22 janvier à 15:58, par Shnoulle En réponse à : Développer un site Web arabe

      Salut,

      Je vois pas bien le rapport avec spip ?

      Mais avec php : http://php.net/manual/en/function.mb-substr.php

    Répondre à ce message

  • Le 12 octobre 2014 à 09:46, par Fati Flower En réponse à : Développer un site Web arabe

    Bonjour,

    j’ai un nouveau site , à partir de ce site j’ai trouvé un script mail en php formulaire de contact (et ça marche), mais le problème que je reçois le contenu arabe dans mon e-mail des symboles,,

    Aidez moi SVP

    • Le 12 octobre 2014 à 14:24, par George En réponse à : Développer un site Web arabe

      Bonjour

      Quel est ce script mail ?
      SPIP ne peut pas se charger d’envoyer et de recevoir sans ce script ?
      Il y a des plugins pour ça.

    Répondre à ce message

  • Le 20 décembre 2013 à 13:02, par Adil En réponse à : Développer un site Web arabe

    j’ai un probleme quand j’ecrire un mot en arabe dans HTML il s’affiche dans la page web comme ca : ظ�ع„ظ�ظ�عŠظ�عŠظ� qu’est ce que je dois faire stp est merci :)

    • Le 20 décembre 2013 à 14:05, par George En réponse à : Développer un site Web arabe

      C’est parceque la page html n’est pas codée en UTF-8, il faut choisir dans l’éditeur utilisé pour éditer la page, l’encodage UTF-8.

    Répondre à ce message

  • Le 10 juin 2010 à 17:52, par Jean-Jacques Lorin En réponse à : Développer un site Web arabe

    Mon site vient de faire l’objet d’une attaque à l’aide de votre outil, et mon environnement français a été changé en arabe.
    J’ai réussi à remettre mes textes en français en rechargeant mes fichiers de langue d’origine, mais dans la partie administrateur tout s’affiche de droite à gauche.

    Pouvez-vous m’aider à remédier à ce problème ?
    Merci
    A+

    Répondre à ce message

  • Le 23 avril 2010 à 10:42, par hassen En réponse à : Développer un site Web arabe

    je cherche un menu deroulant (et sous menu ) en arabe mais je cherche sur internet je trouve le le menu deroulent en francais(pour le site francée)

    Répondre à ce message

  • Le 28 mars 2004 à 19:14, par Cameleon En réponse à : > Développer un site Web arabe

    Salut tout le monde...
    je suis entrain de developper un site arabe dynamique avec JSP et une Base de Données mySQL et une connexion JDBC ; Mon probléme c qu’on j’insere des données dans mySQL ca marche mais quand je veux les recuperer sur ma page JSP ca me donne des trucs comme «  ? » ...

    Merci d’avance...

    • Le 29 mars 2004 à 15:05, par George En réponse à : > Développer un site Web arabe

      il y a un probleme dans l’encodage de tes donnees. a mon avis il vaut mieus tioujours utiliser UTF8.

    • Le 31 mars 2008 à 22:36, par rimapipo En réponse à : > Développer un site Web arabe

      $connexion2=@mysql_connect(« localhost »,« root »,« ») ;

      @mysql_query(« SET NAMES ’cp1256’ COLLATE ’cp1256_general_ci’ ») ;

      @mysql_query(« SET character_set_server=’cp1256’ ; ») ;

      @mysql_query(« SET character_set_client=’cp1256’ ; ») ;

      @mysql_query(« SET character_set_results=’cp1256’ ; ») ;

      @mysql_query(« SET character_set_connection=’cp1256’ ; ») ;

      @mysql_query(« SET character_set_database=’cp1256’ ; ») ;

      @mysql_query(« SET collation_connection=’cp1256_general_ci’ ; ») ;

      @mysql_query(« SET collation_database=’cp1256_general_ci’ ; ») ;

      @mysql_query(« SET collation_server=’cp1256_general_ci’ ; ») ;

      ecrit ce code sa marche bien

    Répondre à ce message

  • Le 3 février 2006 à 00:17, par pseudomenace En réponse à : Développer un site Web arabe

    bonjour,

    je suis entrain de créer un site sous spip bilingue français et arabe (en réalité seulement une rubrique-secteur est en arabe !)

    j’ai d’abord écris des articles en français puis en arabe (3 seulement !), comme l’encodage était en iso-8859-1 (latin) je n’ai eu aucun problème avecles textes en français mais ceux en arabe :

    - un article s’est totalement affiché !
    - les 2 autres ont donnés des signes bizarres !

    j’ai donc fouiné ici et là et j’ai trouvé qu’il fallait utilisé UTF-8 pour tout reconnaitre !

    heureusement que j’ai utilisé le script du : http://www.spip-contrib.net/Comment-passer-son-site-en-utf-8
    pour passer ma base en utf-8 !

    et ça a marché !

    mais pour l’arabe j’ai eu des surprises :
    - un article totalement illisible ! (pas le même qu’avant !!)
    - 2 articles ainsi que des éléments de langue (local_ar.php) affichent des caractères certes en arabe mais pas liés (c’est pas lisibles en phrase ou même en mots !)

    j’utilise pour visualiser le site :
    - opera 8.50 (quelques soucis persistent sous utf-8 mêm e nfrançais !)
    - firefox 1.5 et internet explorer 6 (ok pour le français !)

    je suis sous windows xp pro.

    Merci de mieux m’orienter !

    ps:faudrait-il passer les articles en arabe (windows-1256) vers utf-8 mais alors comment faire ???

    merci

    • Le 4 février 2006 à 11:16, par George En réponse à : Développer un site Web arabe

      Il faut passer les textes arabes en UTF8.

      La moulinette de Fil doit pouvoir le faire. Mais il faut auparavant activer le charset windows-1256 dans le fichier changer_charset.php3.

      S’il y a des probleme, il faudrait peut etre en parler a Fil sur le forum de son article a l’adresse suivante

    Répondre à ce message

  • Le 3 février 2006 à 00:13, par pseudomenace En réponse à : une partie (secteur) seulement en arabe !

    bonjour,

    je suis entrain de créer un site sous spip bilingue français et arabe (en réalité seulement une rubrique-secteur est en arabe !)

    j’ai d’abord écris des articles en français puis en arabe (3 seulement !), comme l’encodage était en iso-8859-1 (latin) je n’ai eu aucun problème avecles textes en français mais ceux en arabe :

    - un article s’est totalement affiché !
    - les 2 autres ont donnés des signes bizarres !

    j’ai donc fouiné ici et là et j’ai trouvé qu’il fallait utilisé UTF-8 pour tout reconnaitre !

    heureusement que j’ai utilisé le script du : http://www.spip-contrib.net/Comment-passer-son-site-en-utf-8
    pour passer ma base en utf-8 !

    et ça a marché !

    mais pour l’arabe j’ai eu des surprises :
    - un article totalement illisible ! (pas le même qu’avant !!)
    - 2 articles ainsi que des éléments de langue (local_ar.php) affichent des caractères certes en arabe mais pas liés (c’est pas lisibles en phrase ou même en mots !)

    j’utilise pour visualiser le site :
    - opera 8.50 (quelques soucis persistent sous utf-8 mêm e nfrançais !)
    - firefox 1.5 et internet explorer 6 (ok pour le français !)

    je suis sous windows xp pro.

    Merci de mieux m’orienter !

    ps:faudrait-il passer les articles en arabe (windows-1256) vers utf-8 mais alors comment faire ???

    merci

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Adaptive Images

    15 novembre 2013 – 69 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Social tags

    8 septembre 2008 – 428 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Module de Paiement Stripe

    17 octobre – commentaires

    Stripe est un prestataire de paiement externe https://stripe.com/fr qui propose une API moderne et une interface de paiement extrêmement conviviale et efficace. Ce module permet les paiements à l’acte et les paiement récurrents. Configuration (...)

  • Métas

    8 août 2009 – 50 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

Ça spipe par là