Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CAPTCHA ( ANTI-SPAM ) ACCESSIBLE À TOUS !


Information sur la source

Catégorie :Sécurité & Cryptage Classé sous : captcha, antispam, accessibilité Niveau : Débutant Date de création : 05/10/2006 Date de mise à jour : 03/11/2006 12:06:13 Vu / téléchargé: 4 316 / 322

Note :
4 / 10 - par 1 personne
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Voici une class anti-spam de mon crû.

Je me suis basé sur le travail d’un collègue (bien plus ingénieux que moi…) qui souhaitait faire un captcha qui soit accessible à tous.

Par « accessible à tous » on entend (ce fameux collègue et moi) accessible aux personnes visuellement déficientes.

Il est vrais qu’un système proposant une image avec des lettre déformé est se qui se fait de mieux. Cependant les personnes soufrant de déficience visuelle ne peuvent le lire, donc de jouir du même droit que les personnes bien portante et donc il se retrouve dans l’impossibilité de pouvoir accéder à ce contenu où service protégé !
Dans le zip vous trouverez tout ce qui faut!
pour en savoir plus : http://www.mon-beulogue.com/php/14-captcha-accessible-a-tous.html
 

Source

  • //un ficheir de langue qui doit être composé de la manière suivante :
  • $_LANG[1] = 'première';
  • $_LANG[2] = 'seconde';
  • $_LANG[3] = 'troisième';
  • $_LANG[4] = 'quatrième';
  • $_LANG[5] = 'cinquième';
  • $_LANG[6] = 'sixième';
  • $_LANG[7] = 'septième';
  • $_LANG[8] = 'huitième';
  • $_LANG[9] = 'neuvième';
  • $_LANG['noSpam'] = array('a','b','c','d','e','f','g','h','i','j','k','l','m',
  • 'n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F',
  • 'G','H','Y','J','K','L','M','N','O','P','Q','R','S','U','V','W','X','Y','Z');
  • //La classe en elle même
  • <?php
  • /*************************************************************************************
  • * Développé par Valerian Girard
  • * sur une idée original de Pilgrim (My Master)
  • * 5/10/2006
  • *************************************************************************************/
  • class captcha {
  • var $lang;
  • function __construct($_lang){
  • $this->lang = $_lang;
  • }
  • /*************************************************************************************
  • * Retourne la position de la lettre à saisir ainsi q'une chaine de letter
  • * et la cahine de test à placer dans un input hidden
  • *
  • * position : c'est le text de position de la lettre à saisir
  • * captcha : C'est la cahine de lettre dans laquelle le visiteur daoit choisir
  • * Elle est encodé en ISO affin de réduire les risques de spam
  • * theTrue : Cette chaine va servir pour tester si le visiteur à bien saisie la bonne
  • * lettre
  • *************************************************************************************/
  • function noSpam(){
  • $tmp = "";
  • for($x=0; $x<=13; $x++){
  • $tmp .= " ".$this->lang['noSpam'][rand(0, count($this->lang)-1)];
  • }
  • $tmp = $this->iso_encode($tmp);
  • $pos = rand(1,9);
  • $text = $this->iso_encode($this->lang[$pos]);
  • $true = $tmp.'-'.MD5($pos);
  • return array('position' => $text, 'captcha' => $tmp, 'theTrue' => $true );
  • }
  • /*************************************************************************************
  • * Retourne Vrais si la lettre a été saisie correctement
  • * et faux dans le cas contraire
  • *************************************************************************************/
  • function testNoSpam($char, $theTrue){
  • $char = (get_magic_quotes_gpc)?$char:addslashes($char);
  • $theTrue = (get_magic_quotes_gpc)?$theTrue:addslashes($theTrue);
  • $myMD5 = array( 'c4ca4238a0b923820dcc509a6f75849b' => 1,
  • 'c81e728d9d4c2f636f067f89cc14862c' => 2,
  • 'eccbc87e4b5ce2fe28308fd9f2a7baf3' => 3,
  • 'a87ff679a2f3e71d9181a67b7542122c' => 4,
  • 'e4da3b7fbbce2345d7772b0674a318d5' => 5,
  • '1679091c5a880faf6fb5e6087eb1b2dc' => 6,
  • '8f14e45fceea167a5a36dedd4bea2543' => 7,
  • 'c9f0f895fb98ab9159f51fd0297e236d' => 8,
  • '45c48cce2e2d7fbdea1afc51c7c6ad26' => 9);
  • $tmpLettre = explode(" ", $theTrue);
  • $numLettre = substr($theTrue,strpos($theTrue, '-')+1, strlen($theTrue));
  • //test si le captchat est invalide
  • if( $char != $tmpLettre[$myMD5[$numLettre]]){
  • return false;
  • exit;
  • }else{
  • //si on arrive ici c'est que la captcha est valide
  • return true;
  • exit;
  • }
  • }
  • function iso_encode($str){
  • $carac = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
  • 'P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j',
  • 'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','');
  • $caracIso = array('A','B','C','D', 'E','F', 'G','H','I','J','K','L','M','N',
  • 'O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i',
  • 'j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','');
  • $str = str_replace($carac, $caracIso, $str);
  • return utf8_encode($str);
  • }
  • function iso_decode($str){
  • $carac = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
  • 'P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h',
  • 'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','');
  • $caracIso = array('A','B','C','D', 'E','F', 'G','H','I','J','K','L','M','N',
  • 'O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g',
  • 'h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','');
  • $str = str_replace($caracIso, $carac, $str);
  • return utf8_encode($str);
  • }
  • function html_encode($str){
  • $caracHtml = array('"','&','','','','œ','ÿ','¡','¢','£','¤','¥','¦','§',
  • '¨','©','ª','«','¬','­','®','¯','°','±','²','³','´','µ','','·','¸','¹','º','»','¼',
  • '½','¾','¿','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ',
  • 'ò','ó','ô','õ','ö','×','ø','ù','ú','û','ü','ý','þ','ß','à','á','â','ã','ä','å','æ',
  • 'ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û',
  • 'ü','ý','þ','ÿ','"','&','','');
  • $html = array('"','&','?','<','>','?','ÿ','¡','¢','£','¤','¥','¦','§','¨','©',
  • 'ª','«','¬','­','®','&masr;','°','±','²','³','´','µ','','·','¸','¹','º','»','¼','½',
  • '¾','¿','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò',
  • 'ó','ô','õ','ö','×','ø','ù','ú','û','ü','ý','þ','ß','à','á','â','ã','ä','å','æ','ç',
  • 'è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü',
  • 'ý','þ','ÿ','"','&','<','>');
  • $str = str_replace($caracHtml, $html, $str);
  • return utf8_encode($str);
  • }
  • }
  • // fin de la class
  • //contenu du fichier de langue nomé ici lang_fr.php
  • <?php
  • //système anti-spam
  • $_LANG['soucie de securite'] = 'Sécurité anti-spam: merci de nous indiquer la ';
  • $_LANG['lettre du mot en gras ci-dessous:'] = ' lettre du mot en gras ci-dessous:';
  • $_LANG['Erreur Code anti-spam'] = 'Vous avez saisie la mauvaise lettre';
  • $_LANG[1] = 'première';
  • $_LANG[2] = 'seconde';
  • $_LANG[3] = 'troisième';
  • $_LANG[4] = 'quatrième';
  • $_LANG[5] = 'cinquième';
  • $_LANG[6] = 'sixième';
  • $_LANG[7] = 'septième';
  • $_LANG[8] = 'huitième';
  • $_LANG[9] = 'neuvième';
  • $_LANG['noSpam'] = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',
  • 'p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','Y','J',
  • 'K','L','M','N','O','P','Q','R','S','U','V','W','X','Y','Z');
  • ?>
  • // fin du fichier de langue
  • // contenu du fichier monFichier.php
  • <?php
  • //inclusion de la class anti-spam
  • include('captcha.class.php');
  • //inclusion du fichier de lang
  • include('lang_fr.php');
  • //création d'une instance de la class de captcha
  • $captcha = new captcha($_LANG);
  • //appelle de la fonction anti-spam et stokage des valeurs
  • $tmp = $captcha->noSpam();
  • // si le formulaire est retouré on va tester si la lettre saisie est bien la bonne
  • if(isset($_POST['char'])){
  • //on affiche le résultat
  • var_dump($captcha->testNoSpam($_POST['char'], $_POST['TellMeTheTrue']));
  • }
  • ?>
  • <form action="monFichier.php" method="post">
  • Saisir la <?php echo $tmp['position'] ?> lettre du text ci-dessous <br/>
  • <?php echo $tmp['captcha'] ?>
  • <input type="hidden" name="TellMeTheTrue" value="<?php echo $tmp['theTrue']; ?>" />
  • <input type="text" name="char"/>
  • <input type="submit" value="goOn" />
  • </form>
//un ficheir de langue qui doit être composé de la manière suivante :
 $_LANG[1] = 'première';
 $_LANG[2] = 'seconde';
 $_LANG[3] = 'troisième';
 $_LANG[4] = 'quatrième';
 $_LANG[5] = 'cinquième';
 $_LANG[6] = 'sixième';
 $_LANG[7] = 'septième';
 $_LANG[8] = 'huitième';
 $_LANG[9] = 'neuvième';
 $_LANG['noSpam'] = array('a','b','c','d','e','f','g','h','i','j','k','l','m',
 'n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F',
 'G','H','Y','J','K','L','M','N','O','P','Q','R','S','U','V','W','X','Y','Z');

//La classe en elle même
 <?php
/*************************************************************************************
 *  Développé par Valerian Girard
 *  sur une idée original de Pilgrim (My Master)
 *  5/10/2006
 *************************************************************************************/

class captcha {
var $lang;

    function __construct($_lang){
        $this->lang = $_lang;
    }

/*************************************************************************************
 * Retourne la position de la lettre à saisir ainsi q'une chaine de letter
 * et la cahine de test à placer dans un input hidden
 *
 * position : c'est le text de position de la lettre à saisir
 * captcha : C'est la cahine de lettre dans laquelle le visiteur daoit choisir
 *           Elle est encodé en ISO affin de réduire les risques de spam
 * theTrue : Cette chaine va servir pour tester  si le visiteur à bien saisie la bonne
 *           lettre
 *************************************************************************************/
    function noSpam(){
        $tmp = "";
        for($x=0; $x<=13; $x++){
            $tmp .= " ".$this->lang['noSpam'][rand(0, count($this->lang)-1)];
        }
        $tmp = $this->iso_encode($tmp);
        $pos =  rand(1,9);
        $text = $this->iso_encode($this->lang[$pos]);
        $true = $tmp.'-'.MD5($pos);
        return array('position' => $text, 'captcha' => $tmp, 'theTrue' => $true );
    }

/*************************************************************************************
 *  Retourne Vrais si la lettre a été saisie correctement
 *  et faux dans le cas contraire
 *************************************************************************************/

   function testNoSpam($char, $theTrue){
        $char    = (get_magic_quotes_gpc)?$char:addslashes($char);
        $theTrue = (get_magic_quotes_gpc)?$theTrue:addslashes($theTrue);

        $myMD5 = array(  'c4ca4238a0b923820dcc509a6f75849b' => 1,
                         'c81e728d9d4c2f636f067f89cc14862c' => 2,
                         'eccbc87e4b5ce2fe28308fd9f2a7baf3' => 3,
                         'a87ff679a2f3e71d9181a67b7542122c' => 4,
                         'e4da3b7fbbce2345d7772b0674a318d5' => 5,
                         '1679091c5a880faf6fb5e6087eb1b2dc' => 6,
                         '8f14e45fceea167a5a36dedd4bea2543' => 7,
                         'c9f0f895fb98ab9159f51fd0297e236d' => 8,
                         '45c48cce2e2d7fbdea1afc51c7c6ad26' => 9);

        $tmpLettre = explode(" ", $theTrue);

        $numLettre = substr($theTrue,strpos($theTrue, '-')+1, strlen($theTrue));

        //test si le captchat est invalide
        if( $char !=  $tmpLettre[$myMD5[$numLettre]]){
            return false;
            exit;
        }else{
            //si on arrive ici c'est que la captcha est valide
            return true;
            exit;
        }

   }

    function iso_encode($str){
        $carac = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
'P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','–');

        $caracIso = array('A','B','C','D', 'E','F', 'G','H','I','J','K','L','M','N',
'O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i',
'j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','–');

        $str = str_replace($carac, $caracIso, $str);
        return utf8_encode($str);
    }

    function iso_decode($str){
        $carac = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
        'P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h',
        'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','–');
        
        $caracIso = array('A','B','C','D', 'E','F', 'G','H','I','J','K','L','M','N',
        'O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g',
        'h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','–');
        $str = str_replace($caracIso, $carac, $str);
        return utf8_encode($str);
    }

    function html_encode($str){
        $caracHtml = array('"','&','€','‹','›','œ','ÿ','¡','¢','£','¤','¥','¦','§',
'¨','©','ª','«','¬','­','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼',
'½','¾','¿','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ',
'ò','ó','ô','õ','ö','×','ø','ù','ú','û','ü','ý','þ','ß','à','á','â','ã','ä','å','æ',
'ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û',
'ü','ý','þ','ÿ','"','&','‹','›');

        $html = array('"','&','?','<','>','?','ÿ','¡','¢','£','¤','¥','¦','§','¨','©',
'ª','«','¬','­','®','&masr;','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½',
'¾','¿','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò',
'ó','ô','õ','ö','×','ø','ù','ú','û','ü','ý','þ','ß','à','á','â','ã','ä','å','æ','ç',
'è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü',
'ý','þ','ÿ','"','&','<','>');

        $str = str_replace($caracHtml, $html, $str);
        return utf8_encode($str);
    }
}
// fin de la class

//contenu du fichier de langue nomé ici lang_fr.php
<?php
//système anti-spam
$_LANG['soucie de securite'] = 'Sécurité anti-spam: merci de nous indiquer la ';
$_LANG['lettre du mot en gras ci-dessous:'] = ' lettre du mot en gras ci-dessous:';
$_LANG['Erreur Code anti-spam'] = 'Vous avez saisie la mauvaise lettre';
$_LANG[1] = 'première';
$_LANG[2] = 'seconde';
$_LANG[3] = 'troisième';
$_LANG[4] = 'quatrième';
$_LANG[5] = 'cinquième';
$_LANG[6] = 'sixième';
$_LANG[7] = 'septième';
$_LANG[8] = 'huitième';
$_LANG[9] = 'neuvième';

$_LANG['noSpam'] = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',
'p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','Y','J',
'K','L','M','N','O','P','Q','R','S','U','V','W','X','Y','Z');
?>
// fin du fichier de langue




// contenu du fichier monFichier.php
<?php
//inclusion de la class anti-spam
    include('captcha.class.php');
    
//inclusion du fichier de lang
    include('lang_fr.php');

//création d'une instance de la class de captcha
    $captcha = new captcha($_LANG);
//appelle de la fonction anti-spam et stokage des valeurs
    $tmp = $captcha->noSpam();

// si le formulaire est retouré on va tester si la lettre saisie est bien la bonne
if(isset($_POST['char'])){
    //on affiche le résultat
    var_dump($captcha->testNoSpam($_POST['char'], $_POST['TellMeTheTrue']));
}

?>

<form action="monFichier.php" method="post">
    Saisir la <?php echo $tmp['position'] ?> lettre du text ci-dessous <br/>
    <?php echo $tmp['captcha'] ?>
    <input type="hidden" name="TellMeTheTrue" value="<?php echo $tmp['theTrue']; ?>" />
    <input type="text" name="char"/>
    <input type="submit" value="goOn" />
</form>

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

10 octobre 2006 12:36:47 :
Formatage du text pour éviter l'étirement de la page (désolé) Rajout du code du fichier "monFichier.php" Rajout du code du fichier de langue
10 octobre 2006 12:37:34 :
Formatage du text pour éviter l'étirement de la page (désolé) Rajout du code du fichier "monFichier.php" Rajout du code du fichier de langue
10 octobre 2006 12:41:19 :
Formatage du text pour éviter l'étirement de la page (désolé) Rajout du code du fichier "monFichier.php" Rajout du code du fichier de langue
03 novembre 2006 12:06:14 :
mise a jour des sources

Commentaires et avis

signaler à un administrateur
Commentaire de coockiesch le 05/10/2006 16:04:54

Salut!
Et ca donne quoi?

@++

R@f

signaler à un administrateur
Commentaire de jean84 le 06/10/2006 18:42:08

Salut !

De ce que j'ai pu voir, il y a un input text avec un bouton submit qui contient du texte. Si j'ai bien compris, il faut rentrer la valeur ecrite en majuscule.
2 trucs:
- franchement au niveau de la visibilite, le code de coockiesch sur une image anti-spam  est 10 fois mieux (et en couleur en plus ^^)
- un truc me gene dans la source de ton code (une fois generee), c'est sa
<input type="hidden" name="TellMeTheTrue" value="              -1679091c5a880faf6fb5e6087eb1b2dc" />
A quoi sa correspond ?? Et est-ce qu'on pourrait avoir le fichier monFichier.php (ou au mieux une doc un peu plus complete sur ton code pour en comprendre les suptilites)?? Sa serait cool merci !

(j'ai mis un exemple sur mon site => http://www.info-party.c4.fr/phpcs.com/ lien captcha)

@++

signaler à un administrateur
Commentaire de jean84 le 06/10/2006 18:44:24

Ah et un dernier truc : j'ai l'impression que le code rame quand meme pas mal. Je sais pas si sa vient de mon hebergeur ou de ma connexion mais j'ai mis au moins 20 secs a afficher la page. Imaginez ma surprise quand j'ai vu juste un imput text et un bouton ^^

signaler à un administrateur
Commentaire de massacr le 08/10/2006 13:05:57

Ca m'a l'air très complexe pour un résultat assez médiocre. Il existe des solutions qui tiennent moins de 5 lignes et qui sont très efficaces.

signaler à un administrateur
Commentaire de iubito le 09/10/2006 08:13:25

Vas-y, donne la solution en 5 lignes et efficace (accessible à tous bien entendu). Je suis curieux de connaître...

Waldo2188> Est-ce que tu pourrais mettre des espaces ou des retours à la lignes dans ton code
par exemple sur les lignes
$carac = array('A',...
$caracIso

ça étire la fenêtre monstrueusement, faut scroller à fond pour chercher le bouton "Ajouter un commentaire" :p

signaler à un administrateur
Commentaire de jean84 le 09/10/2006 16:18:48

Mouais c'est clair, j'aimerais bien le voir egalement le code en question de 5 lignes... ou peut etre es-tu simplement de Marseille ?? ^^

signaler à un administrateur
Commentaire de ThePilot le 10/10/2006 11:51:13

Jean 84, toi tu doit être Parisien...

signaler à un administrateur
Commentaire de Waldo2188 le 10/10/2006 12:49:27

Pour répondre à Massacr, c'est clair c'est long et complexe (quoi qu'il y a pire).
Le context dans le quel j'ai créé cette class était un site multi-langue devant être accéssible a tous.

Pour ce qui est de sa lenteur ça me parait bizard, n'étant pas un dieu de la prog (pas encore ;) )il est possible qu'il y est des bugs.

Dans le imput qui se nome "TellMeTheTrue" on retrouve deux choses.
- La liste des lettres généré aléatoirement et encodé en format ISO
- La position de la lettre à saisir crypté en MD5

Dés que j'aurai un peu de temps, je vais essayer d'améliorer la chose.
Sur ce bon code

signaler à un administrateur
Commentaire de jean84 le 10/10/2006 16:58:49

ThePilot > Faut ! A moins que le 84 est demenage ? C'est pas parce que je fais de l'humour sur les marseillais que forcement je suis un parigot .....

Waldo2188 > Ok merci pour la precision. Donc au final, c'est bien la lettre ecrite en majuscule qui doit etre lue ?

PS : merci pour les sauts de ligne, c'est moins chiant maitenant a lire ^^

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

scrollbar et accessibilité [ par labinocle ] bonjour, est-ce que qqu'un sait si il y a une autre façon de faire les scrollbar qu'en passant par la modification de la feuille de style sur body ? c AntiSpam [ par Maxxou59 ] Bonjour a tous j'aimerais lancer un grand projet pour lutter contre le spam.Dans ce sens j'aurais besoin d'aide pour créer des applications web, les a probleme affichage captcha [ par Jarod1980 ] Jarod_Delaware CAPTCHA [ par hlbmatos ] J'ai installé cryptographp dans mon livre d'or mais quoi que je fasse, quand j'envoie un message vers mon livre d'or, il n'est pas vérifié par le cryp Pb pour rafraichir un captcha [ par sebastien_et_typh ] Bonsoir,je rencontre 2 problèmes : - Le premier : j'ai installer un captcha sur mon site lors de l'inscription (j'avais pris le code de ce captcha ici


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.