begin process at 2012 05 27 21:59:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > CALCUL DE SOUS RESEAUX - MASQUE - ADRESSAGE IP

CALCUL DE SOUS RESEAUX - MASQUE - ADRESSAGE IP


 Information sur la source

Note :
7,75 / 10 - par 4 personnes
7,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Initié Date de création :17/04/2004 Vu / téléchargé :67 695 / 1 120

Auteur : _sebf

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

 Description

Cette outil vous permettra de calculer, en fonction du masque de sous réseaux de votre choix, la plage IP disponible. L'outil vous indiquera en plus, la première adresse disponible ainsi que la dernière.

Une démo du code est disponnible à l'adresse suivante :
http://www.frameip.com/masque/

----------------- -----
http://www.frameip.com
Pour ceux qui aiment TCPIP
----------------------

Source

  • <?
  • // ********************************************
  • // Affichage de l'entete html
  • // ********************************************
  • echo
  • '
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  • <html>
  • <head>
  • <LINK REL="StyleSheet" HREF="../style.css" TYPE="text/css">
  • <title>FrameIP, Pour ceux qui aiment IP - Script Masque</title>
  • <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  • <META NAME="AUTHOR" CONTENT="www.frameip.com">
  • <META NAME="COPYRIGHT" CONTENT="Copyright (c) 2003 by framip">
  • <META NAME="KEYWORDS" CONTENT="masque, ip, classe, A, B, C, D, E, 255, 0, 128, bits, binaire, routeur, wan, reseaux, lan, comaraison, adresse, segment, convertion, hote, passerelle, route, calcul, sousreseau">
  • <META NAME="DESCRIPTION" CONTENT="Frameip, pour ceux qui aiment IP - Script Masque">
  • <META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
  • <META NAME="REVISIT-AFTER" CONTENT="1 DAYS">
  • <META NAME="RATING" CONTENT="GENERAL">
  • <META NAME="GENERATOR" CONTENT="powered by frameip.com - webmaster@frameip.com">
  • </head>
  • <body>
  • ';
  • // ********************************************
  • // Initiation des variables
  • // ********************************************
  • $calcul_adresse_ip=$_POST['IP'];
  • $calcul_mask=$_POST['MASK'];
  • // **********************************************
  • // Récupération de la date et heure
  • // **********************************************
  • $annee=date("Y");
  • $mois=date("m");
  • $jour=date("d");
  • $heure=date("H");
  • $minute=date("i");
  • $seconde=date("s");
  • // **********************************************
  • // Récupération de l'IP cliente
  • // **********************************************
  • $ip_client=getenv("REMOTE_ADDR");
  • // **********************************************
  • // Récupération du Ptr de l'IP cliente
  • // **********************************************
  • $ptr=gethostbyaddr("$ip_client");
  • if ($ptr==$ip_client)
  • $ptr="Pas de ptr";
  • // **********************************************
  • // Récupération du port TCP source
  • // **********************************************
  • $port_source=getenv("REMOTE_PORT");
  • // **********************************************
  • // Récupération de l'IP du browser
  • // **********************************************
  • $ip_browser=getenv("HTTP_X_FORWARDED_FOR");
  • // ********************************************
  • // Validation du champs IP
  • // ********************************************
  • $calcul_inetaddr=ip2long($calcul_adresse_ip);
  • $calcul_adresse_ip=long2ip($calcul_inetaddr);
  • // ********************************************
  • // Vérification de la saisie
  • // ********************************************
  • $erreur=0; // Initialisation
  • if (($calcul_inetaddr==0)||($calcul_inetaddr==-1))
  • masque_erreur(1);
  • if (($calcul_mask<1)||($calcul_mask>32))
  • masque_erreur(2);
  • // ********************************************
  • // Convertion du masque
  • // ********************************************
  • switch ($calcul_mask)
  • {
  • case 1:
  • $calcul_chaine_mask="128.0.0.0";
  • break;
  • case 2:
  • $calcul_chaine_mask="192.0.0.0";
  • break;
  • case 3:
  • $calcul_chaine_mask="224.0.0.0";
  • break;
  • case 4:
  • $calcul_chaine_mask="240.0.0.0";
  • break;
  • case 5:
  • $calcul_chaine_mask="248.0.0.0";
  • break;
  • case 6:
  • $calcul_chaine_mask="252.0.0.0";
  • break;
  • case 7:
  • $calcul_chaine_mask="254.0.0.0";
  • break;
  • case 8:
  • $calcul_chaine_mask="255.0.0.0";
  • break;
  • case 9:
  • $calcul_chaine_mask="255.128.0.0";
  • break;
  • case 10:
  • $calcul_chaine_mask="255.192.0.0";
  • break;
  • case 11:
  • $calcul_chaine_mask="255.224.0.0";
  • break;
  • case 12:
  • $calcul_chaine_mask="255.240.0.0";
  • break;
  • case 13:
  • $calcul_chaine_mask="255.248.0.0";
  • break;
  • case 14:
  • $calcul_chaine_mask="255.252.0.0";
  • break;
  • case 15:
  • $calcul_chaine_mask="255.254.0.0";
  • break;
  • case 16:
  • $calcul_chaine_mask="255.255.0.0";
  • break;
  • case 17:
  • $calcul_chaine_mask="255.255.128.0";
  • break;
  • case 18:
  • $calcul_chaine_mask="255.255.192.0";
  • break;
  • case 19:
  • $calcul_chaine_mask="255.255.224.0";
  • break;
  • case 20:
  • $calcul_chaine_mask="255.255.240.0";
  • break;
  • case 21:
  • $calcul_chaine_mask="255.255.248.0";
  • break;
  • case 22:
  • $calcul_chaine_mask="255.255.252.0";
  • break;
  • case 23:
  • $calcul_chaine_mask="255.255.254.0";
  • break;
  • case 24:
  • $calcul_chaine_mask="255.255.255.0";
  • break;
  • case 25:
  • $calcul_chaine_mask="255.255.255.128";
  • break;
  • case 26:
  • $calcul_chaine_mask="255.255.255.192";
  • break;
  • case 27:
  • $calcul_chaine_mask="255.255.255.224";
  • break;
  • case 28:
  • $calcul_chaine_mask="255.255.255.240";
  • break;
  • case 29:
  • $calcul_chaine_mask="255.255.255.248";
  • break;
  • case 30:
  • $calcul_chaine_mask="255.255.255.252";
  • break;
  • case 31:
  • $calcul_chaine_mask="255.255.255.254";
  • break;
  • case 32:
  • $calcul_chaine_mask="255.255.255.255";
  • break;
  • default :
  • $calcul_chaine_mask="255.255.255.255";
  • break;
  • }
  • // ********************************************
  • // Calcul du nombre de HOST
  • // ********************************************
  • if ($calcul_mask==32)
  • $calcul_host=1;
  • else
  • $calcul_host=pow(2,32-$calcul_mask)-2;
  • // ********************************************
  • // Calcul de la route
  • // ********************************************
  • $calcul_route=$calcul_inetaddr&ip2long($calcul_chaine_mask); // Ajoute l'IP et le masque en binaire
  • $calcul_route=long2ip($calcul_route); // Convertit l'adresse inetaddr en IP
  • // ********************************************
  • // Calcul de la premiere adresse
  • // ********************************************
  • if ($calcul_mask==32)
  • $offset=0;
  • else
  • $offset=1;
  • if ($calcul_mask==31)
  • $calcul_premiere_ip="N/A";
  • else
  • {
  • $calcul_premiere_ip=ip2long($calcul_route)+$offset;
  • $calcul_premiere_ip=long2ip($calcul_premiere_ip);
  • }
  • // ********************************************
  • // Calcul de la dernière adresse
  • // ********************************************
  • if ($calcul_mask==32)
  • $offset=-1;
  • else
  • $offset=0;
  • if ($calcul_mask==31)
  • $calcul_derniere_ip="N/A";
  • else
  • {
  • $calcul_derniere_ip=ip2long($calcul_route)+$calcul_host+$offset;
  • $calcul_derniere_ip=long2ip($calcul_derniere_ip);
  • }
  • // ********************************************
  • // Calcul du broadcast
  • // ********************************************
  • if ($calcul_mask==32)
  • $offset=0;
  • else
  • $offset=1;
  • $calcul_broadcast=ip2long($calcul_route)+$calcul_host+$offset;
  • $calcul_broadcast=long2ip($calcul_broadcast);
  • // ********************************************
  • // Présentation des résultats
  • // ********************************************
  • echo '
  • <p align="center">
  • <font size="4" color="#008000">
  • <b>
  • Masque de sous réseaux
  • </b>
  • </font>
  • </p>
  • ';
  • echo '
  • <table border="0" width="100%" id="table1">
  • <tr>
  • <td width="50%" align="right"><b>Les saisies</b></td>
  • <td>&nbsp;</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">Adresse IP :</td>
  • <td>'.$calcul_adresse_ip.'</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">Masque de sous réseau :</td>
  • <td>'.$calcul_mask.'</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">&nbsp;</td>
  • <td>&nbsp;</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right"><b>Les résultats</b></td>
  • <td>&nbsp;</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">Masque de sous réseau :</td>
  • <td>'.$calcul_chaine_mask.'</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">Nombre maximum d\'hôte :</td>
  • <td>'.$calcul_host.'</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">L\'adresse de réseau (La route) :</td>
  • <td>'.$calcul_route.'</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">Première adresse d\'hôte :</td>
  • <td>'.$calcul_premiere_ip.'</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">Dernière adresse d\'hôte :</td>
  • <td>'.$calcul_derniere_ip.'</td>
  • </tr>
  • <tr>
  • <td width="50%" align="right">Adresse de broadcast :</td>
  • <td>'.$calcul_broadcast.'</td>
  • </tr>
  • </table>
  • ';
  • // ********************************************
  • // Fin du script général
  • // ********************************************
  • fin_du_script();
  • // ********************************************
  • // Fonction d'affichage de l'erreur de saisie
  • // ********************************************
  • function masque_erreur($erreur) // $erreur représente le numéro d'erreur.
  • {
  • // ********************************************
  • // Affichage de titre d'erreur
  • // ********************************************
  • echo
  • '
  • <p align="center">
  • <b>
  • <font size="5" color="#008000">
  • Erreur
  • </font>
  • </b>
  • </p>
  • ';
  • echo "<BR>";
  • // ********************************************
  • // Message personnalisé
  • // ********************************************
  • switch ($erreur)
  • {
  • case 1:
  • echo'Le calcul ne peux pas avoir lieu car le champ IP est vide ou non valide.';
  • break;
  • case 2:
  • echo'Le calcul ne peux pas avoir lieu car le champ MASK est vide ou non valide.';
  • break;
  • }
  • // ********************************************
  • // Fin du script général
  • // ********************************************
  • fin_du_script();
  • }
  • function fin_du_script()
  • {
  • // ********************************************
  • // Affiche de l'Url
  • // ********************************************
  • echo '
  • <p align="right">
  • <a target="_blank" href="http://www.frameip.com">
  • www.frameip.com
  • </a>
  • </p>
  • ';
  • // ********************************************
  • // Fin de la page Html
  • // ********************************************
  • echo
  • '
  • </body>
  • </html>
  • ';
  • // ********************************************
  • // Fin du script général
  • // ********************************************
  • exit(0);
  • }
  • ?>
<?

// ********************************************
// Affichage de l'entete html
// ********************************************
echo
    '
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>

    <head>

    <LINK REL="StyleSheet" HREF="../style.css" TYPE="text/css">

    <title>FrameIP, Pour ceux qui aiment IP - Script Masque</title>

    <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <META NAME="AUTHOR" CONTENT="www.frameip.com">
    <META NAME="COPYRIGHT" CONTENT="Copyright (c) 2003 by framip">
    <META NAME="KEYWORDS" CONTENT="masque, ip, classe, A, B, C, D, E, 255, 0, 128, bits, binaire, routeur, wan, reseaux, lan, comaraison, adresse, segment, convertion, hote, passerelle, route, calcul, sousreseau">
    <META NAME="DESCRIPTION" CONTENT="Frameip, pour ceux qui aiment IP - Script Masque">
    <META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
    <META NAME="REVISIT-AFTER" CONTENT="1 DAYS">
    <META NAME="RATING" CONTENT="GENERAL">
    <META NAME="GENERATOR" CONTENT="powered by frameip.com - webmaster@frameip.com">

    </head>

    <body>
    ';

// ********************************************
// Initiation des variables
// ********************************************
$calcul_adresse_ip=$_POST['IP'];
$calcul_mask=$_POST['MASK'];

// **********************************************
// Récupération de la date et heure
// **********************************************
$annee=date("Y");
$mois=date("m");
$jour=date("d");
$heure=date("H");
$minute=date("i");
$seconde=date("s");

// **********************************************
// Récupération de l'IP cliente
// **********************************************
$ip_client=getenv("REMOTE_ADDR");

// **********************************************
// Récupération du Ptr de l'IP cliente
// **********************************************
$ptr=gethostbyaddr("$ip_client");
if ($ptr==$ip_client)
$ptr="Pas de ptr";

// **********************************************
// Récupération du port TCP source
// **********************************************
$port_source=getenv("REMOTE_PORT");

// **********************************************
// Récupération de l'IP du browser
// **********************************************
$ip_browser=getenv("HTTP_X_FORWARDED_FOR");

// ********************************************
// Validation du champs IP
// ********************************************
$calcul_inetaddr=ip2long($calcul_adresse_ip);
$calcul_adresse_ip=long2ip($calcul_inetaddr);

// ********************************************
// Vérification de la saisie
// ********************************************
$erreur=0; // Initialisation
if (($calcul_inetaddr==0)||($calcul_inetaddr==-1))
    masque_erreur(1);
if (($calcul_mask<1)||($calcul_mask>32))
    masque_erreur(2);

// ********************************************
// Convertion du masque
// ********************************************
switch ($calcul_mask)
    {
    case 1:
        $calcul_chaine_mask="128.0.0.0";
    break;

    case 2:
        $calcul_chaine_mask="192.0.0.0";
    break;

    case 3:
        $calcul_chaine_mask="224.0.0.0";
    break;

    case 4:
        $calcul_chaine_mask="240.0.0.0";
    break;

    case 5:
        $calcul_chaine_mask="248.0.0.0";
    break;

    case 6:
        $calcul_chaine_mask="252.0.0.0";
    break;

    case 7:
        $calcul_chaine_mask="254.0.0.0";
    break;

    case 8:
        $calcul_chaine_mask="255.0.0.0";
    break;

    case 9:
        $calcul_chaine_mask="255.128.0.0";
    break;

    case 10:
        $calcul_chaine_mask="255.192.0.0";
    break;

    case 11:
        $calcul_chaine_mask="255.224.0.0";
    break;

    case 12:
        $calcul_chaine_mask="255.240.0.0";
    break;

    case 13:
        $calcul_chaine_mask="255.248.0.0";
    break;

    case 14:
        $calcul_chaine_mask="255.252.0.0";
    break;

    case 15:
        $calcul_chaine_mask="255.254.0.0";
    break;

    case 16:
        $calcul_chaine_mask="255.255.0.0";
    break;

    case 17:
        $calcul_chaine_mask="255.255.128.0";
    break;

    case 18:
        $calcul_chaine_mask="255.255.192.0";
    break;

    case 19:
        $calcul_chaine_mask="255.255.224.0";
    break;

    case 20:
        $calcul_chaine_mask="255.255.240.0";
    break;

    case 21:
        $calcul_chaine_mask="255.255.248.0";
    break;

    case 22:
        $calcul_chaine_mask="255.255.252.0";
    break;

    case 23:
        $calcul_chaine_mask="255.255.254.0";
    break;

    case 24:
        $calcul_chaine_mask="255.255.255.0";
    break;

    case 25:
        $calcul_chaine_mask="255.255.255.128";
    break;

    case 26:
        $calcul_chaine_mask="255.255.255.192";
    break;

    case 27:
        $calcul_chaine_mask="255.255.255.224";
    break;

    case 28:
        $calcul_chaine_mask="255.255.255.240";
    break;

    case 29:
        $calcul_chaine_mask="255.255.255.248";
    break;

    case 30:
        $calcul_chaine_mask="255.255.255.252";
    break;

    case 31:
        $calcul_chaine_mask="255.255.255.254";
    break;

    case 32:
        $calcul_chaine_mask="255.255.255.255";
    break;

   default :
        $calcul_chaine_mask="255.255.255.255";
    break;
    }

// ********************************************
// Calcul du nombre de HOST
// ********************************************
if ($calcul_mask==32)
    $calcul_host=1;
else
    $calcul_host=pow(2,32-$calcul_mask)-2;

// ********************************************
// Calcul de la route
// ********************************************
$calcul_route=$calcul_inetaddr&ip2long($calcul_chaine_mask); // Ajoute l'IP et le masque en binaire
$calcul_route=long2ip($calcul_route); // Convertit l'adresse inetaddr en IP

// ********************************************
// Calcul de la premiere adresse
// ********************************************
if ($calcul_mask==32)
    $offset=0;
else
    $offset=1;

if ($calcul_mask==31)
    $calcul_premiere_ip="N/A";
else
    {
    $calcul_premiere_ip=ip2long($calcul_route)+$offset;
    $calcul_premiere_ip=long2ip($calcul_premiere_ip);
    }

// ********************************************
// Calcul de la dernière adresse
// ********************************************
if ($calcul_mask==32)
    $offset=-1;
else
    $offset=0;

if ($calcul_mask==31)
    $calcul_derniere_ip="N/A";
else
    {
    $calcul_derniere_ip=ip2long($calcul_route)+$calcul_host+$offset;
    $calcul_derniere_ip=long2ip($calcul_derniere_ip);
    }

// ********************************************
// Calcul du broadcast
// ********************************************
if ($calcul_mask==32)
    $offset=0;
else
    $offset=1;
$calcul_broadcast=ip2long($calcul_route)+$calcul_host+$offset;
$calcul_broadcast=long2ip($calcul_broadcast);

// ********************************************
// Présentation des résultats
// ********************************************
echo '
    <p align="center">
        <font size="4" color="#008000">
            <b>
                Masque de sous réseaux
            </b>
        </font>
    </p>
    ';

echo '
    <table border="0" width="100%" id="table1">
        <tr>
            <td width="50%" align="right"><b>Les saisies</b></td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td width="50%" align="right">Adresse IP :</td>
            <td>'.$calcul_adresse_ip.'</td>
        </tr>
        <tr>
            <td width="50%" align="right">Masque de sous réseau :</td>
            <td>'.$calcul_mask.'</td>
        </tr>
        <tr>
            <td width="50%" align="right">&nbsp;</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td width="50%" align="right"><b>Les résultats</b></td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td width="50%" align="right">Masque de sous réseau :</td>
            <td>'.$calcul_chaine_mask.'</td>
        </tr>
        <tr>
            <td width="50%" align="right">Nombre maximum d\'hôte :</td>
            <td>'.$calcul_host.'</td>
        </tr>
        <tr>
            <td width="50%" align="right">L\'adresse de réseau (La route) :</td>
            <td>'.$calcul_route.'</td>
        </tr>
        <tr>
            <td width="50%" align="right">Première adresse d\'hôte :</td>
            <td>'.$calcul_premiere_ip.'</td>
        </tr>
        <tr>
            <td width="50%" align="right">Dernière adresse d\'hôte :</td>
            <td>'.$calcul_derniere_ip.'</td>
        </tr>
        <tr>
            <td width="50%" align="right">Adresse de broadcast :</td>
            <td>'.$calcul_broadcast.'</td>
        </tr>
    </table>
    ';

// ********************************************
// Fin du script général
// ********************************************
fin_du_script();

// ********************************************
// Fonction d'affichage de l'erreur de saisie
// ********************************************
function masque_erreur($erreur) // $erreur représente le numéro d'erreur.
    {
    // ********************************************
    // Affichage de titre d'erreur
    // ********************************************
    echo
        '
        <p align="center">
            <b>
                <font size="5" color="#008000">
                    Erreur
                </font>
            </b>
        </p>
    ';
    echo "<BR>";

    // ********************************************
    // Message personnalisé
    // ********************************************
    switch ($erreur)
        {
        case 1:
            echo'Le calcul ne peux pas avoir lieu car le champ IP est vide ou non valide.';
        break;
        case 2:
            echo'Le calcul ne peux pas avoir lieu car le champ MASK est vide ou non valide.';
        break;
        }

    // ********************************************
    // Fin du script général
    // ********************************************
    fin_du_script();
    }

function fin_du_script()
    {
    // ********************************************
    // Affiche de l'Url
    // ********************************************
    echo '
        <p align="right">
            <a target="_blank" href="http://www.frameip.com">
                www.frameip.com
            </a>
        </p>
        ';

    // ********************************************
    // Fin de la page Html
    // ********************************************
    echo
        '
        </body>

        </html>
        ';

    // ********************************************
    // Fin du script général
    // ********************************************
    exit(0);
    }
?>


 Conclusion


Une démo du code est disponnible à l'adresse suivante :
http://www.frameip.com/masque/

----------------- -----
http://www.frameip.com
Pour ceux qui aiment TCPIP
----------------------

 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


 Sources du même auteur

Source avec Zip MESURER LE DÉBIT DE LA BANDE PASSANTE
Source avec Zip CRÉATION D'ALERTES DANS LE FORUM PHPBB
Source avec Zip RSS - LES 5 DERNIERS POST DE PHPBB
Source avec Zip LIST UN REPERTOIRE ET CRÉE LES LIENS HTML
Source avec Zip SUPERVISION DES PORTS OUVERTS - SCAN TCP

 Sources de la même categorie

INSPECTEUR DE PAGES (VÉRIFIEZ SI DES SITES AFFICHENT UN TEXT... par pablo836
Source avec Zip Source avec une capture GÉOLOCALISATION par pgl10
Source avec Zip TAPI : METTRE EN RELATION DEUX POSTES TELEPHONIQUES par ravery
Source avec Zip CLIENT / SERVEUR : LES SOCKETS par Morphinof
Source avec Zip VALIDATEUR_3WC par lezj

Commentaires et avis

Commentaire de Kirua le 18/04/2004 02:13:08

Ton site est excellent, vient de lire qq pages dessus, j'adore ^^

Commentaire de tkof le 20/09/2004 05:37:31

Jsuis en BTS info !
Voila qui va me faire gagner du temps !!
(trop la fleme de calculer ça a la main :o)

Merci à toi !

Commentaire de neojet le 10/05/2006 18:55:32

Moi, aussi, je vais un peu plus me pencher sur ton code car il y a quelques trucs que je n'ai pas saisi au premier abord comme la valeur d'offset.

Commentaire de grosteack le 18/08/2006 18:55:10

Tu aurais gagné plus de temps en convertissant en binaire, ca t'aurait évité les switch à rallonge !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,328 sec (3)

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