mageekblog - Mot-clé - php - CommentairesLe blog personnel de Frédéric Hardy. Au menu, PHP, agilité, FreeBSD, cuisine et photographies.2021-12-02T08:20:54+01:00Frédéric Hardyurn:md5:26874ca5b8cd4cac8d08b0e68e64f63aDotclearÀ propos de ma façon de contribuer à atoum - stephpyurn:md5:413a9f94072a6a3440f7310650c532912013-09-26T18:10:29+02:002013-09-27T10:34:00+02:00stephpy<p>Très bonne décision, ça ne peut qu'être positif.</p>À propos de ma façon de contribuer à atoum - MathRobinurn:md5:89ec3c6c66d6487a92ce78ddd44d83242013-09-26T14:58:44+02:002013-09-26T14:02:50+02:00MathRobin<p>Je pense que c'est une sage décision. (et oui, je pense <img src="/themes/default/smilies/wink.png" alt=";)" class="smiley" /> )</p>Une petite énigme ? - mageekguyurn:md5:3b024d3b724c261429f2448f6c803cae2013-04-23T16:18:34+02:002013-04-23T15:18:54+02:00mageekguy<p>@<a href="http://blog.mageekbox.net/?post/2013/03/07/Une-petite-%C3%A9nigme#c5052" rel="nofollow">Manu1400</a> : Il est résolu depuis longtemps.</p>Une petite énigme ? - Manu1400urn:md5:be96b891791530b01f418fe90acb97a62013-04-23T10:11:54+02:002013-04-23T15:18:54+02:00Manu1400<p>Aujourd'hui, a t-on plus d'infos sur ce bug ?</p>Pourquoi atoum est-il open-source ? - mageekguyurn:md5:d6a829179ca00442a3beedef9d5ea8e22013-04-22T17:00:20+02:002013-04-22T16:01:41+02:00mageekguy<p>@<a href="http://blog.mageekbox.net/?post/2013/04/16/Pourquoi-atoum-est-il-open-source#c5046" rel="nofollow">Matthieu</a> : Rentre tes griffes, je n'ai pas dis que je me moquais de ton avis, je t'ai juste donné une info par rapport à ta « supposition » concernant le SEO <img src="/themes/default/smilies/wink.png" alt=";)" class="smiley" /></p>Pourquoi atoum est-il open-source ? - Matthieuurn:md5:2959cbc55d58ced0c818bb4845bfc4682013-04-22T14:54:00+02:002013-04-22T16:01:50+02:00Matthieu<p>@<a href="http://blog.mageekbox.net/?post/2013/04/16/Pourquoi-atoum-est-il-open-source#c5026" rel="nofollow">mageekguy</a> : et tu t'en cognes des impressions des lecteurs aussi ? J'essayais d'être constructif, voici donc le contenu de mon message moins "SEO" : "ça alourdit beaucoup la lecture", "on a l'impression que le fond est secondaire (en tout cas c'est mon ressenti lecteur)", "ça fait vraiment bizarre".</p>
<p>Enfin comme je l'ai dit, à prendre ou à laisser ça n'est que mon avis</p>Pourquoi atoum est-il open-source ? - mageekguyurn:md5:65bacbc2bb96a4f6f89d0ac62e3acc4c2013-04-19T09:10:19+02:002013-04-19T08:10:41+02:00mageekguy<p>@<a href="http://blog.mageekbox.net/?post/2013/04/16/Pourquoi-atoum-est-il-open-source#c5022" rel="nofollow">Matthieu</a> : Si tu savais à quel point je m'en cogne, du SEO…</p>Pourquoi atoum est-il open-source ? - Matthieuurn:md5:efd4777e5305234f5a22ab82346aae1d2013-04-18T17:04:32+02:002013-04-19T08:10:02+02:00Matthieu<p>Je me permets une critique constructive, à prendre ou à laisser : beaucoup trop de liens, ça alourdit beaucoup la lecture.</p>
<p>8 liens vers le site d'atoum, ça n'est vraiment qu'une affaire de SEO et on a l'impression que le fond est secondaire (en tout cas c'est mon ressenti lecteur). 5 liens vers "François" également. Autre exemple, je pense que sur ton blog "PHP" n'a pas besoin de lien vers son site (même 2), ça fait vraiment bizarre.</p>
<p>Mais sinon pour commenter le fond, je suis d'accord avec toi que ce genre de "partages" ne sont pas désintéressés. Je ne pense pas également qu'il faille le cacher, ou en avoir honte. Tout le monde y trouve son compte.</p>Pourquoi atoum est-il open-source ? - Renaudurn:md5:9e5a0a0b5d9a60d85ca65ee823d86e582013-04-16T23:22:46+02:002013-04-17T07:33:16+02:00Renaud<p>C'est pour ça que tu m'as demandé l'adresse du site d'atipik <img src="/themes/default/smilies/smile.png" alt=":-)" class="smiley" /><br />
C'est également grâce à ma modeste participation à atoum que j'ai trouvé mon emploi actuel <img src="/themes/default/smilies/smile.png" alt=":-)" class="smiley" /></p>Une petite énigme ? - mageekguyurn:md5:dafb0603230c1fe025ff3389e43e180a2013-03-08T14:07:28+01:002013-03-08T14:08:12+01:00mageekguy<p>@<a href="http://blog.mageekbox.net/?post/2013/03/07/Une-petite-%C3%A9nigme#c4861" rel="nofollow">kao98</a> : thehawk étant indisponible, ton feedback sous windows m'intéresse fortement (et tu es le bienvenu sur le canal IRC de atoum, ##atoum sur le réseau Freenode).</p>Une petite énigme ? - kao98urn:md5:9cc005844243c6aaefee0568f05901aa2013-03-08T13:59:41+01:002013-03-08T14:06:13+01:00kao98<p>Pour me répondre à moi-même à ma dernière question :<br />
<a href="https://github.com/atoum/atoum/tree/autoloaderCacheFile/" title="https://github.com/atoum/atoum/tree/autoloaderCacheFile/" rel="nofollow">https://github.com/atoum/atoum/tree...</a></p>
<p>exactement ce à quoi je pensais <img src="/themes/default/smilies/smile.png" alt=":)" class="smiley" /></p>Une petite énigme ? - kao98urn:md5:d5497d7182061d7ad1d83b36beb7bedb2013-03-08T13:56:47+01:002013-03-08T14:06:13+01:00kao98<p>Petite erreur d'unités : on a parlé de Méga-octets. En l'occurrence, il s'agit de Kilo-octets :p</p>
<p>@mageekguy, effectivement, il y a bien d'autres façon de procéder <img src="/themes/default/smilies/smile.png" alt=":)" class="smiley" /> Tu as déjà soumis quelque chose de neuf sur Github ?</p>Une petite énigme ? - mageekguyurn:md5:6a0afb968619ba728d2633fb4e872bd32013-03-08T13:26:40+01:002013-03-08T13:28:21+01:00mageekguy<p>@<a href="http://blog.mageekbox.net/?post/2013/03/07/Une-petite-%C3%A9nigme#c4858" rel="nofollow">kao98</a> : bien joué, nous étions arrivé de notre côté à la même conclusion en ce qui concerne la barrière des 8 Mo.</p>
<p>Il semblerait que ce soit un bug dans PHP, mais c'est encore à confirmer.</p>
<p>J'avais pensé à la compression, mais comme tu le fais remarquer, le problème reste entier au final, même si en l'état actuel du code de atoum, ça fonctionne.</p>
<p>Du coup, j'ai changé mon fusil d'épaule et les premiers résultats sont très intéressants.</p>Une petite énigme ? - kao98urn:md5:1c767ce5d9e1fe30eb571a74923582f82013-03-08T11:43:43+01:002013-03-08T13:26:10+01:00kao98<p>Pfiou !!</p>
<p>Ca y est, j'ai réussi à les exécuter ces tests sous Windows.</p>
<p>Le problème principal, c'est dans mageekguy\atoum\test\engines\concurrent : lorsque l'on veut écrire, à l'aide de fwrite, le code php du test à exécuté. Comme on le voit dans la doc php sur les fonction de gestion des flux (fread, fwrite, sur les fichiers, les cannaux, ...), sous windows, passé les 8Mo, ça devient hasardeux.</p>
<p>Dans un premier temps, j'ai tenté d'envoyer le $phpCode en bloc, et non tout d'un coup. J'ai réussi à envoyer jusqu'à 16Mo avec des blocs de 4Mo, mais pas au delà. Or, $phpCode pèse 25Mo !</p>
<p>J'ai alors décider qu'il fallait compresser les données. J'ai compressé la chaine sérialisée de l'autoloader avec gzdeflate, puis encodée en base64. Ainsi, $phpCode passe sous les 5Mo. Il est alors envoyé en intégralité dans le pipe, et tout se passe bien !</p>
<p>L'utilisation de base64 permet de sécuriser le transfert. Après passage par gzdeflate, on est susceptible d'avoir tout un tas de caractères fort étranges qui peuvent parasiter le flux.</p>
<p>Accessoirement, j'ai modifié le code pour que les méthode serialize et unserialize de la classe autoloader soient effectivement appelée, ce qui n'est pas le cas sur la branche "autoloader" (en tout cas, ce n'était pas le cas hier :p).</p>
<p>Ceci dit, le problème reste entier : le jour ou la compression n'est plus suffisante, le problème sera de retour :s</p>Une petite énigme ? - thehawkurn:md5:a9918b23c44fdbd2c2c2f10711072ec92013-03-08T09:02:04+01:002013-03-08T14:06:35+01:00thehawk<p>Le print_r nous a permis de mettre en lumière l'élément déclencheur, le problème se situerai vers un flux qui s'engorge et bloque a 8192 octets, la solution viable pour le moment et d'attendre que le flux se vide avec un sleep(1) mais comprenez que c'est pas viable :D.<br />
Je pense que le souci vient du fait que l'on envoi trop d'informations rapidement.</p>
<p>@jails : J'ai testé a tous hasard le fflush mais sans changements <img src="/themes/default/smilies/sad.png" alt=":(" class="smiley" /></p>Une petite énigme ? - kao98urn:md5:82f0369df84996352aede07eaa401e492013-03-08T08:54:53+01:002013-03-08T09:26:24+01:00kao98<p>Ce n'est pas lié aux '\'. Un simple str_replace pour remplacer les '\' par des '/' après la sérialisation de l'autoloader ne corrige pas le problème.</p>Une petite énigme ? - jailsurn:md5:7fbc9449244b59eeb56967c73470ddec2013-03-08T01:31:42+01:002013-03-08T08:48:09+01:00jails<p>Personnellement ça me fait plus penser à un flush oublié (surtout si un print_r fait disparaître l'erreur).</p>Une petite énigme ? - Uldurn:md5:e5372b1048f8bfa0ed82dad86330b8972013-03-07T14:46:52+01:002013-03-07T14:47:17+01:00Uld<p>Ca pue le caractère caché, le genre de truc du à un encodage étrangement interprété sous windows. Les erreurs à la noix du style saut de ligne ou caractère fantôme...</p>Pourquoi des classes sans majuscule dans atoum ? - Amauryurn:md5:af45ee0253f6994bd6803083f3b925ea2012-09-28T10:53:22+02:002012-09-28T14:05:51+02:00Amaury<p>Juste un petit détail : En PHP, ça ne porte pas à conséquence. Par contre, je ne comprends pas vraiment pourquoi tu as développé une telle convention personnelle en faisant du C++.</p>
<p>En PHP :<br />
$aa = new Aa(); // c'est lisible<br />
$aa = new aa(); // mouais, pourquoi pas</p>
<p>En C++ :<br />
Aa *aa = new Aa(); // OK, ça roule<br />
aa *aa = new aa(); // *ça ne marche pas*</p>
<p>En Java :<br />
Aa aa = new Aa(); // OK<br />
aa aa = new aa(); // c'est censé marcher, mais c'est pas beau</p>
<p>Ça peut paraître con, mais c'est pour moi l'une des raisons pour lesquelles on s'est habitué à nommer les variables en lower et les classes en upper. Garder cet héritage en PHP n'a rien de choquant. Comme toute les conventions, elle fonctionne de par son fort taux d'utilisation général.<br />
Mais on est d'accord que tout ça est assez peu important au final.</p>Pourquoi des classes sans majuscule dans atoum ? - Cyranourn:md5:b8ef45d25740c8aa187b87cf364f1d332012-09-01T11:02:02+02:002012-09-02T18:55:15+02:00Cyrano<p>@Tatsu : le fait qu'il y ait débat présente tout de même un aspect intéressant. Ça dénote une forme de volonté de plus en plus généralisée de standardisation. De ce point de vue, c'est encourageant pour l'ensemble des développeurs.</p>