IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[XML] XML pour site multilingue


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 35
    Points
    35
    Par défaut [XML] XML pour site multilingue
    Bonjour,

    J'ai un site principalement en .html, un peu en .php et je voudrais le mettre en 6 differentes langues. Je me demande si xml est le + pratique et si il est simple d'utilisation.
    Je n'arrive pas a savoir comment agencer tout cela.
    Php n est pas + facile d'utilisation ???

    Merci beaucoup

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 77
    Points : 84
    Points
    84
    Par défaut
    Tu peux stocker tes données XML par fichier, 1 par langue par exemple.
    Ensuite tu fais du PHP qui en fonction de la langue choisie par l'internaute, va charger tel ou tel fichier XML.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 35
    Points
    35
    Par défaut
    Je peux stocker mes donnees dans un fichier php aussi. Je veux dire par la quel est l'interet d'utiliser un XML?
    merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 77
    Points : 84
    Points
    84
    Par défaut
    De ne pas intégrer test données dans le code.
    De plus, si tu veux gérer un back-office basé sur XML ce sera plus pratique.

  5. #5
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    L'intérêt principal de stocker des données dans des documents XML plutôt que dans du code php, c'est de bien séparer les données et les traitements. De plus, tu peux plus facilement réutiliser tes données. Pour faciliter les traitements de données XML, tu peux utiliser XSLT qui permet de générer facilement des documents HTML. Le php te permet alors d'effectuer les transformations.

    L'architecture PHP + XML/XSLT est un classique pour le développement de sites web.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 35
    Points
    35
    Par défaut
    J'ai deja tout mon site cree en HTML principalement et php un peu. J'ai beaucoup de pages et de texte.
    Cela revient a dire que j'aurai a mettre tout le texte de mon site dans des pages xml, appele par une page PHP et le texte est formate par du XSLT.c'est cela?
    Vous pensez que ce n'est pas trop dur a realiser? je n ai aucune connaissance en XSLT et en SML mais connais bien le HTML et PHP.
    merci d avance

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 35
    Points
    35
    Par défaut
    J'ai essaye d'utiliser un fichier xslt, xml et php. J'ai ce code dans ma page PHP mais je n'obtiens rien(page blanche). Je ne comprend pas pourquoi, pouvez vous m'aider? merci beaucoup.
    La fonction xslt_create() ne fonctionne pas mais je ne comprend pas pourquoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
    <?
    // Crée le processeur XSLT
    $xh = xslt_create();
    echo $xh;
     
    //xslt_set_base ($xh, 'file://' . getcwd () . '/');
    $fileBase = 'file://' . getcwd () . '/';
    xslt_set_base($xh, $fileBase);
    echo("going here?");
    // Traite le document, puis affiche le résultat
    $result = xslt_process($xh, 'liste.xml', 'xslt.xsl');
    if (!$result)
      echo ("Erreur XSLT ...");
    else
      echo ($result);
     
    // Détruit le processeur XSLT
    xslt_free($xh);
    ?>
    [ Modéré par Viena ]
    Ajout balises de code : Pensez aux balises [code], votre message est plus lisible et la lecture plus facile.

    Les Règles du Forum

  8. #8
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    J'ai pas une grande expérience du php, mais je m'étais fait une petite classe qui encapsule le processeur xslt à l'époque où j'avais fait un site web. Je l'avais utilisé sur le site de free et ça fonctionnait bien, mais peut être qu'il y a des différences d'implémentation de la librairie d'un hébergeur à l'autre.

    Voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    class XsltTransformer {
     
        // processeur xslt 
        var $xh;
     
        // initialisation (constructeur)
        function init() {
            $this->xh = xslt_create();
        }
     
        // libère le processeur xslt
        function free() {
            xslt_free();
        }
     
        // execute une transformation et retourne le résultat
        function transform($xmlfile, $xslfile) {
            if ( $result = xslt_process($this->xh, $xmlfile, $xslfile)) {
                // nothing to do !
            }
            else {
                    $result = "$xmlfile could not be transformed by $xslfile";
                    $result .= "  the reason is that " . xslt_error($this->xh) . 
                    " and the ";
                    $result .= "error code is " . xslt_errno($this->xh);
            } 
            return $result;     
     
        }
     
    }
    Mais avant toute chose est ce que tu t'es assuré que ta transformation XSL fonctionne ? Tu peux tester en ligne de commande avec ton processeur favori...

Discussions similaires

  1. GWT et sitemaps pour site multilingue
    Par redah75 dans le forum Référencement
    Réponses: 2
    Dernier message: 13/03/2014, 20h37
  2. [2.x] Intégration bundle A2LiX pour site multilingue
    Par LEF97 dans le forum Symfony
    Réponses: 1
    Dernier message: 23/11/2013, 17h55
  3. Google Sitemap pour site multilingues
    Par redah75 dans le forum Référencement
    Réponses: 0
    Dernier message: 03/06/2012, 22h15
  4. Réécriture url pour site multilingue
    Par redah75 dans le forum Apache
    Réponses: 29
    Dernier message: 22/12/2009, 16h54
  5. Aide pour Site Multilingue
    Par Ikonic dans le forum Flash
    Réponses: 2
    Dernier message: 11/04/2007, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo