Si cela peut vous intéressez :
http://www.developpez.net/forums/sho...d.php?t=341683
Version imprimable
Si cela peut vous intéressez :
http://www.developpez.net/forums/sho...d.php?t=341683
je ne pense pas que ce soit optimisé car ça exclu les messages javascript et en plus ça utilise me XML...lourd
Ah pardon, je pensait que Google parse les pages a référencer, mais pas de problêmes si il se fie au sitemap où à un catalogue !Citation:
Envoyé par USA Mike
@meliandah
Si tu passe par une base de donnée l'administration deviens plus simple...
Genre:
et la il suffirai d'appeler la variableCode:
1
2
3
4
5
6
7
8
9
10
11 <? $sql = "SELECT id,string FROM string_lang WHERE page=$page AND lang=$lang;"; $rsql = mysql_query($sql); while ($row = mysql_fetch_object($rsql)) { $id = $row->id; $string = $row->string; $strings[$id] = $string; }
Code:
1
2<? echo $strings['prenom'];?>
Wep la base de données sa peut aussi le faire surtout si le serveur utilise un système pour mettre la BDD dans la RAM. Sinon concernant mon objet et le javascript, il faut inclure le fichier JS en php, de cette manière le code PHP dans la page javascript sera réecrit par le parser qui pourra alors utiliser la classe XML pour rechercher les données.
Mais merci de cette remarque car je viens de vois que mes JS n'était pas multi lingue 8O , vais modifier tout sa :mouarf:Code:
1
2
3<script type="javascript"> <?php require_once "js/FILE.js.php"; ?> </script>
J'ai vérifier et si tu inclus tes fichiers JS avec les fonctions PHP il n'ya pas besoin de spécifier le .php à la fin des fichier javascript. Ce qui fait que l'ont peut écrire du javascript/php et insérer les phrases dans le bon langage depuis php.
Certe le fichier sera visible directement dans les sources mais il faut bien se dire que les fichiers JS et CSS doivent être soit insérer directement dans la page HTML soit en utilisant des méthode d'importation HTML qui demande à ce que le répertoire contenant ces fichiers doit être accessible en lecture. Dans tous les cas il n'est pas possible de les masquer à l'utilisateur.
Ceci dit si c'est PHP qui inclus les fichiers on peut les interdire de lecture pour l'utilisateur car PHP l'incorporera dans le document HTML, on masquera donc le code PHP qui est dans les javascripts tout de même.
Pourquoi ne pas inclure un script php en script js niveau client ?
Tu veut dire avec l'attribut SRC, mettre un fichier PHP ?
Je suis pas certain que sa marche OO.Code:<script src="monscript.php" language="javascript">
Oui c'est ce que j'ai écrit.Citation:
Envoyé par meliandah
Et d'ailleurs, même si ça ne fonctionnait pas, il suffirait d'une règle de ré-écriture d'adresse.
Cela pourrai peut être marcher à une seule condition c'est si le navigateur lorsqu'il voit ceci va demander la page au serveur comme il le ferai pour une autre ou s'il lit directement le fichier et place le fichier dans un buffer qui lui est propre, si c'est cela sa ne pourra jamais marcher car le navigateur ne possède pas de serveur apache et il aurai encore moins accès aux données distantes.
J'ai rien compris .. Bien sur que ca marche puisque le navigateur n'a que faire de l'extension du fichier a charger !Citation:
Envoyé par meliandah
de toutes façon, je reste sur ma position :
un accès XML de grande ampleur doit rester un traitement spécifique (genre une importation, extration de données...) et pas une chose récurrente tellement la lourdeure pèse.
Oui mais est-ce que apache va l'analyser avant de lui envoyer ou le navigateur va-t-il lire directement le fichier et le mettre à l'état brut dans son buffer, ce que je pense il fait, car il faut autoriser l'acces au répertoire ou est stocker le fichier sinon le client n'aura pas de fichier javascript chez lui. jvais faire plus simple jvais tester :)Citation:
J'ai rien compris .. Bien sur que ca marche puisque le navigateur n'a que faire de l'extension du fichier a charger !
Ha bah non sa marche pas ^^ si tu spécifie un .php il n'y a aucun javascript de charger et en spécifiant un .js , il ne passe pas par le parser PHP, j'ai un beau :
<?php echo $xmlformtest->getXPath('//root/formerror');?>
En guise d'alert javascript :mrgreen:
D'abord, ça dépend de la configuration du serveur. Ensuite, tu pourrais utiliser l'url-rewritting. Enfin, je proposé de faire un <script src="example.php">.
Preuve du concept : http://tm.home.jamespic.net/
Charge test.php en script js.
Source de test.php :
Code:
1
2
3 <?php echo 'alert("lqlq")'; ?>
Ouep sa marche bien :) je viens de tester différentes choses et sa ne marchais pas chez moi car j'avais fermer la balise rapidement :
En fait sa marche mais il ne faut pas oublier de modifier tous les répertoires d'acces aux fichiers pour les fichiers à inclure (classe PHP ou autre).Code:
1
2
3
4
5
6 /*Ceci ne marchera pas */ <script type="text/javascript" language="javascript" src="example.php" /> /* Celui la marchera */ <script type="text/javascript" language="javascript" src="example.php"> </script>
Salut à tous, un petit up pour un petit soucis en rapport avec tout ce qui a été dit .
Voilà j'ai utilisé la méthode de traduire le site via un fichier XML dont j'enregistre le contenu dans un tableau. 3 raisons que j'ai trouvé à cela : le XML est fait pour gérer ce genre de probleme, c'est-à-dire classé des données ( je les classes par langue, puis par menu, puis sous menu et enfin les mots ), en enregistrant dans un tableau cela permet de gérer plus vite l'acces aux données, et enfin j'ai un menu qui permet de modifier la traduction des mots affichés par le site, ce qui n'est pas très gérable ( en tout cas moins facilement qu'en XML) avec la traduction enregistrer dans un fichier PHP avec un tableau.
Mon soucis est que mon fichier XML est assez gros (700 ko, 5 langues traduites), et il m'arrive un problème assez embêtant, à savoir que certaines données sont tronquées, je m'explique : je vais avoir un mot traduit en français par "Erreur durant l'insertion", et il va m'afficher "rant l'insertion". Ce qui est assez bizarre, c'est que cela ne le fait que pour certain mot.
Je pense sûrement que cela vient du fait que le tableau doit être surchargé, mais maintenant que j'ai choisi cette architecture un peu trop tard pour revenir en arrière !!
Alors est-ce que vous avez une idée, ou est-ce que cela vous est déjà arrivé ?
P.S. : je travail en local, mais sur le serveur c'est le même soucis .
A prioris la mémoire n'a rien à voir là dedans.Citation:
Envoyé par mister_gom
Peut être un problème dans ta façon de concevoir ton fichier XML.
L'exemple donné en premiere page me semble erroné :
ça ne devrait pas être :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<?xml version="1.0" encoding="iso-8859-1"?> <!--Elément racine //--> <root> <title> <fr>Connexion à l''espace membre</fr> <en></en> </title> <login> <fr>Login</fr> </login> <password> <fr>Mot de passe</fr> </password> <submit> <fr>Connexion</fr> </submit> </root>
?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<?xml version="1.0" encoding="iso-8859-1"?> <!--Elément racine //--> <root> <title> <fr><![CDATA[Connexion à l''espace membre]]></fr> <en></en> </title> <login> <fr><![CDATA[Login]]></fr> </login> <password> <fr><![CDATA[Mot de passe]]></fr> </password> <submit> <fr><![CDATA[Connexion]]></fr> </submit> </root>
en fait j'y ai pensé en premier ;) mais ça n'a rien à voir avec ça, car le mot est coupé quelque soit le caractère ...
Cela dit, je pense que je devrai créer une fonction qui recherche à chaque fois dans le fichier xml, qu'en penses-tu ?
Ce serait étonnant que ce soit un problème de mémoire car tu as le même problème en local et en ligne sur des config materielles différentes...
Peut-être pourrais-tu essayer de faire plusieurs tests en raccourcissant ton fichier xml à différentes tailles pour voir si ça dépent vraiment de la taille ?