Formulaire de contact 1
Créations
Voici pour exemple certaines de mes créations :
KindleScreensavers: J’ai réalisé ce site avec en Python avec Django, dans le but d’apprendre cette technologie.
Démos Ape-Project: J’ai réalisé dans le cadre de mon stage, puis de mon emploi auprès de la société Weelya, les démos TCPSocket Demo (IRC), MMORPG et Pixelbox. Utilisant uniquement du Javascript coté client, elles utilisent coté serveur, le server APE.
BioAuQuotidien ce site utilise Prestashop, j’ai intégré le design réalisé par Barbara LEE, j’ai aussi réalisé diverse adaptations du code et codé quelques modules. (le site étant hors ligne, ce lien pointe vers une démo)
MtgCompare: J’ai réalisé ce site dans le but de développer mon framework PHP personnel, sur un design de Barbara LEE.
J’ai également réalisé quelques autre projets autour du web qui ne sont plus en ligne, ou qui ne sont pas assez importants pour être présentés ici.
Créations
Voici pour exemple certaines de mes créations :
KindleScreensavers: J’ai réalisé ce site avec en Python avec Django, dans le but d’apprendre cette technologie.
Démos Ape-Project: J’ai réalisé dans le cadre de mon stage, puis de mon emploi auprès de la société Weelya, les démos TCPSocket Demo (IRC), MMORPG et Pixelbox. Utilisant uniquement du Javascript coté client, elles utilisent coté serveur, le server APE.
BioAuQuotidien ce site utilise Prestashop, j’ai intégré le design réalisé par Barbara LEE, j’ai aussi réalisé diverse adaptations du code et codé quelques modules. (le site étant hors ligne, ce lien pointe vers une démo)
MtgCompare: J’ai réalisé ce site dans le but de développer mon framework PHP personnel, sur un design de Barbara LEE.
J’ai également réalisé quelques autre projets autour du web qui ne sont plus en ligne, ou qui ne sont pas assez importants pour être présentés ici.
Créations
Voici la liste de mes création :
KindleScreensavers: J’ai réalisé ce site avec en Python avec Django, dans le but d’apprendre cette technologie.
Démos Ape-Project: J’ai réalisé dans le cadre de mon stage, puis de mon emploi auprès de la société Weelya, les démos TCPSocket Demo (IRC), MMORPG et Pixelbox. Utilisant uniquement du Javascript coté client, elles utilisent coté serveur, le server APE.
BioAuQuotidien ce site utilise Prestashop, j’ai intégré le design réalisé par Barbara LEE, j’ai aussi réalisé diverse adaptations du code et codé quelques modules. (le site étant hors ligne, ce lien pointe vers une démo)
MtgCompare: J’ai réalisé ce site dans le but de développer mon framework PHP personnel, sur un design de Barbara LEE.
J’ai également réalisé quelques autre projets autour du web qui ne sont plus en ligne, ou qui ne sont pas assez importants pour être présentés ici.
Créations
Voici la liste de mes création :
KindleScreensavers: J’ai réalisé ce site avec en Python avec Django, dans le but d’apprendre cette technologie.
Démos Ape-Project: J’ai réalisé dans le cadre de mon stage, puis de mon emploi auprès de la société Weelya, les démos TCPSocket Demo (IRC), MMORPG et Pixelbox. Utilisant uniquement du Javascript coté client, elles utilisent coté serveur, le server APE.
BioAuQuotidien ce site utilise Prestashop, j’ai intégré le design réalisé par Barbara LEE, j’ai aussi réalisé diverse adaptations du code et codé quelques modules. (le site étant hors ligne, ce lien pointe vers une démo)
MtgCompare: J’ai réalisé ce site dans le but de développer mon framework PHP personnel, sur un design de Barbara LEE.
J’ai également réalisé quelques autre projets autour du web qui ne sont plus en ligne, ou qui ne sont pas assez importants pour être présentés ici.
Curriculum Vitae
Vous pouvez télécharger mon Curriculum Vitae aux format PDF ou DOCX (Word 2010) en cliquant sur les liens.
Curriculum Vitae
Vous pouvez télécharger mon Curriculum Vitae aux format PDF ou DOCX (Word 2010) en cliquant sur les liens.
Curriculum Vitae
Vous pouvez télécharger mon Curriculum Vitae aux format PDF ou DOCX (Word 2010)
CV
Vous pouvez télécharger mon Curriculum Vitae aux format PDF ou DOCX (Word 2010)
CV
Vous pouvez télécharger mon Curriculum Vitae aux format PDF ou DOCX (Word 2010)
CV
Vous pouvez télécharger mon Curriculum Vitae aux format PDF ou DOCX (Word 2010)
Brouillon auto
PHPCommand v0.9 passons aux choses sérieuses !
EDIT: Comme vous l’aurez surement constaté, j’ai plus ou moins abandonné le développement de PHPc, mais je vien de découvrir php-shell qui après un rapide test semble très c.
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici donc un liste des amélioration de la version 0.9:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- Coloration syntaxique (merci @un_geek) ?
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while * evaluating users code. */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, here we'll handle F1 key } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode //Get the 2 next chars (special keys are at least 3chars $line = substr($line, 0, $c - PHPc::PSIZE); $line .= $char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici: phpc.php
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
Créations
Voici la liste de mes création :
Démos Ape-Project: J’ai réalisé dans le cadre de mon stage, puis de mon emploi auprès de la société Weelya, les démos TCPSocket Demo (IRC), MMORPG et Pixelbox. Utilisant uniquement du Javascript coté client, elles utilisent coté serveur, le server APE.
MtgCompare: J’ai réalisé ce site dans le but de développer mon framework PHP personnel, sur un design de Barbara LEE.
BioAuQuotidien ce site utilise Prestashop, j’ai intégré le design réalisé par Barbara LEE, j’ai aussi réalisé diverse adaptations du code et codé quelques modules.
ConceptSpa réalisé en collaboration avec Barbara LEE (Design), c’est le site public de la société ConceptSpa.
CRM ConceptSpa bien qu’une partie très petite du site soit visible, ce site intègre une gestion complète des clients, stock commandes facture ainsi qu’un agenda pour l’équipe de conceptSpa.
FindThePass réalisé avec Jomla, sur ce site d’énigmes, vous pourrez passer d’énigmes en énigmes en trouvant les mots de passe.
J’ai également réalisé quelques autre projets autour du web qui ne sont pas assez importants pour être présentés ici.
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats « analytics », je me suis rendus compte que mon widget igoogle faisait pas mal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais la maj des caches google ne devrais pas tarder)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats « analytics », je me suis rendus compte que mon widget igoogle faisait pas mal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais la maj des caches google ne devrais pas tarder)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle faisait pas mal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais la maj des caches google ne devrais pas tarder)
Pixelbox
Pixelbox
Pixelbox
Pixelbox
Pixelbox
Pixelbox
Pixelbox
Créations
Voici pour exemple certaines de mes créations :
KindleScreensavers: J’ai réalisé ce site avec en Python avec Django, dans le but d’apprendre cette technologie.
Démos Ape-Project: J’ai réalisé dans le cadre de mon stage, puis de mon emploi auprès de la société Weelya, les démos TCPSocket Demo (IRC), MMORPG et Pixelbox. Utilisant uniquement du Javascript coté client, elles utilisent coté serveur, le server APE.
BioAuQuotidien ce site utilise Prestashop, j’ai intégré le design réalisé par Barbara LEE, j’ai aussi réalisé diverse adaptations du code et codé quelques modules. (le site étant hors ligne, ce lien pointe vers une démo)
MtgCompare: J’ai réalisé ce site dans le but de développer mon framework PHP personnel, sur un design de Barbara LEE.
J’ai également réalisé quelques autre projets autour du web qui ne sont plus en ligne, ou qui ne sont pas assez importants pour être présentés ici.
Créations
Voici la liste de mes création :
BioAuQuotidien ce site utilise Prestashop, j’ai intégré le design réalisé par Barbara LEE, j’ai aussi réalisé diverse adaptations du code et codé quelques modules.
ConceptSpa réalisé en collaboration avec Barbara LEE (Design), c’est le site public de la société ConceptSpa.
CRM ConceptSpa bien qu’une partie très petite du site soit visible, ce site intègre une gestion complète des clients, stock commandes facture ainsi qu’un agenda pour l’équipe de conceptSpa.
FindThePass réalisé avec Jomla, sur ce site d’énigmes, vous pourrez passer d’énigmes en énigmes en trouvant les mots de passe.
J’ai également réalisé quelques autre projets autour du web qui ne sont pas assez importants pour être présentés ici.
Créations
Voici la liste de mes création :
BioAuQuotidien ce site utilise Prestashop, j’ai intégré le design réalisé par Barbara LEE, j’ai aussi réalisé diverse adaptations du code et codé quelques modules.
ConceptSpa réalisé en collaboration avec Barbara LEE (Design), c’est le site public de la société ConceptSpa.
CRM ConceptSpa bien qu’une partie très petite du site soit visible, ce site intègre une gestion complète des clients, stock commandes facture ainsi qu’un agenda pour l’équipe de conceptSpa.
FindThePass réalisé avec Jomla, sur ce site d’énigmes, vous pourrez passer d’énigmes en énigmes en trouvant les mots de passe.
J’ai également réalisé quelques autre projets autour du web qui ne sont pas assez importants pour être présentés ici.
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php '; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
Todo et bugs
Voila quelques petits bugs à corriger ou fonctionnalités à ajouter, si quelqu’un a une idée sur comment faire je suis preneur.
- Bugs :
- Ctrl + D cré un boucle infinie
- Fonctionnalités à ajouter :
- Modifier la ligne avec les touches Right et Left.
- Touche Up et Down pour l’historique
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).
Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) sur le google code: MooGraph on google code
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).
Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) sur le google code: MooGraph on google code
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).

Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) sur le google code: MooGraph on google code
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).

Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) sur le google code: MooGraph on google code
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).

Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) sur le google code: MooGraph on google code
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).

Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) sur le google code: MooGraph on google code
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph example
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).
Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) sur le google code: MooGraph on google code
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).
Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) sur le google code: MooGraph on google code
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).
Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) par ici:
Si vous avez des idées des trucs à améliorer/ajouter, des bugs a signaler, je suis preneur !
MooGraph, des graphiques avec mootools
Voila, ils fallait des graphs pour adBlogs et comme ceux de google analytics sont vraiment biens, mais malheureusement ils ne sont pas libre et en plus ils sont en flash, j’ai décidé de faire un petit plugin mootools avec canvas (Sur adBlogs google chart seras utilisé pour la compatibilité avec les navigateur ne supportant pas canvas).
Fonctionnalités:
- Plusieurs séries par graphiques.
- Chaque « point » est représenté par des puces, chaque puce affiche la valeur d’ordonné au survol.
- On peut choisir le style de puces parmi disc (cercle), square (losange), diamond (losange étiré) ou none (pas de puces).
- Possibilité de formater la valeur affichée des puces à travers une fonction.
- Possibilité de formater la valeur affichée des axes des ordonnés.
- 7 couleurs disponibles (et automatiques) pour les séries, et possibilité de choisir chaque valeurs.
- Une fonction est appelée à chaque click sur une puce, pour en faire ce que vous vouliez.
Voila, retrouvez la documentation (en anglais) par ici:
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici donc un liste des amélioration de la version 0.9:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- Coloration syntaxique (merci @un_geek) ?
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while * evaluating users code. */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, here we'll handle F1 key } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode //Get the 2 next chars (special keys are at least 3chars $line = substr($line, 0, $c - PHPc::PSIZE); $line .= $char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici: phpc.php
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici donc un liste des amélioration de la version 0.9:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while * evaluating users code. */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, here we'll handle F1 key } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode //Get the 2 next chars (special keys are at least 3chars $line = substr($line, 0, $c - PHPc::PSIZE); $line .= $char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici: phpc.php
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
EDIT: Comme vous l’aurez surement constaté, j’ai plus ou moins abandonné le développement de PHPc, mais je viens de découvrir php-shell qui après un rapide test semble très aboutis.
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici donc un liste des amélioration de la version 0.9:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- Coloration syntaxique (merci @un_geek) ?
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while * evaluating users code. */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, here we'll handle F1 key } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode //Get the 2 next chars (special keys are at least 3chars $line = substr($line, 0, $c - PHPc::PSIZE); $line .= $char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici: phpc.php
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici donc un liste des amélioration de la version 0.9:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while * evaluating users code. */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, here we'll handle F1 key } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode //Get the 2 next chars (special keys are at least 3chars $line = substr($line, 0, $c - PHPc::PSIZE); $line .= $char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici: phpc.php
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici donc un liste des amélioration de la version 0.9:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while * evaluating users code. */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, here we'll handle F1 key } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode //Get the 2 next chars (special keys are at least 3chars $line = substr($line, 0, $c - PHPc::PSIZE); $line .= $char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici: phpc.php
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration de la version 0.9:
- Isolation des variables du script pour éviter que le code de l’utilisateur n’interfere
Voici un liste des amélioration de la version 0.8:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while * evaluating users code. */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, here we'll handle F1 key } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode //Get the 2 next chars (special keys are at least 3chars $line = substr($line, 0, $c - PHPc::PSIZE); $line .= $char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici: phpc.php
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration de la version 0.9:
- Isolation des variables du script pour éviter que le code de l’utilisateur n’interfere
Voici un liste des amélioration de la version 0.8:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while * evaluating users code. */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, here we'll handle F1 key } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode //Get the 2 next chars (special keys are at least 3chars $line = substr($line, 0, $c - PHPc::PSIZE); $line .= $char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici:
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration de la version 0.9:
- Isolation des variables du script pour éviter que le code de l’utilisateur n’interfere
Voici un liste des amélioration de la version 0.8:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while evaluating users code */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, cause all keys like F1-12 don't needs to have an effect } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode $line = substr($line, 0, $c - PHPc::PSIZE).$char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici:
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration de la version 0.9:
- Isolation des variables du script pour éviter que le code de l’utilisateur n’interfere
Voici un liste des amélioration de la version 0.8:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while evaluating users code */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, cause all keys like F1-12 don't needs to have an effect } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode $line = substr($line, 0, $c - PHPc::PSIZE).$char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Le code seul ici:
PS: Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce code n’a qu’un but utilitaire et non un but d’apprentissage.
PHPCommand v0.9 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration de la version 0.9:
- Isolation des variables du script pour éviter que le code de l’utilisateur n’interfere
Voici un liste des amélioration de la version 0.8:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila le nouveau code (beaucoup plus long, ici on gere tout à la main (position du curseur, gestion des touches etc…):
#! /usr/bin/php <?php /** * Class used to isolate functions and vars that needs to keep defined while evaluating users code */ class PHPc{ const PROMPT = 'php>'; const PSIZE = 5;//Prompt's size +1 public static $lines = array(); public static $code_to_eval; public static function readChar(){ $ret = exec('stty cbreak -echo;c=`dd bs=1 count=1 2>/dev/null`;stty -cbreak echo;echo "$c."'); if($ret=='.') return "\n"; return substr($ret, 0, 1); } public static function delChar(&$line, $pos){ $line = substr($line, 0, $pos).substr($line, $pos+1); } public static function setLine(&$from, $to){ $size = strlen($from); $goto = strlen($to)+self::PSIZE; echo "\033[".self::PSIZE."G\033[{$size}P{$to}\033[{$goto}G"; $from = $to; return $goto; } } echo <<<INTRO PHP Command 0.9 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you do it. INTRO; while(true){ PHPc::$code_to_eval = ''; $continue = true; while($continue){ //Reset history index $index = 0; //Say that line isn't finished $ln = true; //Reset cursor pos $c = PHPc::PSIZE; $total = PHPc::PSIZE; $line = ''; echo PHPc::PROMPT; //Add empty line array_unshift(PHPc::$lines, ''); while($ln){ $char = PHPc::readChar(); $cod = ord($char); //Gonna parse each key if($cod == 10){//Enter echo "\033[".PHPc::PSIZE."G\n"; $ln = false; }else if($cod == 127){//Ret arriere if($c > PHPc::PSIZE){ PHPc::delChar($line, --$c-PHPc::PSIZE); --$total; echo "\033[D\033[1P"; } }else if($cod == 4){//Ctrl + D break 3;//We exit programm }else if($cod == 27){ $key = PHPc::readChar().PHPc::readChar(); switch($key){ case '[3'://Del PHPc::readChar(); if($c < $total){ PHPc::delChar($line, $c-PHPc::PSIZE); --$total; echo "\033[1P"; } break; case '[A'://up if(isset(PHPc::$lines[$index+1])){ if($index==0) PHPc::$lines[0] = $line; $to = PHPc::$lines[++$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[B'://down if($index > 0){ $to = PHPc::$lines[--$index]; $c = PHPc::setLine($line, $to); $total = $c; } break; case '[D'://left if($c > PHPc::PSIZE) echo "\033[".--$c.'G'; break; case '[C'://right if($c<$total) echo "\033[".++$c.'G'; break; default: //We don't do nothing, cause all keys like F1-12 don't needs to have an effect } }else{ echo "\033[4h$char\033[4l";//Echo char in insert mode $line = substr($line, 0, $c - PHPc::PSIZE).$char.substr($line, $c - PHPc::PSIZE); ++$c; ++$total; } } PHPc::$lines[0] = $line; PHPc::$code_to_eval .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count(PHPc::$code_to_eval, '{'); $cntc = substr_count(PHPc::$code_to_eval, '}'); if($cntc >= $cnto){ $continue = false; } } } //Clear local vars unset($c, $total, $line, $continue, $char, $cod, $cnto, $cntc, $to, $index); ob_start(); eval(PHPc::$code_to_eval); $txt = ob_get_contents(); ob_end_flush(); if($txt!='' && substr($txt, -1) != "\n") echo "\n"; } echo "\nExit\n"; ?>
Je ferais une version plus propre et mieux documentée, quand je sortirais la 1.0, pour le moment ce c : <TODO>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php '; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
Todo et bugs
Voila quelques petits bugs à corriger ou fonctionnalités à ajouter, si quelqu’un a une idée sur comment faire je suis preneur.
- Bugs :
- Ctrl + D cré un boucle infinie
- Fonctionnalités à ajouter :
- Modifier la ligne avec les touches Right et Left.
- Touche Up et Down pour l’historique
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php '; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
Todo et bugs
Voila quelques petits bugs à corriger ou fonctionnalités à ajouter, si quelqu’un a une idée sur comment faire je suis preneur.
- Bugs :
- Ctrl + D cré un boucle infinie
- Fonctionnalités à ajouter :
- Modifier la ligne avec les touches Right et Left.
- Touche Up et Down pour l’historique
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais la maj des caches google ne devrais pas tarder)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais la maj des caches google ne devrais pas tarder)
PHPCommand v0.8 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Isoler les commandes tapées du script (pour ne pas avoir accès au fonction/variables), ou en tout cas isoler les fonctions/variables du script dans une classe.
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila, cette fois je ne met plus le script ici qui est trop long, mais vous pouvez le retrouver ici : <TODO>
PHPCommand v0.8 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd nécessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Isoler les commandes tapées du script (pour ne pas avoir accès au fonction/variables), ou en tout cas isoler les fonctions/variables du script dans une classe.
- Ajouter l’aide avec F1 et avec –help
- Naviguer avec la souris
- D’autres idées ?
Voila, cette fois je ne met plus le script ici qui est trop long, mais vous pouvez le retrouver ici : <TODO>
PHPCommand v0.8 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 (Merci @paraboul), je me suis dit que mon script n’aurait aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd necessaire).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Isoler les commandes tapées du script (pour ne pas avoir accès au fonction/variables), ou en tout cas isoler les fonctions/variables du script dans une classe.
- Ajouter l’aide avec F1 et avec –help
- D’autres idées ?
Voila, cette fois je ne met plus le script ici qui est trop long, mais vous pouvez le retrouver ici : <TODO>
PHPCommand v0.8 passons aux choses sérieuses !
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 je me suis dit que mon script n’aurais aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Isoler les commandes tapées du script (pour ne pas avoir accès au fonction/variables), ou en tout cas isoler les fonctions/variables du script dans une classe.
- Ajouter l’aide avec F1 et avec –help
- D’autres idées ?
Voila, cette fois je ne met plus le script ici qui est trop long, mais vous pouvez le retrouver ici : <TODO>
PHPCommand v0.8 un grand pas en avant
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 je me suis dit que mon script n’aurais aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Isoler les commandes tapées du script (pour ne pas avoir accès au fonction/variables), ou en tout cas isoler les fonctions/variables du script dans une classe.
- Ajouter l’aide avec F1 et avec –help
- D’autres idées ?
Voila, cette fois je ne met plus le script ici qui est trop long, mais vous pouvez le retrouver ici : <TODO>
PHPCommand v0.8 un grand pas en avant
Voila, après avoir découvert php -a qui fait pratiquement la même chose que PHPCommand v0.1 je me suis dit que mon script n’aurais aucun intérêt si je ne l’améliorais pas.
Voici un liste des amélioration:
- ATTENTION: ce script utilise des commandes Unix spécifique, il ne fonctionne donc plus windows.
- Fonctionne sous Max OS X, et sur la plupart des distributions linux (support des « VT220 terminal escape sequences » et des commandes stty et dd).
- Support de l’historique, utilisez les touches haut et bas pour naviguer dans l’historique.
- Support de la navigation horizontale pour corriger/inserer des caracteres, support des touches Del et Ret arrière.
- Si votre script affiche un message ne se términant pas par « \n » celui-ci est ajouté automatiquement.
Todo list:
- Isoler les commandes tapées du script (pour ne pas avoir accès au fonction/variables), ou en tout cas isoler les fonctions/variables du script dans une classe.
- Ajouter l’aide avec F1 et avec –hrl
Plus de 100k icones chez iconfinder Ultimate
IconFinder nous propose une page « Utimate » contenant plusieurs pack d’icônes du web, pour un total de plus de 100 000 icônes.
Vous y retrouverez des kits de toutes sortes, aussi bien des petites icônes 16×16 pour vos sites webs, que des icônes pour votre pc, on y retrouve même des images d’iPhones et autres téléphones. La plupart de ces icônes ont un look très Web 2.0 et devraient se faire une place sur beaucoup de vos sites webs.
Plus de 100k icones chez iconfinder Ultimate
IconFinder nous propose une page « Utimate » contenant plusieurs pack d’icônes du web, pour un total de plus de 100 000 icônes.
Vous y retrouverez des kits de toutes sortes, aussi bien des petites icônes 16×16 pour vos sites webs, que des icônes pour votre pc, on y retrouve même des images d’iPhones et autres téléphones. La plupart de ces icônes ont un look très Web 2.0 et devraient se faire une place sur beaucoup de vos sites webs.
Plus de 100 000 icones chez iconfinder Ultimate
IconFinder nous propose une page « Utimate » contenant plusieurs pack d’icônes du web, pour un total de plus de 100 000 icônes.
Vous y retrouverez des kits de toutes sortes, aussi bien des petites icônes 16×16 pour vos sites webs, que des icônes pour votre pc, on y retrouve même des images d’iPhones et autres téléphones. La plupart de ces icônes ont un look très Web 2.0 et devraient se faire une place sur beaucoup de vos sites webs.
Plus de 100k icones chez iconfinder Ultimate
IconFinder nous propose une page « Utimate » contenant plusieurs pack d’icônes du web, pour un total de plus de 100 000 icônes.
Vous y retrouverez des kits de toutes sortes, aussi bien des petites icônes 16×16 pour vos sites webs, que des icônes pour votre pc, on y retrouve même des images d’iPhones et autres téléphones. La plupart de ces icônes ont un look très Web 2.0 et devraient se faire une place sur beaucoup de vos sites webs.
Plus de 100k icones chez iconfinder Ultimate
IconFinder nous propose une page « Utimate » contenant plusieurs pack d’icônes du web, pour un total de plus de 100 000 icônes.
Vous y retrouverez des kits de toutes sortes, aussi bien des petites icônes 16×16 pour vos sites webs, que des icônes pour votre pc, on y retrouve même des images d’iPhones et autres téléphones. La plupart de ces icônes ont un look très Web 2.0 et devraient se faire une place sur beaucoup de vos sites webs.
Plus de 100k icones chez iconfinder
IconFinder nous propose une page contenant plusieurs pack d’icônes du web, pour un total de plus de 100 000 icônes.
Vous y retrouverez des kits de toutes sortes, aussi bien des petites icônes 16×16 pour vos sites webs, que des icônes pour votre pc, on y retrouve même des images d’iPhones et autres téléphones. La plupart de ces icônes ont un look très Web 2.0 et devraient se faire une place sur beaucoup de vos sites webs.
IconFinder100k
Benchmark PHP n°2 faut-il écouter tout ce qu’on nous dit ?
Voici le deuxième benchmark de la série, aujourd’hui nous allons voir beaucoup d’exemple, le but étant de vérifier les conseil qu’on nous donne souvent, mais que en débutant on a tendance à prend avec un « Oui oui cause toujours ».
Au programme:
- count dans un for c’est si grave que ça ?
- echo avec des virgules ça change temps que ça ?
- pourquoi utiliser « === » ?
- $i++ c’est plus joli alors pourquoi utiliser ++$i ?
- Moi j’aime les doubles quotes !
- foreach c’est tellement simple !
Count dans un for c’est si grave que ça ?
On nous dit souvent de faire le count (ou tout autre appel de fonction) avant la boucle for, mais est-ce justifié ?
test_precount : Execution de 1000 iterations en 929.6531ms soit 0.9297ms/it.
test_postcount : Execution de 1000 iterations en 3530.0569ms soit 3.5301ms/it.
test_precount est donc 279.7176% fois plus rapide que test_postcount (2600.4038ms au totale soit 2.6004ms/it).
Execution total : 4.4619s
====================test_precount====================
function func1($array){
$cnt = count($array);
for($i=0;$i<$cnt;$i++){
//do something
}
}
=====================================================
====================test_postcount====================
function func2($array){
for($i=0;$i
Benchmark PHP n°2 faut-il écouter tout ce qu’on nous dit ?
Voici le deuxième benchmark de la série, aujourd’hui nous allons voir beaucoup d’exemple, le but étant de vérifier les conseil qu’on nous donne souvent, mais que en débutant on a tendance à prend avec un « Oui oui cause toujours ».
Au programme:
- count dans un for c’est si grave que ça ?
- echo avec des virgules ça change temps que ça ?
- pourquoi utiliser « === » ?
- $i++ c’est plus joli alors pourquoi utiliser ++$i ?
- Moi j’aime les doubles quotes !
- foreach c’est tellement simple !
Count dans un for c’est si grave que ça ?
On nous dit souvent de faire le count (ou tout autre appel de fonction) avant la boucle for, mais est-ce justifié ?
test_precount : Execution de 1000 iterations en 929.6531ms soit 0.9297ms/it.
test_postcount : Execution de 1000 iterations en 3530.0569ms soit 3.5301ms/it.
test_precount est donc 279.7176% fois plus rapide que test_postcount (2600.4038ms au totale soit 2.6004ms/it).
Execution total : 4.4619s
====================test_precount====================
function func1($array){
$cnt = count($array);
for($i=0;$i<$cnt;$i++){
//do something
}
}
=====================================================
====================test_postcount====================
function func2($array){
for($i=0;$i
Benchmark PHP n°2 faut-il écouter tout ce qu’on nous dit ?
Voici le deuxième benchmark de la série, aujourd’hui nous allons voir beaucoup d’exemple, le but étant de vérifier les conseil qu’on nous donne souvent, mais que en débutant on a tendance à prend avec un « Oui oui cause toujours ».
Au programme:
- count dans un for c’est si grave que ça ?
- echo avec des virgules ça change temps que ça ?
- pourquoi utiliser « === » ?
- $i++ c’est plus joli alors pourquoi utiliser ++$i ?
- Moi j’aime les doubles quotes !
- foreach c’est tellement simple !
Count dans un for c’est si grave que ça ?
On nous dit souvent de faire le count (ou tout autre appel de fonction) avant la boucle for, mais est-ce justifié ?
test_precount : Execution de 1000 iterations en 929.6531ms soit 0.9297ms/it. test_postcount : Execution de 1000 iterations en 3530.0569ms soit 3.5301ms/it. test_precount est donc 279.7176% fois plus rapide que test_postcount (2600.4038ms au totale soit 2.6004ms/it). Execution total : 4.4619s ====================test_precount==================== <?php function func1($array){ $cnt = count($array); for($i=0;$i<$cnt;$i++){ //do something } } ?> ===================================================== ====================test_postcount==================== <?php function func2($array){ for($i=0;$i<count($array);$i++){ //do something } } ?> ======================================================
Benchmark PHP n°2 faut-il écouter tout ce qu’on nous dit ?
Voici le deuxième benchmark de la série, aujourd’hui nous allons voir beaucoup d’exemple, le but étant de vérifier les conseil qu’on nous donne souvent, mais que en débutant on a tendance à prend avec un « Oui oui cause toujours ».
Au programme:
- count dans un for c’est si grave que ça ?
- echo avec des virgules ça change temps que ça ?
- pourquoi utiliser « === » ?
- $i++ c’est plus joli alors pourquoi utiliser ++$i ?
- Moi j’aime les doubles quotes !
- foreach c’est tellement simple !
Count dans un for c’est si grave que ça ?
On nous dit souvent de faire le count (ou tout autre appel de fonction) avant la boucle for, mais est-ce justifié ?
test_precount : Execution de 1000 iterations en 929.6531ms soit 0.9297ms/it.test_postcount : Execution de 1000 iterations en 3530.0569ms soit 3.5301ms/it.
test_precount est donc 279.7176% fois plus rapide que test_postcount (2600.4038ms au totale soit 2.6004ms/it).
Execution total : 4.4619s
====================test_precount====================
<?php
function func1($array){ $cnt = count($array);for(
$i=0;$i<$cnt;$i++){ //do something }}
?> =========================================================================test_postcount====================
<?php
function func2($array){
for($i=0;$i<count($array);$i++){
//do something
}
}
?>
======================================================
Benchmark PHP n°2 faut-il écouter tout ce qu’on nous dit ?
Voici le deuxième benchmark de la série, aujourd’hui nous allons voir beaucoup d’exemple, le but étant de vérifier les conseil qu’on nous donne souvent, mais que en débutant on a tendance à prend avec un « Oui oui cause toujours ».
Au programme:
- count dans le for c’est si grave que ça ?
- echo avec des virgules ça change temps que ça ?
- pourquoi utiliser « === » ?
- $i++ c’est plus joli alors pourquoi utiliser ++$i ?
- Moi j’aime les doubles quotes !
- Foreach c’est tellement simple !
Benchmark PHP n°2 faut-il écouter tout ce qu’on nous dit ?
Voici le deuxième benchmark de la série, aujourd’hui nous allons voir beaucoup d’exemple, le but étant de vérifier les conseil qu’on nous donne souvent, mais que en débutant on a tendance à prend avec un « Oui oui cause toujours ».
Au programme:
- count dans le for c’est si grave que ça ?
- echo avec des virgules ça change temps que ça ?
- pourquoi utiliser « === » ?
- $i++ c’est plus joli alors pourquoi utiliser ++$i ?
Benchmark PHP n°2 faut-il écouter tout ce qu’on nous dit ?
Voici le deuxième benchmark de la série, aujourd’hui nous allons voir beaucoup d’exemple, le but étant de vérifier les conseil qu’on nous donne souvent, mais que en débutant on a tendance à prend avec un « Oui oui cause toujours ».
Au programme:
- count dans le for c’est si grave que ça ?
- echo avec des virgules ça change temps que ça ?
- pourquoi utiliser « === » ?
- $i++ c’est plus joli alors pourquoi utiliser
Benchmark PHP n°2 faut-il écouter tout ce qu’on nous dit ?
Voici le deuxième benchmark de la série, aujourd’hui nous allons voir beaucoup d’exemple, le but étant de vérifier les conseil qu’on nous donne souvent, mais que en débutant on a tendance à prend avec un « Oui oui cause toujours ».
Au programme:
- count dans le for c’est si grave que ça ?
- echo avec des virgules ça change temps que ça ?
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais la maj des caches google ne devrais pas tarder)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais la maj des caches google ne devrais pas tarder)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l'ajouter c'est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l'ancienne version, mais)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien présente encore l’enciene version, mais il devrais être mis a jour sous peut)
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différences de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performances de deux méthodes, et je vous livrerai dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset, voici le résultat du benchmark comparatif.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus d’un fois et demi plus rapide (ce qui reste vrai même avec un texte beaucoup plus long). Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voilà une bonne raison pour s’y mettre.
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
Todo et bugs
Voila quelques petits bugs à corriger ou fonctionnalités à ajouter, si quelqu’un a une idée sur comment faire je suis preneur.
- Bugs :
- Ctrl + D cré un boucle infinie
- Fonctionnalités à ajouter :
- Modifier la ligne avec les touches Right et Left.
- Touche Up et Down pour l’historique
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats « analytics », je me suis rendus compte que mon widget igoogle faisait pas mal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?synd=open&url=http://www.korri.fr/divers/ig/maps.xml (le lien montre l’ancienne version, mais la maj des caches google ne devrais pas tarder)
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://www.korri.fr/divers/ig/maps.xml
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://www.korri.fr/divers/ig/maps.xml
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://www.korri.fr/divers/ig/maps.xml
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://www.korri.fr/divers/ig/maps.xml
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://www.korri.fr/divers/ig/maps.xml
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://ig.korri.fr/maps/maps.xml
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://ig.korri.fr/maps/maps.xml
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://ig.korri.fr/maps/maps.xml
Trucs funs sur google maps
Voila en regardant la semaine dernière mes stats analytics, je me suis rendus compte que mon widget igoogle fessait pamal de visites, aussi j’ai décidé de m’en occuper un peut et de le mettre a jour.
Au programme des nouveautés:
- Le widget n’est plus statique, les « places » sont choisies parmi une longue liste et change chaque jour.
- Les lieux non visités sont encadrés en rouge, les lieux visités ne le sont plus.
- Des lieux serons ajoutés régulièrement.
- Plusieurs instances du widget peuvent être utilisées, les « places » affichés ne seront pas les mêmes.
Voila un exemple de ce que donne le widget:
Voila pour l’ajouter c’est par la : http://www.google.com/ig/directory?hl=en&synd=open&url=http://ig.korri.fr/maps/maps.xml
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
Todo et bugs
Voila quelques petits bugs à corriger ou fonctionnalités à ajouter, si quelqu’un a une idée sur comment faire je suis preneur.
- Bugs :
- Ctrl + D cré un boucle infinie
- Fonctionnalités à ajouter :
- Modifier la ligne avec les touches Right et Left.
- Touche Up et Down pour l’historique
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
Todo et bugs
Voila quelques petits bugs à corriger ou fonctionnalités à ajouter, si quelqu’un a une idée sur comment faire je suis preneur.
- Bugs :
- Ctrl + D cré un boucle infinie
- Fonctionnalités à ajouter :
- Modifier la ligne avec les touches Right et Left.
- Touche Up et Down pour l’historique
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a souvent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et « hop » le champ est rempli !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a souvent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et « hop » le champ est rempli !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a souvent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et « hop » le champ est rempli !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a souvent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et « hop » le champ est rempli !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a souvent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et « hop » le champ est remplit !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différences de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performances de deux méthodes, et je vous livrerai dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset, voici le résultat du benchmark comparatif.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus d’un fois et demi plus rapide (ce qui reste vrai même avec un texte beaucoup plus long). Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voilà une bonne raison pour s’y mettre.
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différences de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performances de deux méthodes, et je vous livrerai dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset, voici le résultat du benchmark comparatif.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus d’un fois et demi plus rapide (ce qui reste vrai même avec un texte beaucoup plus long). Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voila une bonne raison pour s’y mettre.
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différences de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performances de deux méthodes, et je vous livrerais dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset, voici le résultat du benchmark comparatif.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus d’un fois et demi plus rapide (ce qui reste vrai même avec un texte beaucoup plus long). Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voila une bonne raison pour s’y mettre.
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHPCommand 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand Example
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Command 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPConsole, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
EDIT: Retrouvez la nouvelle version ici : PHPCommand 0.9
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir à créer un fichier ou à échapper tous les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’à exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’à taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script sera évalué une fois que vous aurez fini une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php '; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto = substr_count($texte, '{'); $cntc = substr_count($texte, '}'); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
Todo et bugs
Voila quelques petits bugs à corriger ou fonctionnalités à ajouter, si quelqu’un a une idée sur comment faire je suis preneur.
- Bugs :
- Ctrl + D cré un boucle infinie
- Fonctionnalités à ajouter :
- Modifier la ligne avec les touches Right et Left.
- Touche Up et Down pour l’historique
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php '; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHP Command example
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php <?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des suggestions, si vous trouvez des bugs un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des sugestions, si vous trouvez des bugsn un ptit commentaire est le bienvenue !
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PS: Si vous avez des sugestions, si vous trouvez des bugsn un ptit commentaire est le
phpc.phps
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo < <'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc.phps
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo < <'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo < <'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
Télécharger le code phpc
phpc
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
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 33 | #! /usr/bin/php »?php echo < <<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?> |
Télécharger le code ici
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
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 33 | #! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?> |
Télécharger le code ici
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derri�re ce nom pompeux se cache un petit script que j’ai cod�. Il s’adresse � ceux qui veulent faire des tests de php sans avoir a cr�er un fichier ou � echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a ex�cuter le script phpc.php (php phpc.php)

Pour une int�gration plus compl�te sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et � le rendre ex�cutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lanc�, le script attend que vous tapiez un script, le script seras �valu� une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien �t� ferm�es.
#! /usr/bin/php <?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<<INTRO PHP Console 0.1 Created by Hugo Vacher (korri.fr) Code is interpreted when line end with ';' or '}' and that all '{' are closed. You are free to use, modify and redistribute this code, please leave me a comment if you use it. INTRO; while(true){ $texte = ''; $continue = true; while($continue){ echo 'php>'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
#! /usr/bin/php < ?php echo <<'; $line = trim(fgets(STDIN)); $texte .= $line; if(substr($line,-1)==';' || substr($line,-1)=='}'){ $cnto; $cntc; str_replace('{','{',$texte,$cnto); str_replace('}','}',$texte,$cntc); if($cntc >= $cnto){ $continue = false; } } } eval($texte); } ?>
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
PHPCommand, une console php
PHPCommand, derrière ce nom pompeux se cache un petit script que j’ai codé. Il s’adresse à ceux qui veulent faire des tests de php sans avoir a créer un fichier ou à echaper tout les guillemets pour faire php -r, pour l’utiliser rien de plus simple :
Il vous faut php en ligne de commande (php cli ou cgi).
Il ne vous reste plus qu’a exécuter le script phpc.php (php phpc.php)

Pour une intégration plus complète sous Linux/Mac il suffit de renommer le script en supprimant l’extension (phpc.php en php), le placer dans /usr/bin/phpc et à le rendre exécutable. Il ne vous reste qu’a taper phpc et la commande s’ouvrira.
Fonctionnement : Une fois lancé, le script attend que vous tapiez un script, le script seras évalué une fois que vous aurez finis une ligne avec un ‘;’ ou ‘}’, si toutes les accolades ont bien été fermées.
Contact
Pour me contacter utilisez le formulaire ci-dessous, ou un des moyens qui suivent :
Autres moyen de contact :
- Fax/Téléphone : 09 72 11 37 07
Contact
Pour me contacter utilisez le formulaire ci-dessous, ou un des moyens qui suivent :
Autres moyen de contact :
- Fax/Téléphone : 09 72 11 37 07
Contact
Pour me contacter, vous pouvez utiliser les moyen suivants:
- Fax/Téléphone : 09 72 11 37 07
- Formulaire :
Contact
Pour me contacter, vous pouvez utiliser les moyen suivants:
- Fax/Téléphone: 09 72 11 37 07
Contact
Pour me contacter, vous pouvez utiliser les moyen suivants:
- Fax/Téléphone: 09 72 11 37 07
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset, voici le résultat du benchmark comparatif.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus d’un fois et demi plus rapide (ce qui reste vrai même avec un texte beaucoup plus long). Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voila une bonne raison pour s’y mettre.
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset, voici le résultat du benchmark comparatif.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus d’un fois et demi plus rapide (ce qui reste vrai même avec un texte beaucoup plus long). Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voila une bonne raison pour s’y mettre.
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différences de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performances de deux méthodes, et je vous livrerai dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset, voici le résultat du benchmark comparatif.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus d’un fois et demi plus rapide (ce qui reste vrai même avec un texte beaucoup plus long). Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voilà une bonne raison pour s’y mettre.
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset, voici le résultat du benchmark comparatif.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus de 1/2 fois plus rapide. Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voila une occasion a ne pas rater.
Benchmark PHP N°1 strlen vs isset
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais dans ces articles les résultats commentés.
Il existe deux méthodes pour vérifier si une chaine compte au minimum X caractères, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus de 1/2 fois plus rapide. Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voila une occasion a ne pas rater.
Benchmark PHP N°1
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais dans ces articles les résultats commentés.
Il existe deux méthodes, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus de 1/2 fois plus rapide. Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voila une occasion a ne pas rater.
Benchmark PHP N°1
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais dans ces articles les résultats commentés.
Il existe deux méthodes, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus de 1/2 fois plus rapide. Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnellement je n’utilise pas souvent les accolades pour sortir un caractère, mais voila une occasion a ne pas rater.
Benchmark PHP N°1
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais dans ces articles les résultats commentés.
Il existe deux méthodes, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus de 1/2 fois plus rapide. Il vaut donc mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe.
Personnelement je n’utilise pas souvent les accolades pour
Benchmark PHP N°1
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais ici les résultats commentés.
Premier test : Savoir si un chaine mesure au moins X caractères.
Il existe deux méthodes, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus 1/2 fois plus rapide, donc il n’y a pas à hésiter, il vau mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe (comme vous pouvez le voir on utilise les accolade pour récupérer le Xeme caractère).
Benchmark PHP N°1
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais ici les résultats commentés.
Premier test : Savoir si un chaine mesure au moins X caractères.
Il existe deux méthodes, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus 1/2 fois plus rapide, donc il n’y a pas à hésiter, il vau mieux utiliser notre bon vieux isset pour vérifier si le Xeme caractère existe (comme vous pouvez le voir on utilise les accolade pour récupérer le Xeme caractère).
Benchmark PHP N°1
Voila une série de benchmarks php qui commence, parce qu’on se demande souvent quel choix faire quand deux solutions équivalentes s’offrent à nous, il est bon de connaitre les différence de performances entre deux méthodes.
J’ai donc créé un petit script qui me permet de tester relativement facilement les performance de deux fonction, et je vous livrerais ici les résultats commentés.
Premier test : Savoir si un chaine mesure au moins X caractères.
Il existe deux méthodes, on peut utiliser strlen et comparer le résultat à X ou alors vérifier que le Xeme caractère est définit en utilisant isset.
Résultats :
test_with_isset : Exécution de 1000000 itérations en 2153.5752ms soit 0.0022ms/it. test_with_strlen : Exécution de 1000000 itérations en 3354.2722ms soit 0.0034ms/it. test_with_isset est donc 55.7537% fois plus rapide que test_with_strlen (1200.697ms au totale soit 0.0012ms/it). Exécution total : 6.7465s ====================test_with_isset==================== function func1($texte, $length){ return isset($text{$length}); } ======================================================= ====================test_with_strlen==================== function func2($texte, $length){ return strlen($text) > $length; } ======================================================== ====================ARGUMENTS==================== Array ( [0] => Chaine de test [1] => 12 ) =================================================
Comme on peut le constater, la méthode utilisant isset est plus 1/2 fois plus rapide, donc il n’y a pas à hésiter, il vau mieux utiliser notre bon vieux
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a soucent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et « hop » le champ est remplit !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a soucent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et hop le champ est remplir !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
10 « Awesome » polices « Écrites main »
myInkBlog nous propose 10 police « écrites main » ces 10 polices de qualité plus que raisonnable ont étés péchés un peut partout sur le web par le propiétaire du blog, vous trouverez également 5 autres « pack » d’autres genre de polices sur le blog.
Site : myInkBlog
Lien : 10 police « écrites main »
181 icônes au style "Grungy"
DryIcons nous propose un set icônes « Grungy ». Le kit « Grungy Aesthetica Icons » comprenant 181 icônes vieillis pour un effets assez sympathique qui pourrais en intéresser quelques uns.
Comme d’habitude, ces icônes sont livrées sous une licence autorisant l’utilisation aussi bien pour vos projets personnels que professionnels !
Site : DryIcons
Lien : Grungy Aesthetica Icons
52 Polices de logos
Encore des polices aujourd’hui, oui mais des polices de logo. Ces polices sont utilisées par certaines marques pour écrire leur nom, Hidden Pixels en a retrouvé 52 pour nous.

Lien : Free Fonts for Typography / Logotype
Site : Hidden Pixels
Pattern8 des backgrounds répétable !
10 « Awesome » polices « Écrites main »
myInkBlog nous propose 10 police « écrites main » ces 10 polices de qualité plus que raisonnable ont étés péchés un peut partout sur le web par le propiétaire du blog, vous trouverez également 5 autres « pack » d’autres genre de polices sur le blog.
Site : myInkBlog
Lien : 10 police « écrites main »
10 « Awesome » polices « Écrites main »
myInkBlog nous propose 10 police « écrites main » ces 10 polices de qualité plus que raisonnable ont étés péchés un peut partout sur le web par le propiétaire du blog, vous trouverez également 5 autres « pack » d’autres genre de polices sur le blog.

Site : myInkBlog
Lien : 10 police « écrites main »
Blog
Blog
Accueil
Bienvenue sur mon nouveau site web,
ce site se repose entièrement sur WordPress car je n’avais plus le temps de m’occuper du développement du dernier. De plus ce site, et tout particulièrement sa partie blog, se veut orienté développement Web, vous pourrez y retrouver des astuces de programmation, touchant aussi bien au PHP qu’au Javascript en passant par le CSS.
Le site est encore en développement, alors soyez patients !
Accueil
Bienvenue sur mon nouveau site web,
ce site se repose entièrement sur WordPress car je n’avais plus le temps de m’occuper du développement du dernier. De plus ce site, et tout particulièrement sa partie blog, se veut orienté développement Web, vous pourrez y retrouver des astuces de programmation, touchant aussi bien au PHP qu’au Javascript en passant par le CSS.
Le site est encore en développement, alors soyez patients !
À propos
Ceci est un exemple de page WordPress. Vous pouvez la modifier pour mettre ici des informations vous concernant ou concernant votre site afin que vos lecteurs en sachent un peu plus sur vous. Vous pouvez créer autant de pages ou sous-pages que vous voulez, et gérer l’intégralité de votre contenu dans WordPress.
10 "Awesome" polices "Écrites main"
myInkBlog nous propose 10 police « écrites main » ces 10 polices de qualité plus que raisonnable ont étés péchés un peut partout sur le web par le propiétaire du blog, vous trouverez également 5 autres « pack » d’autres genre de polices sur le blog.

Site : myInkBlog
Lien : 10 police « écrites main »
10 « Awesome » polices « Écrites main »
myInkBlog nous propose 10 police « écrites main » ces 10 polices de qualité plus que raisonnable ont étés péchés un peut partout sur le web par le propiétaire du blog, vous trouverez également 5 autres « pack » d’autres genre de polices sur le blog.
Site : myInkBlog
Lien : 10 police « écrites main »
PolicesMain
Boutons psd gratuits !
Button-download.com propose quelques boutons en psd ou png à télécharger, vous pouvez également télécharger tout les boutons.
Il ne vous reste qu’à vous en inspirer ou à les utiliser tel-quel !
Site : Button-download.com
Polices premium gratuites !
Free Premium Fonts est un site qui propose quelques milliers de polices gratuites de qualité. Pour ceux qui connaissent déja dafont.com celui-ci est un autre site du même genre.
Site : Free Premium Fonts
Onebit, 50 icones de qualité !
IcoJoy nous propose un kit de 50 icônes gratuites. Pour une fois on a affaire à un kit qui ne cherche pas à être « glossy », mais qui donne un aspect très appréciable.
Site : IcoJoy
Lien : Onebit free icon set
Source : WebResourcesDepot
Pattern8 des backgrounds répétable !
Pattern8 des backgrounds répétable !
35 background répétables !
Noqta nous popose plus de 35 backgrounds répétables, trés bien présentés ils sont tous de qualité irréprochable.
Site : Noqta
Lien : DROMOSCOPIO
FreePremiumFonts
button-download
Backgrounds
Background
Onebit
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a souvent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et « hop » le champ est rempli !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
Un generateur de mot de passe toujours avec vous !
Aujourd’hui nous ne parlerons pas de design, mais d’un petit Bookmarklet que j’ai réalisé. On a soucent besoin de générer un mot de passe et c’est toujours un casse tête (personnellement j’utilise un widget Mac, mais il n’est absolument pas personnalisable).
Aussi, j’ai profité de cette occasion pour m’initier aux Bookmarklet, j’en ai également profité pour faire du javascript sans jQuery, chose que je n’avais pas faite depuis longtemps.

J’ai fait ce que j’ai pu avec le design, mais ce n’est pas mon point fort.
Details :
- Nouveautées 0.8
- AutoRemplissage : Cliquez dans un champ, cliquez sur générer et hop le champ est remplir !
- Fermeture : Plus de bouton [X] pour fermer, il suffit de re-cliquer sur le lien.
Bookmarklet : KPassGenerator (Cliquez pour tester ou glissez moi dans votre barre de favoris !)
image-11
Bookmarklet
52 Polices de logos
Encore des polices aujourd’hui, oui mais des polices de logo. Ces polices sont utilisées par certaines marques pour écrire leur nom, Hidden Pixels en a retrouvé 52 pour nous.
Lien : Free Fonts for Typography / Logotype
Site : Hidden Pixels
52 Polices de logos
Encore des polices aujourd’hui, oui mais des polices de logo. Ces polices sont utilisées par certaines marques pour écrire leur nom, Hidden Pixels en a retrouvé 52 pour nous.

Lien : Free Fonts for Typography / Logotype
Site : Hidden Pixels
logofonts
30 polices de qualité
DESIGNER DAILY nous propose 30 Polices de qualité péchées un peut partout sur le web, et qui devraient de par leur licence permitive pouvoir decrorer vos design pour des effets des plus jolis !
Site : DESIGNER DAILY
Lien : 30 high-quality free fonts for great designs
Source : Flux de la passion
30 polices
30 Polices
181 icônes au style "Grungy"
DryIcons nous propose un set icônes « Grungy ». Le kit « Grungy Aesthetica Icons » comprenant 181 icônes vieillis pour un effets assez sympathique qui pourrais en intéresser quelques uns.
Comme d’habitude, ces icônes sont livrées sous une licence autorisant l’utilisation aussi bien pour vos projets personnels que professionnels !
Site : DryIcons
Lien : Grungy Aesthetica Icons
181 icônes au style "Grungy"
DryIcons nous propose un set icônes « Grungy ». Le kit « Grungy Aesthetica Icons » comprenant 181 icônes vieillis pour un effets assez sympathique qui pourrais en intéresser quelques uns.
![]()
Comme d’habitude, ces icônes sont livrées sous une licence autorisant l’utilisation aussi bien pour vos projets personnels que professionnels !
Site : DryIcons
Lien : Grungy Aesthetica Icons
DryIcons
DryIcons propose beaucoup de belles icônes !
iconPot, quelques 2956 icônes !
Dator Blog nous fait découvrir iconPot qui nous offre un compilation de plus de 2900 icônes, pêchées un peut partout sur le web.
Toutes de très bonne qualité et disponibles dans différents formats, elles sont distribuées sous différentes licence vous permettant de les utiliser pour vos projets personnels et professionnels.
Site : iconPot
Source : Dator Blog
IconPot
IconPot propose plus de 2700 icônes !
iconpot
IconPot, plus de 2700 icônes libres de droits !
WooThemes ultimate icon set (78)
WooThemes nous propose le « WooThemes ultimate icon set » composé de 79 trés jolies et réussies icones. Les icones sont proposées en 256×256 au format png ou gif. Les source illustrator sont églement accessibles au membres.

Livrées sous licence Creative Commons, vous pourez les utiliser librement pour vos projets personnels et professionnels !
Site : WooThemes
Lien : WooThemes ultimate icon set
Référence : WebResourcesDepot
WooThemes Ultimate icon set
Le thème de 79 icônes de Woothemes
Textures répétables realistes de qualité
Seamless Textures (littéralement : « Textures sans soudures ») nous propose des textures que vous pouvez répéter dans aucun problème et donc utilise comme background en mosaïque !
L’auteur livre a chaque fois la texture originale (non répétable) qu’il a transformé. Ces texture de trés bonnes qualité sons livrées sous licence très permissive qui n’interdit que la revente de ces images.
Site : SeamlessTextures.net
Source : WebRessourcesDepot
SemlessTextures.net
1000+ backgrounds pour vos pages webs !
Ava7patterns avec son design très « Web 2.0″ vous offres plus de 1000 background pour vos sites webs !
Le système de preview vous permet même de les voir de manière très simple en font du fameux site.

Bien qu’un backlink soit apprécié par le propriétaire, il n’est en aucun cas obligatoire, aussi vous pouvez les utiliser pour tout vos projets.
Site : Ava7patterns
Source : WebRessourcesDepot
ava7patterns
Des backgrounds et encore des backgrounds pour vos sites webs.
Icônes de Ganato (198+)
Ganato nous offres deux sets d’iconnes, les premieres au format psd (En fait 24 petits sets d’iconnes de 174 iconnes), les autres au format aif/pdf (En fait 24 icones a télécharger indépendament).

Au final, un total de 198 icônes sous un license (non précisée), qui vous laisse les utiliser pour vos projets personnels et professionels.
Site : Ganato FREE Stuff
Ganado
Les icones de Ganado
Font Squirrel, des polices gratuites !
Font Squirrel vous propose des polices de qualité professionnelle gratuitement, de plus la licence vous permet de les utiliser pour vos projets commerciaux !
En effet, la plupart de ces polices sont des freeware (ou Gratuiciel), ou, la licence autorise au minimum l’usage dans vos projets personnels et professionnels !
Source : WebRessources Depot
Site : Squirrel Font
Déjà 300 polices, et de nouvelles sont ajoutées chaque jour !
Squirrel font
Aperçu de Squirrel Font !
FamFamFam icons
Mark James (Alias FamFamFam) offre sous licence Créative Commons, des icônes très utilisées aujourd’hui sur le web, alors que peut connaissent leurs provenance.
Cette page contient aussi des drapeaux nommés selon la norme ISO 3166-1 Alpha-2 qui peuvent-être très utiles.
Le site : FamFamFam icons
Les icônes : Silk icons, Flags icons et Mini icons
Un total de 1087 icônes pour le plaisir de tous !
Flags Icons
Les drapeau de FamFamFam !
Silk icons
Les icônes « Soie » de FamFamFam.com
Présentation
Voila, mon blog est lancé.
Ici vous retrouverez des infos sur mes projets, mes surtout des astuces et ressources (gratuites) péchées sur le web pour vos site et developement !
Bonne lecture a tous !






























