Page 1 sur 1

Connaissez-vous le XajA ?

MessagePosté: Mer 19 Nov 2014 01:50
par davyk
Le XajA ? bin en fait ça existe pas :)
j'ai voulu l'appeler comme ça car ça me fait penser à de l'Ajax à l'envers (oui, je sais, je ne suis pas allé chercher ça très loin)
l'ajax est l'utilisation de javascript pour faire des requêtes asynchrones sur de l'XML (au départ).
Pour résumer, et pour ceux qui ne connaissent pas, une fonction javascript va "aller demander quelque chose" à une autre page de votre propre site.
Et vers un autre site, certains me demanderaient ? Je vous invite à aller consulter votre moteur de recherche favori avec la requête "cross-domain ajax"
car ça n'est pas le propos de ce "tuto"
L'auto-sus-nommé Xaja est l'utilisation de javascript par mon grand ami PHP une petite démo peut-être ?
c'est par ici : Vous devez être inscrit et présenté pour voir les liens ainsi que d'autres éléments qui peuvent être caché aux invités.

Et maintenant ?

L'explication ( pour ceux qui veulent savoir, le code est commenté ) :

Code: Tout sélectionner
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
</head>
<title>Présentation de Xaja par vYk</title>
<body>

<!-- on crée la div qui va recevoir les messages -->
<center><div id="Xaja_div"></div></center>
<!-- -->

<!-- on crée le javascript qui va permettre de les afficher (exemple très simple de fonction) -->
<script type="text/javascript">
function Xaja_js(texte){
   document.getElementById("Xaja_div").innerHTML = texte;
}
</script>
<!-- -->

<!-- and now, le PHP !-->
<?php
//////////////// vide le tampon de sortie à chaque echo
// plus d'infos ici : http://www.ghstools.fr/forum/viewtopic.php?f=56&t=866&p=3259#p3259

error_reporting(-1); /// debug dev mode
ignore_user_abort(false);
ini_set('pcre.backtrack_limit',100000000);
ini_set('pcre.recursion_limit',10000000);
ini_set('memory_limit', '1024M');
ini_set("max_execution_time", 0);
set_time_limit(0);
//@apache_setenv('no-gzip', 1);   <- décommentes si tu as un serveur apache
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); ++$i) { @ob_end_flush(); }
ob_implicit_flush(1);
//////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////
// cette fonction est bien entendu un exemple qui simule
// à chaque sleep() un traitement quelconque ...
// j'ai mis la fonction Xaja() en tête de ligne pour que
// vous puissiez mieux la repérer ;)

function ma_fonction(){
Xaja("Intitialisation...");  ///// grâce à cette fonction, on affiche notre message dans la div
   sleep(2);
Xaja("Bienvenus à la ferme");
   sleep(1);
   fonction_2();
Xaja("Poursuivons la visite...");
   sleep(1);
Xaja("Chargement...");
   sleep(0.8);
   $a = 20;
   for($i=0;$i<$a;++$i){
      usleep( round(rand(50000,1000000),-2));
      $b = round($i/($a-1)*100) ."% ...";
Xaja($b);
   }
   sleep(1);
Xaja("On arrive à la fin...");
   sleep(1);
Xaja("Encore un peu de patience !");
   sleep(2);
Xaja("Voilà c'est fini");
   sleep(2);
Xaja("Merci de votre visite :-)");
}
//////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////
// fonction appelée dans ma_fonction, à titre d'exemple également

function fonction_2(){
   for($i=1;$i<7;++$i){
      $d =  array("","","","jaune","vert","orange","noir");
      $i<2 ? ($b="") : ($b="s");
      $i<3 ? ($c="blanc") : ($c=$d[$i]);
Xaja("j'ai $i mouton$b $c$b");
      sleep(1);
   }
}

//////////////////////////////////////////////////////////
// ZE FONCTION qui va lancer la fonction js avec le texte qu'on veut !
// Ceci n'est qu'un exemple très simplifié, il peut être complexifié à souhait ;)

function Xaja($texte){
   echo '<script type="text/javascript"> Xaja_js("'.$texte.'");</script>' ;
}

//////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////
// on lance le script
ma_fonction();
?>
<!-- on clotures les balises, ça fait plus propre et W3C compliant ;) -->
</body>
</html>


Et voilà, vous connaissez tout ce que je sais du XajA !! (enfin presque :D )

++ vYk

Re: Connaissez-vous le XajA ?

MessagePosté: Mer 19 Nov 2014 09:15
par Nicolaseo
C'est excellent le XajA !!! c'est pile ce qu'on avais besoin surtout pour GHS qui parfois peut prendre un peu de temps pour certaines actions car ca fait beaucoup de choses... Merci pour ces explications ;)

Re: Connaissez-vous le XajA ?

MessagePosté: Mer 19 Nov 2014 13:30
par davyk
Nicolaseo a écrit:C'est excellent le XajA !!! c'est pile ce qu'on avais besoin surtout pour GHS qui parfois peut prendre un peu de temps pour certaines actions car ca fait beaucoup de choses... Merci pour ces explications ;)


tout le plaisir est pour moi ;) !
et tu as oublié : beaucoup d'utilisateurs impatients {et|ou} curieux de savoir ce qui se passe pendant que ça mouline :D

Re: Connaissez-vous le XajA ?

MessagePosté: Mer 19 Nov 2014 14:47
par Nicolaseo
davyk a écrit:
Nicolaseo a écrit:et tu as oublié : beaucoup d'utilisateurs impatients {et|ou} curieux de savoir ce qui se passe pendant que ça mouline :D


ouai et c'est surtout pour ca :super: