Voilà donc maintenant un espace pour les photos avec Google.
Bon, voilà un extrait ;) de la 3D pour changer...mais aussi d'autres choses ;)
Mon Blog est un blog de programmation essentiellement, mais quelques réalisations 3D seront également publiées.
Pas mal de musique y est ajoutee aussi, ca en fait des hobbys!
samedi 14 octobre 2006
Album Photo sur Google avec Picassa
dimanche 24 septembre 2006
Des photos maintenant !
jeudi 20 juillet 2006
Mon premier mapping UV !
mercredi 19 juillet 2006
Bamboo - Suite
samedi 8 juillet 2006
Un wallpaper en bamboo
dimanche 2 juillet 2006
Premiers pas sous Blender

Et oui, non seulement je suis passé sous linux (en dual boot hein, pas fou !!)
et en plus, je me suis mis à Blender qui jusque là ne m'avait pas convaincu.
Mais il n'en est plus rien maintenant, et je regrette le temps perdu sur d'autres logiciel, car Blender est vraiment génial. son interface est redoutablement efficace mais il faut se l'apprivoiser !
Voilà donc une ch'tit image en démo ;)
lundi 15 mai 2006
J'ai gagné!!!

Handi 4
Komi 0.5
Taille 19x19
Voilà ma partie en SGF pour les initiés.

dimanche 19 février 2006
vendredi 17 février 2006
Colt Elite 10mm Suite
jeudi 16 février 2006
Colt Elit 10mm
mercredi 27 juillet 2005
change_ordre($_table, $_field, $_clause, $_old, $_new)
/*
Methode qui change l'ordre d'objets dans une base
en insérant un objet puis on décallant tous les autres
Normalement, ceci ne laisse pas de trou
$_clause doit commencer par le mot WHERE
*/
function change_ordre($_table, $_field, $_clause, $_old, $_new) {
//on monte dans la liste
$query="";
if($_new < $_old) { $query="UPDATE $_table SET $_field={$_field}+1 $_clause AND $_field>=$_new AND $_field<$_old"; } if($_new > $_old) {
$query="UPDATE $_table SET $_field={$_field}-1 $_clause AND $_field>$_old AND $_field<=$_new"; } if($query) { //il faut isoler l'élément courant
mysql_query("UPDATE $_table SET $_field=-1 $_clause AND $_field=$_old");
#print $query;
mysql_query($query) or print "!--$query-->";
#MAJ de l'élément en lui-même
mysql_query("UPDATE $_table SET $_field=$_new $_clause AND $_field=-1");
}
}
Methode qui change l'ordre d'objets dans une base
en insérant un objet puis on décallant tous les autres
Normalement, ceci ne laisse pas de trou
$_clause doit commencer par le mot WHERE
*/
function change_ordre($_table, $_field, $_clause, $_old, $_new) {
//on monte dans la liste
$query="";
if($_new < $_old) { $query="UPDATE $_table SET $_field={$_field}+1 $_clause AND $_field>=$_new AND $_field<$_old"; } if($_new > $_old) {
$query="UPDATE $_table SET $_field={$_field}-1 $_clause AND $_field>$_old AND $_field<=$_new"; } if($query) { //il faut isoler l'élément courant
mysql_query("UPDATE $_table SET $_field=-1 $_clause AND $_field=$_old");
#print $query;
mysql_query($query) or print "!--$query-->";
#MAJ de l'élément en lui-même
mysql_query("UPDATE $_table SET $_field=$_new $_clause AND $_field=-1");
}
}
execTime
Ceci est un code à mettre dans un fichier.
Il suffit d'appeler le fichier 2 fois (au début et à la fin) pour connaitre la durée d'exectution du script.
//ce fichier doit être appelé 2 fois (1 pour mémoriser le début et l'autre pour afficher)
if(!$_GLOBAL['starttime']) {
list($usec, $sec) = explode(" ", microtime());
$_GLOBAL['starttime']=$usec + $sec;
}
else {
list($usec, $sec) = explode(" ", microtime());
$__now=$usec + $sec;
$exectime = round(($__now - $_GLOBAL['starttime']) * 100) / 100;
echo "Temps d'execution : " . $exectime . " secondes";
}
?>
Il suffit d'appeler le fichier 2 fois (au début et à la fin) pour connaitre la durée d'exectution du script.
//ce fichier doit être appelé 2 fois (1 pour mémoriser le début et l'autre pour afficher)
if(!$_GLOBAL['starttime']) {
list($usec, $sec) = explode(" ", microtime());
$_GLOBAL['starttime']=$usec + $sec;
}
else {
list($usec, $sec) = explode(" ", microtime());
$__now=$usec + $sec;
$exectime = round(($__now - $_GLOBAL['starttime']) * 100) / 100;
echo "Temps d'execution : " . $exectime . " secondes";
}
?>
vendredi 22 juillet 2005
class Debug
/*
Debugger par cedric : simonced@gmail.com
permet d'aider à tracer l'évolution de certaines variables en cours de
développement
exemple d'utilisation :
$dbg=new Debug(__FILE__);
// si on met un 2eme param à false c'est pour désactiver les sorties
$dbg->watch('a',&$a); //on donne le nom de la variable puis sa référence
...
//et quand on en a besoin, on appelle l'affichage
$dbg->display(__LINE__);
*/
class Debug {
var $file;
var $vars=Array();
var $display=true;
//constructeur, doit systématiquement etre appelé avec le nom du ficher PHP
//en cours de debuggage (__FILE__ doit aider facilement)
function Debug($file_, $display_=true) {
$this->file=$file_;
$this->display=$display_;
}
//fonction qui permet de regarder le contenu d'une variable
//attention de ne pas mettre de noms identiques pour plusieurs variabeles
function watch($name_, &$value_) {
//on ajoute la référence
$this->vars[$name_]=&$value_;
}
//affichage simplement des info au moment voulu.
function display($line_) {
if($this->display==true && count($this->vars)>0) {
print ">>>
".$this->file." : $line_
";
foreach($this->vars as $var => $value) {
print $var." = ".$value."
";
}
print "<<<
";
}
}
}
Debugger par cedric : simonced@gmail.com
permet d'aider à tracer l'évolution de certaines variables en cours de
développement
exemple d'utilisation :
$dbg=new Debug(__FILE__);
// si on met un 2eme param à false c'est pour désactiver les sorties
$dbg->watch('a',&$a); //on donne le nom de la variable puis sa référence
...
//et quand on en a besoin, on appelle l'affichage
$dbg->display(__LINE__);
*/
class Debug {
var $file;
var $vars=Array();
var $display=true;
//constructeur, doit systématiquement etre appelé avec le nom du ficher PHP
//en cours de debuggage (__FILE__ doit aider facilement)
function Debug($file_, $display_=true) {
$this->file=$file_;
$this->display=$display_;
}
//fonction qui permet de regarder le contenu d'une variable
//attention de ne pas mettre de noms identiques pour plusieurs variabeles
function watch($name_, &$value_) {
//on ajoute la référence
$this->vars[$name_]=&$value_;
}
//affichage simplement des info au moment voulu.
function display($line_) {
if($this->display==true && count($this->vars)>0) {
print ">>>
".$this->file." : $line_
";
foreach($this->vars as $var => $value) {
print $var." = ".$value."
";
}
print "<<<
";
}
}
}
param_leader($param_)
/*
procedure de gestion de paramètres
priorite : GET, SESSION
si valeur inexistante dans session, GET[$param_] sera vide
*/
function param_leader($param_) {
if($_GET[$param_]) $_SESSION[$param_]=$_GET[$param_];
else $_GET[$param_]=$_SESSION[$param_];
}
procedure de gestion de paramètres
priorite : GET, SESSION
si valeur inexistante dans session, GET[$param_] sera vide
*/
function param_leader($param_) {
if($_GET[$param_]) $_SESSION[$param_]=$_GET[$param_];
else $_GET[$param_]=$_SESSION[$param_];
}
getSQLliste($query_, $target_=null)
/*
permet d'aller chercher une liste rapidement en BDD
--------
en entrée, requete SQL
*/
function getSQLliste($query_, $target_=null) {
$liste = mysql_query($query_) or print "";
// ATTENTION j'ai mis des @ pour planquer, mais ça affiche normalement des warnings
// il faudra regarder d'ou provient l'erreur en amont (nicolas 25.02.04)
while($result = @mysql_fetch_assoc( $liste )) {
if(!$target_) $infos__[]=$result; //on retourne toutes les colonnes
else $infos__[]=$result[$target_]; //ou une seule
}
@mysql_free_result($liste);
//on retourne
return $infos__;
}
permet d'aller chercher une liste rapidement en BDD
--------
en entrée, requete SQL
*/
function getSQLliste($query_, $target_=null) {
$liste = mysql_query($query_) or print "";
// ATTENTION j'ai mis des @ pour planquer, mais ça affiche normalement des warnings
// il faudra regarder d'ou provient l'erreur en amont (nicolas 25.02.04)
while($result = @mysql_fetch_assoc( $liste )) {
if(!$target_) $infos__[]=$result; //on retourne toutes les colonnes
else $infos__[]=$result[$target_]; //ou une seule
}
@mysql_free_result($liste);
//on retourne
return $infos__;
}
getSQLinfo($select_, $target_=null)
/*
permet d'aller chercher un enregistrement rapidement en BDD
--------
select_ doit se construire : table.champs=valeur_test
*/
function getSQLinfo($select_, $target_=null) {
//on récupere les infos qui nous interressent
list($table, $champs_test) = split("\.", $select_);
//on construit la query, suivant les params
if(!$target_) $query="SELECT * FROM $table WHERE $champs_test";
else $query="SELECT $target_ FROM $table WHERE $champs_test";
$liste = mysql_query($query) or print "";
// ATTENTION j'ai mis des @ pour planquer, mais ça affiche normalement des warnings
// il faudra regarder d'ou provient l'erreur en amont (nicolas 25.02.04)
$result = @mysql_fetch_assoc( $liste );
@mysql_free_result($liste);
//on retourne
if(!$target_) return $result;
else return $result[$target_];
}
permet d'aller chercher un enregistrement rapidement en BDD
--------
select_ doit se construire : table.champs=valeur_test
*/
function getSQLinfo($select_, $target_=null) {
//on récupere les infos qui nous interressent
list($table, $champs_test) = split("\.", $select_);
//on construit la query, suivant les params
if(!$target_) $query="SELECT * FROM $table WHERE $champs_test";
else $query="SELECT $target_ FROM $table WHERE $champs_test";
$liste = mysql_query($query) or print "";
// ATTENTION j'ai mis des @ pour planquer, mais ça affiche normalement des warnings
// il faudra regarder d'ou provient l'erreur en amont (nicolas 25.02.04)
$result = @mysql_fetch_assoc( $liste );
@mysql_free_result($liste);
//on retourne
if(!$target_) return $result;
else return $result[$target_];
}
mySelect($select_query_)
/**
fonction qui retourne un result_set mysql suite à une query
économise des lignes de codes de l'autre côté
*/
function mySelect($select_query_) {
$liste=@mysql_query($select_query_) or print "";
//on peut ensuite en faire ce que l'on veut de l'autre côté
return $liste;
}
fonction qui retourne un result_set mysql suite à une query
économise des lignes de codes de l'autre côté
*/
function mySelect($select_query_) {
$liste=@mysql_query($select_query_) or print "";
//on peut ensuite en faire ce que l'on veut de l'autre côté
return $liste;
}
function bdd2form($vtp_, $template_, $zone_, $data_, $fields_)
/**
- bdd2form()
affiche les infos d'une BDD vers la page HTML, seulement pour VTP !!!
$fields_ doit être sous liste REGEXP
*/
function bdd2form($vtp_, $template_, $zone_, $data_, $fields_) {
//on vérifie qu'on a birn des arguments
if(!count($data_)) return false;
foreach($data_ as $k => $v) {
//on ne trouve pas le champs en cours de parsing ? alors on passe à la suite
if(!ereg($fields_, $k)) continue;
$vtp_->setVar($template_, $zone_ .".". $k, $v);
}
return true;
}
- bdd2form()
affiche les infos d'une BDD vers la page HTML, seulement pour VTP !!!
$fields_ doit être sous liste REGEXP
*/
function bdd2form($vtp_, $template_, $zone_, $data_, $fields_) {
//on vérifie qu'on a birn des arguments
if(!count($data_)) return false;
foreach($data_ as $k => $v) {
//on ne trouve pas le champs en cours de parsing ? alors on passe à la suite
if(!ereg($fields_, $k)) continue;
$vtp_->setVar($template_, $zone_ .".". $k, $v);
}
return true;
}
getElement($type_, $elem_, $traitement_in_="", $traitement_out_="")
/**
* getElement()
* pour retrouver une élément dans la bdd
*
* @param $type_ champs1.valeur1:champs2.valeur2 etc...
* @param $elem_ champs dont on veut trouver l'info
* @return string
**/
function getElement($type_, $elem_, $traitement_in_="", $traitement_out_="") {
global $cache_elements;
$defaut_field='nom';
//on explore en premier l'element type_
$type_tmp=explode(":",$type_);
for($i=0;$i < count($type_tmp);$i++) {
$type_tab=explode(".",$type_tmp[$i]);
if(count($type_tab)==1) {
//on a pas de champs spécifié
$field=$defaut_field;
$seek=$type_tmp[$i];
} else {
//on prend en compte le champs spécifié
$field=$type_tab[0];
$seek=$type_tab[1];
}
$where_clause.=" AND $field='$seek'";
}
#on gere une sorte de cache, pour afficher plusieurs éléments différents sans BDD
if($cache_elements[$type_][$elem_]=='') {
//sinon, on va chercher dans la BDD
$query_look="SELECT $elem_ FROM produits WHERE 1 $where_clause limit 1";
$liste_look=mysql_query($query_look) or print "erreur:$query_look";
$result_look=mysql_fetch_array($liste_look);
//on met en cache
$cache_elements[$type_][$elem_]=$result_look[0];
}
//et on sort
if($traitement_in_) return ereg_replace($traitement_in_, $traitement_out_, $cache_elements[$type_][$elem_]);
else return $cache_elements[$type_][$elem_];
}
* getElement()
* pour retrouver une élément dans la bdd
*
* @param $type_ champs1.valeur1:champs2.valeur2 etc...
* @param $elem_ champs dont on veut trouver l'info
* @return string
**/
function getElement($type_, $elem_, $traitement_in_="", $traitement_out_="") {
global $cache_elements;
$defaut_field='nom';
//on explore en premier l'element type_
$type_tmp=explode(":",$type_);
for($i=0;$i < count($type_tmp);$i++) {
$type_tab=explode(".",$type_tmp[$i]);
if(count($type_tab)==1) {
//on a pas de champs spécifié
$field=$defaut_field;
$seek=$type_tmp[$i];
} else {
//on prend en compte le champs spécifié
$field=$type_tab[0];
$seek=$type_tab[1];
}
$where_clause.=" AND $field='$seek'";
}
#on gere une sorte de cache, pour afficher plusieurs éléments différents sans BDD
if($cache_elements[$type_][$elem_]=='') {
//sinon, on va chercher dans la BDD
$query_look="SELECT $elem_ FROM produits WHERE 1 $where_clause limit 1";
$liste_look=mysql_query($query_look) or print "erreur:$query_look";
$result_look=mysql_fetch_array($liste_look);
//on met en cache
$cache_elements[$type_][$elem_]=$result_look[0];
}
//et on sort
if($traitement_in_) return ereg_replace($traitement_in_, $traitement_out_, $cache_elements[$type_][$elem_]);
else return $cache_elements[$type_][$elem_];
}
Inscription à :
Articles (Atom)