Warning: Parameter 1 to ace_where() expected to be a reference, value given in /home/www-data/korri.fr/www/wp-includes/plugin.php on line 227

Warning: Parameter 1 to ace_join() expected to be a reference, value given in /home/www-data/korri.fr/www/wp-includes/plugin.php on line 227
Formulaire de contact 1 | Korri.fr

Ce site a pour vocation de me présenter, moi, Hugo Vacher. Vous retrouverez ici mes créations, mon Curiculum Vitae. Se site comporte également une partie "blog" qui contiendras des conseils et ressources pour developpeurs.

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