Benoît Guillaume

Mon site perso, mes livres


Domaine en .eu

Domaine en .eu

Le dimanche 13 novembre 2011 à 16h32 - Ovh, domaine, eu
Les domaine en .eu sont à 0.59€ chez ovh
J'en ai donc profiter et maintenant le site est également accessible aux l'adresses : http://benoit-guillaume.eu & http://benoit-guillaume.fr


 Ajouter un commentaire

Ajout d'information steam

Ajout d'information steam

Le samedi 18 juin 2011 à 14h12 - Steam, php, xml
Si vous voulez récupérer des informations (celle public) sur un compte steam rien de plus simple, rajouter ?xml=1 a la fin de la page steam.
Il ne vous restera plus qu'à parser le fichier xml obtenu, par exemple :
http://steamcommunity.com/id/eru03?xml=1
http://steamcommunity.com/id/eru03/stats/DOD:S?xml=1

 Ajouter un commentaire

Slider personnaliée avec jQuery

Slider personnaliée avec jQuery

Le vendredi 29 avril 2011 à 22h11 - Silder, jQuery
J'ai fait un slider personnalisé avec jQuery, voici le code :

html :
   <div id='sliderBook'></div>  
css :
   	#sliderBook > a {
		float:right;
		margin-left:10px;
	}
	
	.bigCouv {
		position:fixed;
		top:0;
		right:0;
		display:none;
		z-index:100;
		max-width:100%;
		max-height:100%;
	}
	a:hover > .bigCouv {
		display:inline;	
	}
	
	#sliderBook .bigCouv {
		top:115px;
	}
javascript :
	//timer 
	var timerRandomBook=$.timer(10000, callRandomBook);   
	   
	//appel du json
	function callRandomBook(timer){
		if(jeton) return;//un seul appel a la fois
		jeton = true;
		$.getJSON("/Books/Ajax/RandomBook.xhtml",resultRandomBook);
	}   
	 
	var maxSlide = 100;// nombre maximum d'élément
	var maxIteration = 50;// boucle maximum
	var lastHeight = 0;// largeur de l'élément fixe
	var jeton = false;// jeton
	
	//résultat du json
	function resultRandomBook(data){
		
		if(lastHeight == 0){//si première appel
			lastHeight = $('#BannierTitle').height();
		}
		
		//construction de l'élément
		content = "<a title='"+data.titre+"' href='"+data.link+"'>";
		content += "	<img alt='"+data.EAN+"' title='"+data.titre+"' src='"+data.Miniature+"'/>";
		content += "	<img class='bigCouv' alt='"+data.EAN+"' title='"+data.titre+"' src='"+data.Couverture+"'/>";
		content += "</a>";
		
		try
		{
			//ajout de l'élément
			$('#sliderBook').append(content);
		}
		catch(err)
		{
			//si erreur on recomence
			jeton = false;
			callRandomBook(0);
			return ;
		}
		
		if($('#BannierTitle').height() > lastHeight){//si déformation
		
			var i = 0;//nombre d'itération
			while($('#BannierTitle').height() > lastHeight && maxSlide > 0 && i < maxIteration){
				++i;
				$('#sliderBook > a:last-child').remove();//on enleve le premier jusqu'a obtenire la hauteur correcte
				maxSlide = $('#sliderBook > a').size();
			}
			$('#sliderBook > a:last-child').remove();//on en enleve un supplémentaire
			maxSlide = $('#sliderBook > a').size();
			
			if(maxSlide < 0) maxSlide = 0; 
			
			size = maxSlide;//reréglage du nombre maximum d'élément
			
		}else{
			size = $('#sliderBook > a').size();//nombre d'élément actuel
			
			$('#sliderBook > a:last-child').hide();//caché le dernier élément
			
			$('#sliderBook > a:last-child').fadeIn('slow');//afficher le dernier élément avec un effet
		}
		
		if(size == maxSlide){//ok
			jeton = false;
			
		}else if(size > maxSlide){//trop long, on enleve le 1er
			removeFirst();
			
		}else if(size < maxSlide){//trop court, on recommence
			jeton = false;
			callRandomBook(0);
		}
		
	}
	function removeFirst(){//on cache le 1eravec un effet
		$('#sliderBook > a:first-child').animate({width:'0'},"slow",afterRemove);
	}
	function afterRemove(){
		$('#sliderBook > a:first-child').remove();//on enleve le 1er
		if($('#sliderBook > a').size() > maxSlide){//si toujours trop long on recommence
			removeFirst();
		}else{//ok
			jeton = false;
		}
	}
	$(window).resize(function(eventObject) {
		maxSlide = 100;//au redimentionnement on reinitialise le nombre maximum d'élément
		callRandomBook(0);//et on fait un appel pour ajout ou enlever des éléments
	});
	$(document).ready(function() {
		callRandomBook(0);//appel au chargement
	});

json utilisé : http://benoit-guillaume.fr/Books/Ajax/RandomBook.xhtml


 Ajouter un commentaire

Internet Explorer 9

Le jeudi 16 septembre 2010 à 19h22 - Internet Explorer, strandard
 Je test mon site avec la beta de Internet Explorer 9 qui vient de sortir, et la miracle presque aucun bug.
J'en relève malgré tout quelques'un :
  • problème de couleur au survol du lien pour agrandir la page
  • non support des transitions sur ces même boutons (cela dit j'ai du ajouter -webkit- et -moz-)
  • il coupe le bout des flêches sur mon cv 
Les deux amélioration principales que je constate sont :
  • support du css3 :target (menu)
  • support du css3 border-radius

 Ajouter un commentaire

auto inclusion php

Le samedi 10 juillet 2010 à 12h08 - php, Zend, include
http://fr.php.net/__autoload

Comment ce passer des fonction include_once, require_once ...
Lors vous faite un new MaClass() et qu'il ne connait pas cette class, le moteur PHP appele automatiquement la fonction __autoload, qui peu ce charger de faire les include pour vous.
 	//ajouter le ou les dossier ou ce trouve vos class dans le include_path
	set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/library/');
	
	//fonction magique de chargement automatique
	function __autoload($class_name){
		$zend=explode('_',$class_name);
		//vérifie si il s'agit d'une class Zend 
		if(count($zend)>1 && $zend[0]=='Zend'){
			$path="";
			foreach($zend as $file){
				if($path) $path.='/';
				$path.=$file;
			}
			include_once $path. '.php';
		}else{//sinon inclusion directe
    		include_once CST_current."class/".$class_name . '.class.php';
		}
	} 

 Ajouter un commentaire
- - - Version Normal admin