SPIP-Contrib

SPIP-Contrib

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

273 Plugins, 191 contribs sur SPIP-Zone, 46 visiteurs en ce moment

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

Développer un site Web arabe

22 janvier 2003 – par George – 49 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

35 votes

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

Retour en haut de la page

Vos commentaires

  • 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 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

    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

  • Le 30 septembre 2005 à 18:39, par Mlle aya En réponse à : Développer un site Web arabe

    Mr je veux installer un logiciel arab sur mon ordinateure par internet merci

    Répondre à ce message

  • Le 31 mai 2005 à 15:56, par erational En réponse à : Definir la langue et la direction

    Depuis la rédaction de cette article, SPIP a fait des progrès notamment sur les attributs dir et lang. On les définir de façon dynamique pour permettre une gestion de site multilingue

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="#LANG">

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

    <html lang="#LANG">
    <body dir="#LANG_DIR">
    ...
    </body>
    </html>

    Répondre à ce message

  • Le 25 juin 2003 à 11:55, par f bonnassies En réponse à : > Développer un site Web arabe

    a airbus j’ai un utilisateur qui fait de la deco avion, il lui manque la police font Arabic Transparent bold , merci de me l’envoyer
    Cordialement

    • Le 10 novembre 2003 à 08:38, par ? En réponse à : > Développer un site Web arabe

      j’ai cette font mais j’ai besoin de ton email.
      le mien c « nmehdi@lycos.com »
      fait moi signe si tu as toujours besoin du caractere arabic transparent bold

    • Le 22 novembre 2003 à 12:11, par naima En réponse à : > Développer un site Web arabe

      مرحبا أنا طالبة في الثانوية العامة و أريد أن أقول أن موقع schoolarabia موقع رائع جدا ومن خلاله يمكن لأي شخص معرفة أية معلومة دراسية يريدها .

      اود ان اشكركم على هذا الموقع الجميل الممتاز لجميع الطلاب وجميع الاعمار والذي يوضح للطالب ما لم يتوضح له مسبقا .
      أنا اعجبت به وسَهّل علي فهم الكثير والحصول على عدد كبير من الابحاث المدرسية والتقارير.
      شفيق عموص / عتيل _ طولكرم ـ فلسطين / طالب مدرسي

      أهنئكم وبشدة على هذا الموقع المتميز من بين المواقع العلمية العربية ، فهو يعينني بشدة في دراستي الحالية ، لما يحويه من أسئلة ذات مستوى عالٍ .

      محمد علي

    • Le 30 avril 2005 à 14:45, par mizpiansite En réponse à : > Développer un site Web arabe

      Bonjour !
      J’ai besoin du font arabic transparent cold !j arrive pas à imprimer des pages ..
      Si tu l’as ,jte pass mon msn ça srait sympa si tu mlenvoies !
      mizpianiste@msn.com
      -  Zakia- merci encore

    Répondre à ce message

  • Le 26 avril 2005 à 18:02, par JKE En réponse à : Le #FORMULAIRE_ECRIRE_AUTEUR en arabe

    Bonjour,

    J’ai fait un site trilingue EN, FR et AR (www.ideo-cairo.org) et j’ai une petite question pour l’envoi de mail grâce au formulaire si pratique #FORMULAIRE_ECRIRE_AUTEUR :

    Quand j’envoie un mail à partir du form en langue arabe, il se passe 2 choses :

    1) Alors que l’interface d’envoi du mail est bien en AR, la page de confirmation repasse en français !! Et celle d’après -qui dit message envoyé- est aussi en français.

    2) Plus grave (mais sans doute relié au point 1) : le mail que l’on reçoit alors est codé en windows occidental, et l’encodage ne peut pas être modifié ! Du coup le mail est illisible !

    Savez-vous comment il est possible de passer une variable de langue après l’envoi du mail ? Je cherche ainsi à obtenir une page de demande de confirmation puis de confirmation en arabe (tout comme la première interface de saisie du mail qui s’affiche bien grâce à la variable lang=ar passée à la main dans l’URL).

    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

  • Squelettes « Chez nous »

    17 avril 2008 – 26 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Jeu de squelettes prêts à l’emploi pour site de maison : visite des lieux, présentation des habitants, chronique et livre d’or.

  • Formidable, le générateur de formulaires

    23 janvier – 55 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins avaient (...)

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 33 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Plugin SPIP-Géoportail

    17 août 2010 – 169 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail. Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps ou Yahoo !... Préambule : Travaillant sur un projet utilisant SPIP et le Géoportail, il nous a semblé (...)

  • Navigation AJAX

    31 janvier – 13 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)