begin process at 2012 02 12 11:06:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > CONVERTISSEUR DE BASE DÉCIMALE, BINAIRE, HEXADÉCIMAL, ...

CONVERTISSEUR DE BASE DÉCIMALE, BINAIRE, HEXADÉCIMAL, ...


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Classé sous :Numération, Binaire, Hexadécimale, Base numéraire, Convertisseur Niveau :Débutant Date de création :25/10/2008 Date de mise à jour :25/10/2008 10:19:11 Vu / téléchargé :10 174 / 229

Auteur : nicof3

Ecrire un message privé
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

Ce code permet de convertir d'une base numéraire n à une base numéraire m. Certains codes existent déjà mais se limitent aux bases principales.
Celui là, en plus des bases décimales, binaires, octale et hexadécimal, permet de convertir dans n'importe quel base.

Source

  • <?php
  • class Numeration
  • {
  • //Intervalles des bases de conversion prises en compte
  • const MIN_BASE = 2;
  • const MAX_BASE = 36;
  • //Constantes des bases de conversion
  • const DECIMAL = 10;
  • const BINAIRE = 2;
  • const OCTAL = 8;
  • const HEXADECIMAL = 16;
  • //Tableau d'équivalence de conversion (jusqu'à la base 36)
  • private $_aConvertReference;
  • ################################################
  • /**
  • * Constructeur.
  • * Initialise le tableau d'équivalence de conversion.
  • */
  • public function __construct()
  • {
  • $this->_aConvertReference = array( 0 => '0', 1 => '1', 2 => '2', 3 => '3', 4 => '4', 5 => '5', 6 => '6', 7 => '7', 8 => '8', 9 => '9',
  • 10 => 'A', 11 => 'B', 12 => 'C', 13 => 'D', 14 => 'E', 15 => 'F', 16 => 'G', 17 => 'H', 18 => 'I', 19 => 'J',
  • 20 => 'K', 21 => 'L', 22 => 'M', 23 => 'N', 24 => 'O', 25 => 'P', 26 => 'Q', 27 => 'R', 28 => 'S', 29 => 'T',
  • 30 => 'U', 31 => 'V', 32 => 'W', 33 => 'X', 34 => 'Y', 35 => 'Z' );
  • }
  • ################################################
  • /**
  • * Permet de convertir un nombre d'une base quelconque à la base décimale.
  • * @param INTEGER $iXBase La base du nombre à convertir.
  • * @param INTEGER $iNumber Le nombre à convertir.
  • * @param BOOLEAN $bWrite Affiche le résultat.
  • * @return INTEGER Le nombre converti de la base $iXBase à la base décimale.
  • */
  • public function convertXBaseToDec( $iXBase, $iNumber, $bWrite = false )
  • {
  • if( $iXBase < self::MIN_BASE || $iXBase > self::MAX_BASE )
  • exit( '<b>Fatal error !</b> $iXbase [' . $iXBase . '] must be between ' . self::MIN_BASE . ' and ' . self::MAX_BASE . '.' );
  • //On prépare le nombre à convertir
  • $iNumber = ltrim( $iNumber, '0' );
  • $iNumber = strtoupper( $iNumber );
  • $iNumberLength = strlen( $iNumber );
  • $iResConvert = 0;
  • //On test la possibilité de la conversion
  • $sKeyMax = 0;
  • for( $i=0; $i<$iNumberLength; $i++ )
  • if( array_search( $iNumber[$i], $this->_aConvertReference ) > $sKeyMax )
  • $sKeyMax = array_search( $iNumber[$i], $this->_aConvertReference );
  • if( $sKeyMax >= $iXBase )
  • exit( '<b>Fatal error !</b> Impossible to convert : $iNumber [' . $iNumber. '] contains invalid characters (not in $iXBase [' . $iXBase . ']).' );
  • //On converti
  • for( $i=0; $i<$iNumberLength; $i++ )
  • $iResConvert += array_search( $iNumber[$i], $this->_aConvertReference ) * pow( $iXBase, ($iNumberLength - $i - 1) );
  • //Affichage
  • if( $bWrite )
  • echo 'Résult : <b>(' . $iNumber . ')<sub>' . $iXBase . '</sub> = (' . $iResConvert . ')<sub>' . self::DECIMAL . '</sub></b><br/>';
  • return $iResConvert;
  • }
  • ################################################
  • /**
  • * Permet de convertir un nombre de la base décimale à une base quelconque.
  • * @param INTEGER $iXBase La base dans laquelle on veut convertir le nombre.
  • * @param INTEGER $iNumber Le nombre à convertir.
  • * @param BOOLEAN $bWrite Affiche le résultat.
  • * @return INTEGER Le nombre converti de la base décimale à la base $iXBase.
  • */
  • public function convertDecToXBase( $iXBase, $iNumber, $bWrite = false )
  • {
  • if( $iXBase < self::MIN_BASE || $iXBase > self::MAX_BASE )
  • exit( '<b>Fatal error !</b> $iXbase [' . $iXBase . '] must be between ' . self::MIN_BASE . ' and ' . self::MAX_BASE . '.' );
  • if( is_nan( $iNumber ) )
  • exit( '<b>Fatal error !</b> $iNumber [' . $iNumber . '] must be an integer.' );
  • //Initialisation des variables
  • $i = 0;
  • $bLastLoop = false;
  • $aRes = array();
  • //Conversion
  • $iTemp = $iNumber;
  • $iRes = $iNumber / $iXBase;
  • while( floor( $iRes ) != 0 || !$bLastLoop )
  • {
  • if( floor( $iRes ) == 0 )
  • $bLastLoop = true;
  • $aRes[$i] = $iTemp % $iXBase;
  • $i++;
  • $iTemp = $iRes;
  • $iRes = $iRes / $iXBase;
  • }
  • $aConvertArray = array_reverse( $aRes );
  • $sConvertResult = '';
  • for( $i=0; $i< count($aConvertArray); $i++ )
  • $sConvertResult .= $this->_aConvertReference[$aConvertArray[$i]];
  • //Affichage
  • if( $bWrite )
  • echo 'Résult : <b>(' . $iNumber . ')<sub>' . self::DECIMAL . '</sub> = (' . $sConvertResult . ')<sub>' . $iXBase . '</sub></b><br/>';
  • return $sConvertResult;
  • }
  • ################################################
  • /**
  • * Permet de convertir un nombre d'une base quelconque à une base quelconque.
  • * @param INTEGER $iXBaseFrom La base du nombre à convertir.
  • * @param INTEGER $iXBaseTo La base dans laquelle on veut convertir le nombre.
  • * @param INTEGER $iNumber Le nombre à convertir.
  • * @param BOOLEAN $bWrite Affiche le résultat.
  • * @return INTEGER Le nombre converti de la base $iXBaseFrom à la base $iXBaseTo.
  • */
  • public function convertXBaseToXBase( $iXBaseFrom, $iXBaseTo, $iNumber, $bWrite = false )
  • {
  • if( $iXBaseFrom < self::MIN_BASE || $iXBase > self::MAX_BASE )
  • exit( '<b>Fatal error !</b> $iXbaseFrom [' . $iXBaseFrom . '] must be between ' . self::MIN_BASE . ' and ' . self::MAX_BASE . '.' );
  • if( $iXBaseTo < self::MIN_BASE || $iXBase > self::MAX_BASE )
  • exit( '<b>Fatal error !</b> $iXbaseTo [' . $iXBaseTo . '] must be between ' . self::MIN_BASE . ' and ' . self::MAX_BASE . '.' );
  • $iConvert1 = $this->convertXBaseToDec( $iXBaseFrom, $iNumber );
  • $iConvert2 = $this->convertDecToXBase( $iXBaseTo, $iConvert1 );
  • //Affichage
  • if( $bWrite )
  • echo 'Résult : <b>(' . $iNumber . ')<sub>' . $iXBaseFrom . '</sub> = (' . $iConvert2 . ')<sub>' . $iXBaseTo . '</sub></b><br/>';
  • return $iConvert2;
  • }
  • }
  • ?>
<?php
class Numeration
{
	//Intervalles des bases de conversion prises en compte
	const MIN_BASE = 2;
	const MAX_BASE = 36;
	
	//Constantes des bases de conversion
	const DECIMAL = 10;
	const BINAIRE = 2;
	const OCTAL = 8;
	const HEXADECIMAL = 16;
	
	//Tableau d'équivalence de conversion (jusqu'à la base 36)
	private $_aConvertReference;
	
	################################################
	/**
	 * Constructeur.
	 * Initialise le tableau d'équivalence de conversion.
	 */
	public function __construct()
	{
		$this->_aConvertReference = array(	0 => '0', 1 => '1', 2 => '2', 3 => '3', 4 => '4', 5 => '5', 6 => '6', 7 => '7', 8 => '8', 9 => '9',
											10 => 'A', 11 => 'B', 12 => 'C', 13 => 'D', 14 => 'E', 15 => 'F', 16 => 'G', 17 => 'H', 18 => 'I', 19 => 'J',
											20 => 'K', 21 => 'L', 22 => 'M', 23 => 'N', 24 => 'O', 25 => 'P', 26 => 'Q', 27 => 'R', 28 => 'S', 29 => 'T',
											30 => 'U', 31 => 'V', 32 => 'W', 33 => 'X', 34 => 'Y', 35 => 'Z' );
	}
	
	################################################
	/**
	 * Permet de convertir un nombre d'une base quelconque à la base décimale.
	 * @param	INTEGER	$iXBase		La base du nombre à convertir.
	 * @param	INTEGER	$iNumber	Le nombre à convertir.
	 * @param	BOOLEAN	$bWrite		Affiche le résultat.
	 * @return	INTEGER				Le nombre converti de la base $iXBase à la base décimale.
	 */
	public function convertXBaseToDec( $iXBase, $iNumber, $bWrite = false )
	{
		if( $iXBase < self::MIN_BASE || $iXBase > self::MAX_BASE )
			exit( '<b>Fatal error !</b> $iXbase [' . $iXBase . '] must be between ' . self::MIN_BASE . ' and ' . self::MAX_BASE . '.' );
		
		//On prépare le  nombre à convertir
		$iNumber = ltrim( $iNumber, '0' );
		$iNumber = strtoupper( $iNumber );
		
		$iNumberLength = strlen( $iNumber );
		$iResConvert = 0;
		
		//On test la possibilité de la conversion
		$sKeyMax = 0;
		for( $i=0; $i<$iNumberLength; $i++ )
			if( array_search( $iNumber[$i], $this->_aConvertReference ) > $sKeyMax )
				$sKeyMax = array_search( $iNumber[$i], $this->_aConvertReference );
		
		if( $sKeyMax >= $iXBase )
			exit( '<b>Fatal error !</b> Impossible to convert : $iNumber [' . $iNumber. '] contains invalid characters (not in $iXBase [' . $iXBase . ']).' );
		
		//On converti
		for( $i=0; $i<$iNumberLength; $i++ )
			$iResConvert += array_search( $iNumber[$i], $this->_aConvertReference ) * pow( $iXBase, ($iNumberLength - $i - 1) );
		
		//Affichage
		if( $bWrite )
			echo 'Résult : <b>(' . $iNumber . ')<sub>' . $iXBase . '</sub> = (' . $iResConvert . ')<sub>' . self::DECIMAL . '</sub></b><br/>';
		
		return $iResConvert;
	}
	
	################################################
	/**
	 * Permet de convertir un nombre de la base décimale à une base quelconque.
	 * @param	INTEGER	$iXBase		La base dans laquelle on veut convertir le nombre.
	 * @param	INTEGER	$iNumber	Le nombre à convertir.
	 * @param	BOOLEAN	$bWrite		Affiche le résultat.
	 * @return	INTEGER				Le nombre converti de la base décimale à la base $iXBase.
	 */
	public function convertDecToXBase( $iXBase, $iNumber, $bWrite = false )
	{
		if( $iXBase < self::MIN_BASE || $iXBase > self::MAX_BASE )
			exit( '<b>Fatal error !</b> $iXbase [' . $iXBase . '] must be between ' . self::MIN_BASE . ' and ' . self::MAX_BASE . '.' );
		
		if( is_nan( $iNumber ) )
			exit( '<b>Fatal error !</b> $iNumber [' . $iNumber . '] must be an integer.' );
		
		//Initialisation des variables
		$i = 0;
		$bLastLoop = false;
		$aRes = array();
		
		//Conversion
		$iTemp = $iNumber;
		$iRes = $iNumber / $iXBase;
		
		while( floor( $iRes ) != 0 || !$bLastLoop )
		{
			if( floor( $iRes ) == 0 )
				$bLastLoop = true;
			
			$aRes[$i] = $iTemp % $iXBase;
			$i++;
			
			$iTemp = $iRes;
			$iRes = $iRes / $iXBase;
		}
		
		$aConvertArray = array_reverse( $aRes );
		$sConvertResult = '';
		
		for( $i=0; $i< count($aConvertArray); $i++ )
			$sConvertResult .= $this->_aConvertReference[$aConvertArray[$i]];
		
		//Affichage
		if( $bWrite )
			echo 'Résult : <b>(' . $iNumber . ')<sub>' . self::DECIMAL . '</sub> = (' . $sConvertResult . ')<sub>' . $iXBase . '</sub></b><br/>';
		

		return $sConvertResult;
	}
	
	################################################
	/**
	 * Permet de convertir un nombre d'une base quelconque à une base quelconque.
	 * @param	INTEGER	$iXBaseFrom		La base du nombre à convertir.
	 * @param	INTEGER	$iXBaseTo		La base dans laquelle on veut convertir le nombre.
	 * @param	INTEGER	$iNumber		Le nombre à convertir.
	 * @param	BOOLEAN	$bWrite			Affiche le résultat.
	 * @return	INTEGER					Le nombre converti de la base $iXBaseFrom à la base $iXBaseTo.
	 */
	public function convertXBaseToXBase( $iXBaseFrom, $iXBaseTo, $iNumber, $bWrite = false )
	{
		if( $iXBaseFrom < self::MIN_BASE || $iXBase > self::MAX_BASE )
			exit( '<b>Fatal error !</b> $iXbaseFrom [' . $iXBaseFrom . '] must be between ' . self::MIN_BASE . ' and ' . self::MAX_BASE . '.' );
		
		if( $iXBaseTo < self::MIN_BASE || $iXBase > self::MAX_BASE )
			exit( '<b>Fatal error !</b> $iXbaseTo [' . $iXBaseTo . '] must be between ' . self::MIN_BASE . ' and ' . self::MAX_BASE . '.' );
		
		$iConvert1 = $this->convertXBaseToDec( $iXBaseFrom, $iNumber );
		$iConvert2 = $this->convertDecToXBase( $iXBaseTo, $iConvert1 );
		
		//Affichage
		if( $bWrite )
			echo 'Résult : <b>(' . $iNumber . ')<sub>' . $iXBaseFrom . '</sub> = (' . $iConvert2 . ')<sub>' . $iXBaseTo . '</sub></b><br/>';
		
		return $iConvert2;
	}
}

?>

 Conclusion

Voila ! J'espère qu'il n'y a pas d'erreur. Si vous avez des modifications ou des remarques à apporter n'hésitez pas ;)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 octobre 2008 10:19:11 :
Modification de la descrition

 Sources de la même categorie

EXEMPLE D'APPLICATION DE L'ALGORITHME DE DIJKSTRA EN PHP par philtr8
CLEF POUR EAN 13 ET 14 par RaftY
FONCTION DE CALCUL DU NOMBRE DE DUEL UNIQUE POUR UN NOMBRE N... par mtrix000
Source avec Zip Source avec une capture TRIANGLE DE PASCAL ET SON ÉQUATION par vendeeHdLR89
Source avec Zip CONVERTISSEUR LAMBERT2 ÉTENDU EN COORDONNÉE GÉOGRAPHIQUE (LO... par varfendell

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CONVERTISSEUR DE NOMBRES EN TEXTE par macruz
Source avec Zip DÉBUTANT : FONCTION POUR TRANSFORMER UN TEMPS EN SECONDES EN... par MonkeyIsBack
Source avec Zip IP CALCULATOR par X_Cli
SQUELETTE DE GESTION DES DROITS par malalam
Source avec Zip Source avec une capture CONVERTISEUR BINAIRE OCTAL DEC HEX... par sitajony

Commentaires et avis

Commentaire de Arto_8000 le 25/10/2008 19:47:18

Tu te casse pas un peu la tête pour rien ? Il existe déjà des fonctions built-in à PHP qui font la même chose (decbin, dechex, decoct, bindec, octdec, hexdec).

Commentaire de nicof3 le 25/10/2008 21:01:53

Non je pense pas, essaye de convertir en base 12 avec decbin, dechex, decoct, bindec, octdec, hexdec !!!!

Commentaire de jeca le 26/10/2008 07:57:49

Bonjour,

Extrait du manuel PHP :

base_convert
(PHP 4, PHP 5)

base_convert - Convertit un nombre entre des bases arbitraires

Description
string base_convert ( string $number, int $frombase, int $tobase )

Retourne une chaîne contenant l'argument number représenté dans la base tobase. La base de représentation de number est donnée par frombase. frombase et tobase doivent être compris entre 2 et 36 inclus. Les chiffres supérieurs à 10 des bases supérieures à 10 seront représentés par les lettres de A à Z, avec A = 10 et Z = 35.

Commentaire de AlphaOrionis le 26/10/2008 10:33:07

Tu pourras au moins te vanter d'avoir recréé une fonction PHP par toi-même. ;)

Commentaire de islrelamb le 26/10/2008 12:24:08

salut, merci biennicof3 pour cette source j'ai un mini projet pour ce prblm, et tu n'a pas cassé votre tête c'est qlqn veut apprendre il faut qu'il fait les choses par kui même.

Commentaire de nicof3 le 27/10/2008 08:12:34

Merci islrelamb ! C'est ce que je me dit toujours, pour bien comprendre, il faut savoir faire ;)

Commentaire de garfield90 le 27/10/2008 09:47:18

Tu ne devrais pas faire des "exit" lors d'erreur mais lever une exception.

ca permet de gerer proprement le fonctionnement le probleme et ainsi ne pas se retrouvé avec une page tronquée.

Commentaire de Palleas_44 le 27/10/2008 16:29:27

> Merci islrelamb ! C'est ce que je me dit toujours, pour bien comprendre, il faut savoir faire ;)

Je ne suis pas d'accord, ce que tu fais s'appelle réinventer la roue :/

Commentaire de nicof3 le 28/10/2008 08:10:26

Donc toi Palleas_44 tu utilise des "trucs"  sans comprendre comment ça marche !!! Ce n'est pas la mentalité d'un programmeur ça !

Commentaire de nicomilville le 28/10/2008 15:03:23

Ce n'est pas une question de mentalité nicof3, c'est autre chose...

Toi si tu ne sais pas comment ça marche, tu peus le refaire mais il y a aussi des doc qui sont tout aussi bien !

a++

Commentaire de Palleas_44 le 28/10/2008 15:06:09

@Nicof3 : Non, moi je ne m'amuse pas à recoder les fonctionnalités natives d'un langage, c'est différent

Commentaire de AlphaOrionis le 28/10/2008 19:58:13

Sans aller jusqu'à recoder volontairement et en connaissance de cause un fonction native, c'est vrai que savoir comment ça fonctionne est le meilleur moyen de se représenter son fonctionnement et donc le meilleur moyen de le comprendre.

Réciproquement, ce n'est pas parce qu'on a réussi à créer une fonction qui se répond de la même manière qu'il fonctionne de la même manière.

Une petite analogie : Linux a été développé pour qu'on lui parle l'Unix et répondre comme Unix, mais il ne tourne pas nécessairement de la même manière (sinon c'est Unix ici). Le principe est le même ici, si tu ne vas pas voir sous le capot tu ne fais qu'un modèle qui a le mérite d'exister et de représenter, mais pas d'être exactement juste. ;)

Commentaire de syl20dies le 29/10/2008 15:55:23

Bonjour, l'avantage de réecrire du built-in, c'est de pouvoir le recoder si l'on veut en changer légerement le fonctionement.
Aussi je me demandais peut on editer de telles fonctions?(je suis sous windows avec easyphp)existe t'il un répertoire contenant les classes built-in, ou sont elles compilées et sont elles plus rapides en termes d'execution qu'une classe ecrite à la main qui contiendrait exactement le même code?

en l'occurence si je voulais que convertDecToXBase( 2, 3, false) retourne '00000011' et non '11' vaut'il mieux?:

1)ecrire une fonction style
function completechaine($pstr,$d){
$newstr=$pstr;
while(strlen($newstr)<$d){$newstr="0".$newstr;}
return $newstr;
}
et faire completechaine(decbin(3),8)

ou

2)
récrire une classe comme nicof3 en ajoutant un parametre pour la longueur de la chaine retournée?

Merci d'avance pour vos suggestions

Commentaire de AlphaOrionis le 29/10/2008 16:59:46

Je pense que le plus pratique reste de rajouter ta petite fonction.

Pour ta fonction, cette ligne est inutile : $newstr=$pstr;
$pstr est déjà une variable locale, prend juste soin de lui donner un nom unique. ;)

Commentaire de jeca le 29/10/2008 17:29:02

Pourquoi faire simple quand on peut faire compliqué :
<?php
  $valeur = 3;
  echo str_pad(base_convert(3, 10, 2), 8, '0', STR_PAD_LEFT);
//-- affiche : 00000011 -------------
?>
Dans tous les cas, les fonctions natives sont plus rapides. Et pourquoi écrire dix lignes quand une seule suffit ?

Commentaire de syl20dies le 29/10/2008 18:07:21

simplement parcque des fois on connait pas la fonction qui permet de l'ecrire en 1 ligne ;-), merci pour str_pad();
ceci dit quand on passe d'un language à un autre, il est parfois plus rapide de réecrire des choses qui existent que de chercher dans un manuel parmis des miliers de fonctions plus ou moins bien documentées celle qui nous eviterait d'écrire 3 lignes basiques, il en va de même pour la politique de masquage des données dans les variables et parametres de fonctions, mais merci avous deux AlphaOrionis et jeca, j'en prend note ;-)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Enregistrer un binaire dans une base de données [ par astien ] astienComment fais-ton en php pour inserer un resgistre avec un objet binaire ?Quelqu'un peut m'aider ? Comparaison Binaire [ par 6Po ] Bonjour,J'aimerais effectué une comparaison binaire. 6 = 110 2 = 010 Donc normal 6 & 2 devrait faire 010 (soit 2)... si j'effectue le test suivant if image dans mysql sous forme binaire ! [ par fmazoue ] bonjour mon pb c que j'ai enregistré des image jpeg dans ma base de donnée sous forme binaire (blob)et que je voudrai maintenant recuperer ces images image dans mysql sous forme binaire ! [ par fmazoue ] bonjour mon pb c que j'ai enregistré des image jpeg dans ma base de donnée sous forme binaire (blob)et que je voudrai maintenant recuperer ces images convertisseur monétaire [ par attentio ] salut a tous !j'aimerais savoir si il existe des scripts tout fait qui permettent de faire la conversion euro/dollar selon le cour de la bourse. En f encodage mime64 binaire [ par mageonyme ] salut,j'aimerai savoir s'il existe une fonction qui encode une chaine en binaire type mime64 (javascript oblige)genre une fonction comme la fonction p Possible de faire un comparateur d image ?? [ par morpheus262 ] Salut,C'est encore moi et mon explorateur "surpuissant" lol.Alors je me demander suite a mon post sur les fichier video (au faite ca marche pas trop b Fichier et binaire [ par kangoo75 ] Bonjour , J'ai cr&#233;&#233; cette fonction&nbsp; : function VisuBin($chemin_fichier){ &nbsp; $id_fichier = fopen($chemin_fichier, "rb"); &nbsp; [BLOB->GD] Redimensionner un "flux image binaire"... [ par arnal69130 ] Bonjour &#224; tous,Je cherche &#224; faire une page pour afficher la carte d'identit&#233; d'un "agent", pour simplifier disons juste son nom et sa p Ajouter info dans le binaire d'une image [ par josh666 ] Bonjour a tous ! J'aimerais savoir s'il est possible dajouter des infos au début d'un fichier images(binaire) , sans que cela la corrompe... c'Est a d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,513 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales