KrISS feed 8.7 - Un simple et superbe (ou stupide) lecteur de flux. Par Tontof
  • Sunday 13 June 2010 - 17:27
  • Sunday 13 June 2010 - 18:40

    Je copie /colle le résumé :

    Synopsis Officiel : Dom Cobb (Leonardo DiCaprio) est un redoutable voleur de rêves, le meilleur dans cet art dangereux qu’est l’extraction et qui consiste à dérober des secrets en plongeant directement dans l’inconscient du sujet pendant la phase du rêve, au moment où son esprit est le plus vulnérable. Les compétences hors pair de Cobb en ont fait une valeur très demandée dans le monde traître de l’espionnage industriel, mais aussi un fugitif à l’échelle internationale, en plus de lui avoir coûté tout ce qu’il aimait.
    A présent, Cobb se voit offrir une chance de rédemption. Une dernière mission qui pourrait lui rendre la vie qui lui a été enlevée, à condition qu’il parvienne à réaliser l’impossible insertion. En effet, au lieu de devoir voler, Cobb et l’équipe de spécialistes qu’il dirige devront faire l’inverse, c’est-à-dire planter une idée dans l’esprit de quelqu’un. S’ils réussissent, le crime sera parfait. Mais rien ne peut préparer l’équipe à un dangereux ennemi capable de prédire tous leurs mouvements. Un ennemi que seul Cobb aurait pu voir venir.
    Cet été, votre esprit est la scène du crime.

    Grand Maitre L

    The post Un film à venir « INCEPTION » appeared first on Le blog de Luc.

  • Monday 14 June 2010 - 09:44
  • Monday 14 June 2010 - 11:51

    Voici un code source fonctionnel pour sauvegarder l’intégralité de votre base de donnée Mysql.

    
    <?php
    ################################################################################
    # L'auteur a autorisé la redistribution gratuite et l'inclusion de ce code dans
    # les programmes à condition que cette notice de copyright soit dûment incluse.
    # BackySQL (c)  2010 Brice Sanchez
    # 10/03/2010 Brice SANCHEZ - www.brice-sanchez.com
    #
    # LE CODE COUVERT PAR CETTE LICENCE EST FOURNI « EN L'ÉTAT »,
    # SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, INCLUANT,
    # SANS S'Y LIMITER, LES GARANTIES D'ABSENCE DE DÉFAUT, DE QUALITÉ MARCHANDE,
    # D'ADÉQUATION À UN USAGE PARTICULIER OU DE NON-VIOLATION DE DROITS DE TIERCES
    # PARTIES. VOUS ASSUMEZ TOUS LES RISQUES LIÉS À LA QUALITÉ ET AUX PERFORMANCES
    # DU CODE COUVERT PAR CETTE LICENCE. SI UN DÉFAUT, QUEL QU'IL SOIT, EST DÉTECTÉ
    # DANS LE CODE COUVERT PAR CETTE LICENCE, VOUS (ET NON LE DÉVELOPPEUR INITIAL
    # OU UN CONTRIBUTEUR) ASSUMEZ LE COÛT DES SERVICES D'ASSISTANCE, DES RÉPARATIONS
    # OU DES CORRECTIONS NÉCESSAIRES. CETTE LIMITATION DE GARANTIE CONSTITUE UNE
    # PARTIE ESSENTIELLE DE CETTE LICENCE. LE CODE COUVERT PAR CETTE LICENCE NE PEUT
    # ÊTRE UTILISÉ QUE DANS LE CADRE DE CETTE LIMITATION DE GARANTIE.
    # Vous utilisez ce code à vos propres risques.
    ################################################################################
    ////////////////////////////////////////////////////////////////////////////////
    // @Description
    //  Sauvegarde de base de donnée
    // @Version				0.6
    // @Licence				GNU/GPL3
    //  http://www.gnu.org/licenses/gpl-3.0.html
    // @Publication				Vendredi 12 Mars 2010
    // @Revision				Samedi 13 Mars 2010
    // @Catgorie				Administration
    // @Compatibilite			PHP 4 >= 4.0.1, PHP 5
    // @Auteur				Brice Sanchez
    //  http://www.brice-sanchez.com/
    // @Contributeur			Flashx
    // @Contact
    // @Télechargement
    //  http://www.siteduzero.com/forum-83-498153-p1-sauvegarde-automatique-de-la-base-de-donnee-mysql.html#r4753068
    // @Note
    //  Utiliser un cron job toute les 24 h vers 3heure du matin
    //
    // @changement
    //  Support la sauvegarde de DB differente
    //  Windows compatibility
    //  check config
    //
    // Remerciement
    //  * à M@teo pour héberger gracieusement nos sources,
    //  * à Brice pour l'élan communautaire qu'il a su ranimer,
    //  * aux développeurs de siteduzero.com pour leurs conseils( notamment Sebi57)
    ////////////////////////////////////////////////////////////////////////////////
    
    ////////////////////////////////////////////////////////////////////////////////
    // Configuration
    ////////////////////////////////////////////////////////////////////////////////
    //TODO : céer un object de configuration( ajouter un nom a cette config, donner plus d'option)
    // inclure la configuration : pas de C/C
    
    // Nom de la base de donnée à enregistrer
    $nom_bdd = 'test' ;
    
    // Hôte de la base de donnée ciblé
    $hote = 'localhost' ;
    
    // Port de la base de donnée
    $port = '3306' ;
    
    // Nom d'utilisateur de la base de donnée à enregistrer
    $utilisateur = 'root' ;
    
    // Mot de passe de la base de donnée à enregistrer
    $mot2passe = '' ;
    
    // Exemple : latin1 ou utf8
    $encodage_caracteres_mysql = 'latin1' ;
    
    // Remplir le tableau si on veut sauvegarder uniquement certaines tables
    // Exemple : array('table1','table2','table5')
    $selection_tables_mysql = array();
    
    // Chemin absolu de l'emplacement du site
    $chemin_absolu_site = dirname( __FILE__) . DIRECTORY_SEPARATOR;
    
    // Emplacement sur le FTP du répertoire des sauvegardes
    $repertoire = 'sauvegarde_mysql';
    
    // Nom du fichier ( ex : nomdelabasededonnee_2010-03-01_01-01-01.sql)
    $ext_fichier = 'sql' ;
    
    // Nombre de sauvegardes à garder sur le FTP
    $nbre_sauvegardes_a_garder = 7 ;
    
    define( "CHECK", true);
    define( "FIRST_RUN", true);
    
    ////////////////////////////////////////////////////////////////////////////////
    // Initialisation
    ////////////////////////////////////////////////////////////////////////////////
    $repertoire_sauvegardes = $chemin_absolu_site . $repertoire.DIRECTORY_SEPARATOR;
    
    $nom_fichier = $nom_bdd.'_'.date('Y-m-d_H-i-s').'.'.$ext_fichier ;
    
    ////////////////////////////////////////////////////////////////////////////////
    // Vérification de l'environnement
    ////////////////////////////////////////////////////////////////////////////////
    if( true == CHECK)
    {
    $sapi_type = php_sapi_name();// Context d'execution
    
    if (substr($sapi_type, 0, 3) != 'cli') {
    if( true == FIRST_RUN)
    {
    ?><html><body>
    <p>Il semblerai que vous souhaitez utiliser ce fichier a travers le reseaux.<br/>
    <p>Si tel est votre souhais, Pensez à :
    <ul>
    <li>Autentifier l'attaquant;</li>
    <li>Identifier l'attaquant;</li>
    <li>Modifier périodiquement vos codes d'acces.</li>
    </ul></p>
    </body></html><?php
    }
    exit( );
    }
    if( is_dir ($repertoire_sauvegardes) === FALSE ) {
    if(mkdir ($repertoire_sauvegardes, 0700) === FALSE ) {
    exit('Impossible de créer le répertoire de sauvegarde'.PHP_EOL);
    // TODO : Indiquer une solution
    }
    } else if( is_writable( $repertoire_sauvegardes)===FALSE) {
    exit('Impossible d\'écrire dans le répertoire de sauvegarde'.PHP_EOL);
    // TODO : Indiquer une solution
    }
    
    // tester la connexion Mysql;
    // Que ce passe t-il si MySQL n'est pas en TCP mais en socket file ?
    // Optimiser le mode de compatibilité mysql( interoger mysql)
    // Que ce pass t'il si on se plante dans le nom des table $selection_tables_mysql( interoger mysql)
    }
    
    ////////////////////////////////////////////////////////////////////////////////
    // Sauvegarde de la base de donnée
    ////////////////////////////////////////////////////////////////////////////////
    
    $commande  = 'mysqldump';
    $commande .= ' --host='.$hote;
    $commande .= ' --port='.$port;
    $commande .= ' --user='.$utilisateur;
    $commande .= ' --password='.$mot2passe ;
    $commande .= ' --skip-opt';
    $commande .= ' --compress';
    $commande .= ' --add-locks';
    $commande .= ' --create-options';
    $commande .= ' --disable-keys';
    $commande .= ' --quote-names';
    $commande .= ' --quick';
    $commande .= ' --extended-insert';
    $commande .= ' --complete-insert';
    $commande .= ' --default-character-set='.$encodage_caracteres_mysql;
    $commande .= ' --compatible=mysql40';
    $commande .= ' --result-file='.$repertoire_sauvegardes.$nom_fichier ;
    $commande .= ' '.$nom_bdd ;
    
    if( !empty($selection_tables_mysql) ) {
    $commande .= ' '.implode(' ',$selection_tables_mysql) ;
    }
    
    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    // WARNING
    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    // a REVOIR, exec() serrai plus mieux ????????????????
    // Execution de la commande de sauvegarde
    system($commande) ;
    
    // Compression au format GZIP du fichier sauvegardé
    system('cd '.$repertoire_sauvegardes.'; gzip '.$nom_fichier) ;
    // $] gzip: test_2010-03-13_02-31-16.sql.gz already exists; do you wish to overwrite (y or n)?
    // et il me crée *.sql sans le gziper
    // donc verifier les erreur retourner par systeme
    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    // WARNING
    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    
    //TODO choix de la destination de la sauvegarde sur FTP
    
    // Initialisation des variables
    $tableau_sauvegardes = array();
    
    // Ouverture du dossier, Attention au cache du filesysteme???
    if ($repertoire_ouvert = opendir($repertoire_sauvegardes)) {
    // Lecture des entrées
    while( ($fichier_en_cours = readdir($repertoire_ouvert)) !== false) {
    if(is_file($repertoire_sauvegardes.$fichier_en_cours)) {
    if( substr( $fichier_en_cours, 0, strlen( $nom_bdd))!=$nom_bdd ) {
    continue;//
    }
    // Mise en tableau des résultats
    $tableau_sauvegardes[] = $fichier_en_cours;
    }
    }
    // fermeture du dossier
    closedir($repertoire_ouvert) ;
    }
    
    sort($tableau_sauvegardes, SORT_STRING);
    
    // Supprime les fichiers en trop
    $ln = sizeof( $tableau_sauvegardes)-( $nbre_sauvegardes_a_garder-1);
    for($i=0; $i<$ln; $i++) {
    unlink($repertoire_sauvegardes.$tableau_sauvegardes[$i]);
    }
    
    ////////////////////////////////////////////////////////////////////////////////
    // Loger nos actions
    ////////////////////////////////////////////////////////////////////////////////
    //TODO, envoyer un mail : c'est rassurant
    

    Grand maître L

    The post Un code source PHP pour sauvegarder votre base de donnée MySQL appeared first on Le blog de Luc.

  • Tuesday 15 June 2010 - 09:16

    C’est avec ce code source que vous allez pouvoir jouer au « Bandit manchot ». Il est séparé en deux parties, le Html et le JavaScript.

    Pour voir le résultat, cliquez ici.

    Le code Html :

    <body>
    <br />
    <div id="globale">
    <br />
    <div id="contenu">
    <br />
    <div id="levier2">
    
                    <input type="image" value=" " onclick="lancer_jeu();" id="levier"/>
                </div>
    <p>
    <br />
    <div id="resultat">
    <br />
    <p id="affichage_gains">
                    ---
                    </p>
    <p>
                </div>
    <p>
    <br />
    <div id="pot">
    <br />
    <p class="vert">votre pot <br />est de :
                    </p>
    <p>
    
    <br />
    <p id="affichage_pot">100
                    </p>
    <p>
    <br />
    <p class="vert">mise :
                    </p>
    <p>
    <br />
    <p id="affichage_mise">0
                    </p>
    <p>
                </div>
    <p>
    <br />
    <div id="jackpot">
                    <img name="s1" src="media/theme/slot-vide.png" alt="slot-vide"/>
                    <img name="s2" src="media/theme/slot-vide.png" alt="slot-vide"/>
                    <img name="s3" src="media/theme/slot-vide.png" alt="slot-vide"/>
                </div>
    <p>
    
    <br />
    <div id="boutons">
                    <input onclick="miser();" type="image" src="media/theme/mise-plus.png" id="miser1"/>
                    <input onclick="tout_miser();" type="image" src="media/theme/mise-tout.png" id="miserall"/>
                </div>
    <p>
            </div>
    <p>
        </div>
    <p>
    </body>
    

    Le code JavaScript :

    var mise = 0;
    var pot = 100;
    var gains = 0;
    // nombre de slots
    var nombre_slots = 3;
    // declaration d'un tableau avec "slots" comme valeur
    var slots = new Array(nombre_slots);
    //dclaration de la valeur des slots
    var valeur_des_slots = 0;
    
    function lancer_jeu()
    {
        if (mise == 0) return;
    
        // rinitialisation de la valeur des slots
        valeur_des_slots = 0;
    
        // creation et remplissage du tableau
        for (var index = 0; index < nombre_slots; index++) { slots[index] = tirer_aleatoirement_image(); } s1.src=slots[0]; s2.src=slots[1]; s3.src=slots[2]; calculer_gains(); } //Cette fontion sert pour augmenter la valeur du pot function garder_gains() { if (valeur_des_slots > 0)
        {
            //alert('Vous avez Gagné !!!'); // Affiche une box avec le message "Vous avez Gagné"
            pot = pot + gains;
        }
    }
    
    //fonction pour tirer alatoirement une image
    
    function tirer_aleatoirement_image()
    {
        var nombre_images = 4;
        // nom de toutes les images d'un slot
        var images = new Array("./media/slot/slot-euro.png","./media/slot/slot-cerise.png","./media/slot/slot-etoile.png","./media/slot/slot-couronne.png");
        // tirage de l'alea
        var alea = Math.floor(Math.random()*nombre_images);
        // recuperation du nom de l'image dans le tableau
        var slot = images[alea];
        // mise  jour de la valeur des slots
        valeur_des_slots = (Math.pow(10,alea)) + (valeur_des_slots);
        return slot;
    }
    
    function calculer_gains()
    {
        //je fais un switch case pour savoir quels sont mes gains
        switch(valeur_des_slots)
        {
            case nombre_slots:
                gains = mise*20;
                alert('jackpot');
                garder_gains();
                break;
    
            case nombre_slots * 1000:
                gains =  mise*15;
                garder_gains();
                break;
    
            case nombre_slots * 100:
                gains = mise*10;
                garder_gains();
                break;
    
            case nombre_slots * 10:
                gains = mise*5;
                garder_gains();
                break;
    
            case 12:
            case 102:
            case 1002:
                gains = mise*2;
                garder_gains();
                break;
    
            default:
                gains = 0;
                break;
        }
    // rechargement automatique de la mis tant que le pot est plein (plus ergonomique)
        mise = 0;
        if (pot > 0)
        {
            pot -= 1;
            mise = 1;
        }
        document.getElementById("affichage_pot").innerHTML = pot;
        document.getElementById("affichage_gains").innerHTML = gains;
        document.getElementById("affichage_mise").innerHTML = mise;
    }
    
    function miser()
    {
        if (pot > 1)
        {
            pot -= 1;
            mise += 1;
            document.getElementById("affichage_pot").innerHTML = pot;
            document.getElementById("affichage_gains").innerHTML = gains;
            document.getElementById("affichage_mise").innerHTML = mise;
        }
    }
    function tout_miser()
    {
        if (pot > 1)
        {
            mise += pot;
            pot = 0;
            document.getElementById("affichage_pot").innerHTML = pot;
            document.getElementById("affichage_gains").innerHTML = gains;
            document.getElementById("affichage_mise").innerHTML = mise;
        }
    }
    

    Le code css :

    *
    {
        margin: 0;
        padding: 0;
    }
    p
    {
        font-family: Arial;
    }
    /*------------------divs---------------------*/
    #globale
    {
        width: auto;
        height: auto;
    }
    #contenu
    {
        position: relative;
        top:25px;
        margin-left:auto;
        margin-right: auto;
        background: url(../theme/fond.png) no-repeat;
        width: 642px;
        height: 426px;
    }
    #levier
    {
            float: right;
            width: 96px;
            background: url(../theme/levier-depart.png) no-repeat;
            width:100px;
            height:300px;
    }
    #levier2
    {
            float: right;
            width: 96px;
    }
    #levier:hover
    {
        background: url(../theme/levier-milieu.png) no-repeat;
    }
    #levier:active
    {
        background: url(../theme/levier-jouer.png) no-repeat;
    }
    #jackpot
    {
        float:right;
        top:30px;
        position:relative;
        right:30px;
    }
    
    #resultat
    {
        position: relative;
        background:url(../theme/resultat.png) no-repeat;
        width: 532px;
        height: 61px;
        margin-left:6px;
        top:20px;
    }
    #resultat p
    
    {
        font-size: 30px;
        top:15px;
    }
    
    #result-tirage
    
        {
            position: relative;
            float: right;
            width:auto;
            top:35px;
            right:40px;
        }
    #pot
    {
        position: relative;
        background:url(../theme/mise.png) no-repeat;
        width: 149px;
        height: 199px;
        float:left;
        top:40px;
        margin-left: 7px;
    }
    
    #pot p
    {
        font-size: 15px;
        top:35px;
        margin-top: 10px;
    }
    #boutons
    {
        position: relative;
        top:50px;
        float: left;
        left:90px;
        width: auto;
        height: auto;
    }
    #affichage_gains
    {
        position: relative;
        color:green;
        text-align: center;
    }
     #affichage_pot
    {
            position: relative;
            color:green;
            text-align: center;
    }
    
    #affichage_mise
    {
            position: relative;
            color:green;
            text-align: center;
    }
    /*------------------------------classes--------------------*/
    .vert
    {
            position: relative;
            color:green;
            text-align: center;
    }

    Grand maître L

    The post Ce mardi je vous emmène au casino ! appeared first on Le blog de Luc.

  • Wednesday 16 June 2010 - 09:58

    Un dernier vol pour la navette AtlantisSur cette magnifique photo on peut voir décollage de la navette Atlantis pour son dernier vole le 14 mai 2010.

    Normalement les navettes doivent être mises à la retraite les une après les autres. Il ne restera plus que Endeavour pour un vol prévu en Septembre 2010.

    Grand Maître L

    The post Un dernier vol pour la navette Atlantis appeared first on Le blog de Luc.

  • Thursday 17 June 2010 - 22:22
  • Thursday 24 June 2010 - 14:39

    Aujourd’hui court métrage :

    Ce cour métrage intitulé « Clone » n’a été tourné que en 4h mais pour quel résultat !!!

    Pour information c’est le même réalisateur qui nous a offert « The hunt for Gollum » il y a 3 ans.

    Je vous laisse juger :

    Grand maître L

    The post Clone appeared first on Le blog de Luc.

  • Thursday 24 June 2010 - 19:25

    Pendant longtemps les créateur de sites internet on été limités par le navigateur utilisé. Cette situation est en parti due aux problèmes qu’a eu Microsoft pour développer le successeur de Windows XP.

    A l’heure où je vous écris (2010), Microsoft assure encore le support du navigateur IE6. Le principal problème de navigateur est qu’il ne respecte pas les standards établis par le W3C, au profit de l’adjonction de ses propres fonctionnalitées. La situation s’est à peine améliorée avec l’arrivée d’IE7 puis d’IE8.

    Aujourd’hui la béta d’Internet Explorer 9 nous montre dans quelle direction la firme de Bill Gates veut aller.

    Nous pouvons citer :

    • Meilleur support des standards du W3C
    • Support du html5
    • Support de CSS3

    Autrement dit une révolution pour Microsoft et un bol d’air pour les développeurs Web.

    Dans cette vidéo on peut voir la dernière version beta d’IE9 manipuler des objets HTML5.
    Get Microsoft Silverlight
    Que du bon en perspective…

    Grand Maître L

    The post Le futur de Microsoft Internet Explorer appeared first on Le blog de Luc.


    http://ecn.channel9.msdn.com/o9/ch9/0/7/9/6/5/5/IE95a_ch9.wmv
  • Monday 28 June 2010 - 12:55

    Bienvenu sur Internet ! En suivant les règles de ce guide, vous vous assurez d’une expérience d’Internet sans problème et sans risque.

    VéritableIdentité

    Avant de vous connecter, veuillez vous assurer que vous avez reçu votre carte VéritableIdentité des autorités locales. S’enregistrer directement sur Internet a été rendu illégal par la loi Fin de l’anonymat (dite loi Masson) de 2012, et vous devez vous assurer de signer vos commentaires, courriels, billets etc. avec votre véritable nom. Utiliser votre carte VéritableIdentité est très facile, votre ordinateur (MacOS 15 ou ChromeOS7 et suivants) se connectera automatiquement à votre carte toute proche et la vérifiera avec vos données biométriques. Ne portez pas de maquillage, de voile, de lentilles de contact, et rasez-vous s’il vous plaît avant que le scan biométrique ne démarre (il est conseillé de ne pas entamer une reconnaissance biométrique après une longue nuit de beuverie).

    Géolocalisation

    Internet est découpé par pays en environ 120 régions. Cela permet que du contenu divertissant approprié vous soit diffusé, et que vous ne trouviez pas de contenu dérangeant. Votre localisation géographique devrait être automatiquement déduite de la position de votre point d’accès qui, s’il concorde avec le pays déclaré sur votre carte VéritableIdentité, vous permettra de continuer. Les utilisateurs des Etats-Unis d’Amérique peuvent profiter de rediffusions de grands shows propriétés des chaînes de télévision comme Friends 2020, par exemple, tandis que les utilisateurs d’autres pays peuvent avoir des goûts et des préférences différentes.

    Note aux voyageurs : avant de préparer votre voyage à l’étranger, assurez-vous de déposer une demande de Visa Geolocation afin de pouvoir surfer dans les cyber-cafés du pays de destination. Sinon, vous pouvez enfiler votre combinaison numérique et visiter simplement ce pays à travers Google Street View 3D Plus Touch. Google Street View 3D Plus Touch ne vous montrera de ce pays que les choses qui sont légales dans le vôtre, c’est donc une excellence façon de découvrir efficacement et sans risque d’autres cultures excitantes.

    S’inscrire au bon Internet

    La plupart des offres de contenus dépendent de l’Internet auquel vous vous êtes abonné. Si vous vous êtes abonné à l’Internet GoogleAppleAmazon, alors vous pourrez accéder en un clic à une vaste bibliothèque de livres numériques, de nombreux films, ainsi qu’un certain nombre de pages personnelles approuvées. Si vous êtes abonné à l’Internet DisneyWarnerBrosViacom, vous accéderez à un catalogue de livres, de films et de pages personnelles différent.

    Bien que nous ne puissions pas recommander l’un plutôt que l’autre, l’Internet goo:// est excellent pour la recherche et le divertissement léger (chiens parlants), alors que dis:// fournit l’expérience cinématographique la plus rapide. Stocker les 50 Teraoctets du film Feel3D Le retour de Wall-E Jr. pour voir et toucher de manière fluide prend seulement 1/10è de seconde.

    Contenus pour adultes

    Si votre carte VéritableIdentité certifie que vous avez plus de 21 ans (30 dans certains pays), vous avez l’âge légal pour voir des contenus pour adultes. Les contenus pour adultes comprennent la pornographie, les discussions de forums non modérées, ainsi que les débats politiques, les vues anti-religieuses, l’expression artistique, et la liberté d’expression en général. Si vous avez moins de 21 ans (30 dans certains pays), vous pouvez toujours discuter de politique et de religion au sein de votre famille, et vous êtes libre de vous exprimer artistiquement dans votre propre maison (d’autres règles et conditions peuvent s’appliquer localement).

    Obtenir votre permis de surfer

    Obtenir votre permis de surfer est un pré-requis afin de sécuriser le web pour tous. Avant que les gouvernements ne rendent le permis de surfer obligatoire, les gens se trouvaient souvent perdus dans une myriade de sites web, cliquant naïvement sur les publicités clignotantes pour se retrouver spammés par des fenêtres surgissantes. Obtenir le permis prend de deux à cinq jours d’éducation par votre Surf-Ecole locale. Vous devrez vous préparer soigneusement au test final, dans lequel vous aurez à répondre à de simples questions comme celles-ci :

    • Qu’est-ce qu’une arnaque pyramidale, et est-ce que ça fonctionne vraiment ?
    • Comment puis-je remplacer les cellules photovoltaïques de mes cyber-gants ?
    • Pourquoi exactement est-il mauvais pour les gens de critiquer sur Internet leur gouvernement ou les grandes sociétés ?
    • Pourquoi est-il illégal de surfer sans la carte VéritableIdentité ?
    • En quelle année Google a-t-il acheté Internet ?

    Placement produit

    Comme vous le savez peut-être, le placement produit et les mentions produit sponsorisées dans les vidéos et les textes ont remplacé toutes les autres formes de publicité. Gardez à l’esprit que sans ces placements produit, l’Internet tel que nous le connaissons ne pourrait être financé, et n’existerait même pas ! Tous les principaux producteurs de contenus se sont mis d’accord pour adopter le placement produit plutôt que toute autre forme de publicité en 2014, et depuis 2019 les politiciens gouvernementaux dans plus de 80 pays les ont rejoins, saupoudrant leurs discours politiques de références commerciales. Ceci vous permet de payer moins d’impôts, c’est donc une situation gagnant-gagnant.

    Jargon technique

    Parfois vous rencontrerez des abréviations spécifiques à Internet. Si vous n’avez pas l’habitude du jargon technique, gardez ce glossaire à portée de main ou chargez-le dans votre module d’extension cérébrale. Les principaux mots-clés sont :

    • WWW — Littéralement « World Wide Web », une expression utilisée dans les premiers temps du web. Elle est depuis passée de mode, mais elle est encore utilisée par certains vieux citoyens numériques. Comme le communisme, c’était une idée séduisante mais complètement irréaliste.

    • Virus — Un virus, souvent appelé « virus informatique » par les nostalgiques, est un programme qui pénètre dans votre puce cervicale et est conçu pour stimuler votre désir consumériste. Si vous vous retrouvez au supermarché pris d’une soudaine envie d’acheter des quantités phénoménales d’une certaine marque de céréales, cela peut être dû à un « virus informatique ». Ces programmes sont clairement illégaux ; stimuler le désir consumériste via la puce cervicale doit être approuvé a priori et réservé aux plus de 6 ans.

    • LOL — La signification mot-à-mot de cette expression est perdue dans la nuit des temps (vous vous rappelez peut-être que la loi Karcheriser le net de 2015 a accidentellement détruit une grande quantité des archives). Quoi qu’il en soit, elle est généralement interprétée comme une forme de rire (et elle a remplacé « A tes souhaits » quand quelqu’un éternue).

    Gagner de l’argent sur Internet

    Il y a plusieurs façons de gagner de l’argent sur Internet. Voici un bref survol de certaine des activités légales qui peuvent vous rapporter un Euro ou deux :

    • Si vous pouvez obtenir un emploi de Travailleur Cérébral, vous vous répondrez à de simple questions semi-automatisées comme « Est-ce que la personne sur cette photo est un homme ou une femme ? » pendant huit heures par jour. Répondre à ces questions vous permet de motoriser les algorithmes de traitement des données d’entreprises comme Google.

    • Si vous avez la chance de décrocher le boulot bien payé de Placeur d’Idées, vous entrerez dans des zones d’Internet où vous pourrez ajouter des commentaires ou entrer dans des messageries, pour influencer les autres en mentionnant à quel point tel produit, personne ou idée est vraiment bien. Le gouvernement américain emploie environ 150 000 Placeurs d’Idées sur le web.

    • Travailler comme Re-rédacteur Contenus. Chaque jour, de nouveaux articles, images, nouvelles non localisées font leur apparition sur Internet. Avant qu’ils ne puissent être distribués sur les versions localisées du réseau, ils doivent être réécrits pour correspondre localement aux nécessités culturelles et légales. En tant que Re-rédacteur Contenus, votre travail consiste à connaître ces nécessités et d’adapter le contenu en conséquence, en retirant les partie dérangeantes et en réécrivant les faits et parties qui peuvent entraîner une dissonance cognitive pour les consommateurs.

    Trouver un partenaire

    Etes-vous seul(e) et en recherche du partenaire idéal ? En fonction de vos données biométriques, votre revenu, votre position géographique, et de votre score d’Attitude Générale au Permis de surfer, de 10 à 100 personnes à proximité de vous vous seront suggérées. De prime abord, toutes les rencontrer peut sembler un moyen pénible de trouver le véritable amour — qui a le temps de rencontrer dix personnes s’il n’a pas la garantie qu’elles sont vraiment L’Être Rêvé ? Mais gardez en tête que ceux de la génération de votre grand-mère n’avaient aucun de ces outils à leur disposition, et qu’ils réussissaient tout de même à tomber amoureux.

    Tomber sur des contenus illégaux

    Aussi sûr qu’est Internet aujourd’hui, il se peut que vous tombiez sur un contenu que vous trouverez inutilement dérangeant. Peut-être qu’un rapport sur la situation politique dans un autre pays vous choque, peut-être qu’un peu de nudité s’est glissé par erreur, peut-être avez-vous téléchargé une version d’un livre de 1990 avant qu’un Re-rédacteur Contenus n’ait pu le modifier. Assurez-vous de notifier ces pages aux autorités Internet locales en utilisant le bouton Signaler de votre système d’exploitation. Une équipe d’experts Internet pourra vous contacter pour de plus amples investigations, et éventuellement venir à votre domicile inspecter votre installation Internet ainsi que la stabilité de votre état mental général.

    C’est plus facile qu’il n’y paraît

    Avec autant d’informations qui semblent nécessaires pour vos premiers pas en ligne, nous ne voulons pas vous effrayer avant d’entrer sur Internet. Le web est une expérience relaxante, fluide et harmonieuse. Il y a plusieurs décennies, quand le web a été inventé, c’était le chaos total. Points de vue divergents, abondance d’infractions au copyright, contenus non localisés, campagnes de dénigrement anonymes, logiciels non autorisés etc. polluaient le WWW. Comparé à alors, nous avons vraiment de la chance de pouvoir accéder à l’Internet en 2025, et non en 1995. Bienvenu sur le réseau, et appréciez le séjour !

    NdA : réécrit et adapté localement pour la France de How to Access the Internet (A Guide from 2025) par Philipp Lenssen, et publié sous la même licence.

    The post Comment accéder à Internet (un guide de 2025) appeared first on Le blog de Luc.

  • Thursday 01 July 2010 - 15:12
  • Friday 02 July 2010 - 23:48
  • Saturday 03 July 2010 - 09:36

    En ce mois de juillet 2010 le feuilleton de l’éviction de Stéphane Guillon et Didier Porte bat son plein.

    Inutile de se lamenter, de dire « c’était mieux avant », de porter aux nues Desproges et Coluche. Il y a un problème avec l’humour en France.

    L’humour dérange, il interroge et il a cette faculté de nous aider à franchir la fameuse ligne jaune. D’ailleurs que représente la fameuse ligne jaune et où se situe-elle ?

    Que reproche-t-on à ces deux humoristes. On leur reproche d’avoir franchit la fameuse ligne jaune. Oui cette ligne qui sépare le bon humour de l’humour insultant, le bon humour de l’humour irrévérencieux… Dans certains milieux on leur reproche de ne pas plaire à notre président. Mais bon on n’est pas en Italie et ce n’est pas Silvio Berlusconi qui dirige le service publique, il ne faut pas déconner non plus !

    Cette semaine Jean-Luc Hess a été interviewé sur l’antenne de France inter pour expliquer ces choix éditoriaux. On a pu lors de cette intervention entendre «On leur a laissé une complète latitude », «Sur France inter L’humour à toujours sa place », « Je ne suis pas là pour me faire insulter tous les matins »…

    Je comprends qu’il faille avoir une ligne éditorial sur une radio mais on ne peut pas reprocher à des personnes de dépasser les limites si on ne leurs dit pas où elles sont !

    D’ailleurs pour enfoncer le clou, je vous mets ces documents :

    Un dessin de Cabu paru dans Charlie Hebdos montrant Philippe Val (le patron de france Inter ex Patron de Charlie Hebdos) en train de sodomiser François Léotard alors ministre de la culture :

    philippe val sodomise léotard

    Et la dernière chronique Stéphane Guillon sur France Inter (on entend les trémolos dans la voix à la fin de son papier).

    Grand maître L

    The post L’humour passera t’il l’été ? appeared first on Le blog de Luc.

  • Saturday 17 July 2010 - 13:30

    Bonjour,

    Grace à ce petit script vous allez pouvoir afficher un message en fonction de la date et de l’heure de votre présence.

    <?php
    
    function planning(array $planningDesFermetures, $heureOuverture, $heureFermeture) {
    
        $heureOuverture = 8; //sert à afficher le script à partir de 9h et non 8h
        $heureFermeture = 20; //sert à afficher le script à partir de 21h
    
        $heureActuelle = date('H', time());
        $jourActuel    = date('w', time());
    
        $planningDesFermetures = array(0, 6); //dans ce tableau on sélectionne les jours de 0 à 6 (lundi au vendredi)
    
        if ((in_array($jourActuel, $planningDesFermetures)) || ( $heureActuelle <= $heureOuverture) || ( $heureActuelle >= $heureFermeture)) {
            echo "C'est fermé ! ";
        } else {
            echo "C'est ouvert";
        }
    }
    
    

    Grand maitre L

    The post Afficher un message en fonction de l’heure et du jour de la semaine en PHP appeared first on Le blog de Luc.

  • Sunday 25 July 2010 - 21:36

    Super Edit :

    J’ai des infos de la poste, ils sont en train de mettre en place une API Officielle.
    Pour cela il faut avoir un compte Inet-Expeditor et le service sera proposé en janvier 2014.
    Il répondra au jolis nom de « colis view ». Je vous conseille de vous rapprocher de votre commercial car l’ancienne API sera supprimée.

    Edit : Apres de nombreuses années sans problèmes, laposte.fr à apparemment fermé son WebService, au jour où j’écris ces lignes (25/04/2013), il ne fonctionne plus.

    Edit 2 : LA poste à mis en place un véritable webService, voici le lien de la documentation :

    https://www.coliposte.fr/pro/docs/docutheque/divers/socolissimo/integrationwsshipping.pdf

    Edit 3 : Tout est revenu dans l’ordre…

    Grâce à ce code très simple on va récupérer sur notre page l’information de suivi Coliposte de votre client sans se connecter au site coliposte.fr.

    <?php
      $ch = curl_init();
      $agent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
      $ref = "http://www.laposte.fr";
      $url_de_colissimo_suivi = "www.laposte.fr/outilsuivi/web/suiviInterMetiers.php?method=xml&key=null&code=".$code_colissimo."&width=190&font=Arial&t=1253811351937" ;
        curl_setopt($ch, CURLOPT_USERAGENT, $agent);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_URL, $url_de_colissimo_suivi);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_REFERER, $ref);
        $data = curl_exec($ch);
    
       /* cURL va renvoyer du xml qui sera formaté de cette manière :
    
    	< ?xml version='1.0' ?>
    
    	< ![CDATA[1]]>
    	< ![CDATA[9A00092239388]]>
    	< ![CDATA[Particulier]]>
    	< ![CDATA[22/07/2010]]>
    	< ![CDATA[Votre colis est livré]]>
    	<base_label>< ![CDATA[Coliposte]]>
    								< ![CDATA[http://www.coliposte.net/particulier/suivi_particulier.jsp?colispart=xxxxxxxxxxxxxxxxxxxx]]>
    	< ![CDATA[]]>
    */
    
    // ça sera de l'UTF-8, utiliser utf8_decode si votre page est en ISO*/
    
    $sxml = simplexml_load_string($data);
    $message_du_xml = $sxml->message;
    $date_du_xml = $sxml->date;
    $colissimo_message = utf8_decode($message_du_xml);
    $colissimo_date = utf8_decode($date_du_xml) ;
    echo $colissimo_date;
    echo $colissimo_message;
    
    ?>

    ce code vous sera très utile pour un site de e-commerce.

    Grand maître L

    The post Réaliser un suivi des paquets Coliposte / Colissimo dans votre site internet appeared first on Le blog de Luc.

  • Monday 02 August 2010 - 19:44

    Grâce à cette fonction on peut savoir si un nombre et paire ou impaire facilement.

    <?php 
    $numerotation = 5; 
    
    function PaireOuImpaire($numerotation)
    {
    	$numero = $numerotation%2;
    		   if ($numero == 0) 
    			 {
    			$paire_ou_impaire = true;
    		} else {
    			$paire_ou_impaire = false;
    			}	
    		return $paire_ou_impaire ;
    }
    ?>
    

    Je m’en sert pour colorer une ligne sur deux dans un tableau, par exemple si il renvoie 1 c’est en bleu et si c’est 2 c’est rouge.

    Dans l’exemple ci-dessus, il va me renvoyer : false .

    Grand maître L

    The post Une fonction en Php pour déterminer si un nombre et paire ou impaire appeared first on Le blog de Luc.

  • Monday 09 August 2010 - 15:07

    Derrière ce titre pompeux se cache un blog qui à attiré mon attention depuis quelque temps.
    Il s’agit du blog de : Frédéric HARDY.
    Cette personne se charge de faire remonter les avancées de la communauté Php. Ces billets très intéressants permettent à tout un chaqu’un de mieux comprendre dans quelle direction tend à se développer le langage de programmation Php.

    Ces billets sont ponctué de « Mort de PHP6 + xx jours » où il explique comment les contributeurs du langage sont arrivé à cette situation et comment il comptent s’en sortir (très instructif).

    le blog : http://blog.mageekbox.net/

    @ bientôt grand Maître L

    The post Ici on discute de l’avenir de php appeared first on Le blog de Luc.

  • Saturday 21 August 2010 - 16:22

    Grâce à ce code il est possible de précocher dans un formulaire une valeur.

    Dans cet exemple on va utiliser un bouton radio.
    le html :

    <input name="sexe" type="radio" value="femme" /><?php echo $validf; ?> > Femme :
    <input name="sexe" type="radio" value="homme" /><?php echo $validh; ?> > Homme :

    le Php

    <?php 
    //ici on coche homme ou femme dans un bouton radio en récupérant les données de la bdd 
    if ($sexe == "femme"){ 
        $validf = "checked='checked'"; $validh = ""; 
    } elseif ($sexe == "homme"){ 
        $validf = ""; $validh = "checked='checked'"; 
    }

    Grand Maître L

    The post Prévalider un bouton radio en html et php appeared first on Le blog de Luc.

  • Friday 15 October 2010 - 15:43
  • Sunday 31 October 2010 - 10:54
  • Friday 26 November 2010 - 12:14

    Grace à cette petite fonction, vous serez en mesure de vérifier si l’email inscrit par votre visiteur est conforme. Pour cela j’utilise le « REGEX » ou « expressions régulières ».

    Cette fonction renvoie true en cas de succès si non false.

    //fonction pour vérifier l'orthographe d'un email
    function VerifEmail($chaine){
    	$regex = "#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#";
    		if (preg_match($regex,$chaine)) {
    					return true;
    			} else {
    					return false;
    		}
    }

    Grand Maître L

    The post Une fonction pratique pour controler un email en PHP appeared first on Le blog de Luc.

  • Monday 29 November 2010 - 16:46

    En se moment je travail sur de petites fonctions bien pratiques que je pourrais réutiliser un peut partout dans mes projets.

    J’ai créé cette fonction pour répondre à un besoin simple et elle me satisfait

    Cette fonction renvoie true en cas de succès si non false.

    //fonction pour vérifier la conformité d'un numéro de tel Français
    function VerifTelFr($chaine){
    	$regex = "#^0[1-68]([-. ]?[0-9]{2}){4}$#";
    		if (preg_match($regex,$chaine)){
    					return true; 
    			} else {
    					return false;
    		}
    }
    

    @ bientôt Grand Maître L

    The post Une fonction pratique pour vérifier la conformité d’un numero de téléphone en PHP appeared first on Le blog de Luc.

  • Friday 24 December 2010 - 10:30

    Cette petite fonction est utilisée pour qu’un utilisateur réalise un devis en ligne.

    Je l’ai mise en œuvre sur le site du centre José Sanchez sur cette page d’abonnement.

    var total = 0;
    function addValue(checkBox){
      if(checkBox.checked) {
        total = total + parseInt(checkBox.value); // ajoute 
      }else{
        total = total - parseInt(checkBox.value); //retire   
     }
     document.getElementById("somme").innerHTML = total + "€";
    }
    
    
    
    
    
    
    

    Votre estimation Total 0

    Grand Maître L

    The post Additioner des valeurs d’identifiants avec javascript appeared first on Le blog de Luc.

  • Saturday 29 January 2011 - 11:50

    Pour moi oui ! Bon OK, j’ai enfoncé ma porte ouverte je peux développer… Quand je dis « Internet est en danger », il est évident que je ne parle pas des protocoles qu’il utilise ou de son infrastructure, je parle de son fonctionnement, de sa philosophie, de ce qui se passe autour de nous et de la manière dons nous l’utilisons pour communiquer. Les régimes totalitaires ne s’y sont pas trompé un de leur plus grand jeux et de contrôler les accès au réseau des réseaux.

    Monsieur Ben Ali ex dictateur de la Tunisie ex Président de la Tunisie à tenté par tous les moyens de museler la parole de ces concitoyens. Et le régime du Caire en fait de même. Les exemples de pays qui exercent un contrôle poussé des échanges numérique explose… On pourrait imaginer que ce que je viens de dire ne se passe que chez les autres… mais non. Les lois LOPPSI, HADOPI… sont des créations Franco-françaises, il faut être vigilant.

    Il faut informer tous le monde qu’internet ce n’est pas que poster des vidéos de chats trop kikoulol !!! Internet c’est aussi et surtout un contrepouvoir, c’est la possibilité de rappeler à une minorité que les citoyens sont vigilants et qu’ils ont soif de s’exprimer.

    Tous ces problèmes, j’en parlais déjà ici. C’est pourquoi à mon modeste niveau, je soutiens la quadrature du net en apposant une bannière. @ Très bientôt Grand Maître L

    V for vendetta

    The post Internet est en danger !? appeared first on Le blog de Luc.

  • Monday 31 January 2011 - 14:30

    La FDN (French Data Network) plus vieux fournisseur d’accès internet français propose aux égyptiens de se connecter sur la toile avec un modem 56k gratuitement. Ceci leur permettra de contourner la censure instauré par l’état.

    Voici le lien expliquant la démarche sur le site de fdn.

    pour infos voici les identifiants :

    • +33 1 72 89 01 50.
    • (login: toto password: toto).

    @ bientôt Grand Maitre L

    The post Aidons les citoyens opprimés à acceder à internet appeared first on Le blog de Luc.

  • Wednesday 16 March 2011 - 13:26

    C’est le 15 mars 2011 qu’Internet Explorer 9 (ie9 pour les intimes) est disponible en version final.

    logo d'Internet explorer 9
    Vous pourrez retrouver des informations dans cet article publié pour la sortie de la bêta publique. Microsoft nous à gâté avec un meilleur support de Html5 et de css3 ainsi que de nombreux corrections de bugs. Cette version réussi à faire un score de 95% au test acid3 là ou IE8 ne faisait que 17%. Cette version devra donc être plus appréciée des webmasters. Pour le télécharger c’est ici : http://www.microsoft.com/ Grand Maître L

    The post Internet Explorer 9 est libéré appeared first on Le blog de Luc.

  • Monday 28 March 2011 - 16:36

    Une fois n’est pas coutume je ne vais pas râler mais plutôt vous présenter une série de news sur le jeux de stratégie DIABALLIK. En effet j’ai la chance de croiser régulièrement son concepteur le bien nommé Philippe Lefrançois.

    Il a décidé de porter son jeux sur la plateforme iOs d’apple.

    Au travers d’une série d’interviews je vous relaterai le développement de cette version.

    @ bientôt

    Grand Maître L

    The post Diaballik appeared first on Le blog de Luc.

  • Tuesday 29 March 2011 - 16:00
  • Tuesday 19 April 2011 - 14:05
  • Saturday 23 April 2011 - 12:58

    Chose promise chose due, voici le premier épisode d’une série d’interview que j’ai réalisé auprès Philippe LEFRANCOIS le créateur du jeu « Diaballik ». Au travers de cette série d’entretiens nous allons aborder de nombreux points comme :

    • L’historique du jeu Diaballik
    • Les opportunités de la plateforme iOs
    • Les difficultés rencontrées pour l’élaboration
    • Le Game Design
    • Les Idées pour l’avenir du jeu
    • Et bien plus encore…

    Comme indiqué précédemment, il a décidé de porter sur iPad son jeu de stratégie sur plateau.

    Sans plus attendre, voici la retranscription de nos premiers échanges.

    • Luc SANCHEZ : Bonjour Philippe, Tu es donc le créateur du jeu de stratégie sur plateau « Diaballik », peux-tu nous faire un rapide historique ?
    • Philippe LEFRANCOIS : Le concept à été créé en 2001 et le premier prototype est sorti quelques mois plus tard, la commercialisation effective a débuté en 2003 auprès d’un petit éditeur.
    • L.S : Pourquoi as-tu décidé de créer un jeu de stratégie au tour par tour ?
    • P.L : C’est avant tout la volonté de créer son propre jeu et d’y apporter des mécanismes pour le rendre très dynamique. Des retournements de situation peuvent intervenir à tout moment de la partie, contrairement à d’autres jeux où dès que l’on commence à perdre il est très difficile de remonter la pente.
    • L.S : Quelle a été la partie la plus difficile à conceptualiser au niveau de la tactique et de la stratégie ?
    • P.L : Comme il y avait une grande volonté d’avoir un jeu dynamique, le plus dur à été d’adapter le nombre de pions et de cases du plateau. Le prototype initial faisait 13 par 13 cases avec 9 pions de chaque côté, il a été réduit en 7 par 7 au cours de tentatives successives afin d’obtenir une partie rapide et toutefois assez complexe pour y trouver un intérêt. L’avantage de n’avoir que 7 pions est d’organiser une attaque et une défense en 1 seul tour. (Le joueur a la possibilité de réaliser 2 déplacements et 1 passe par tour).
    • L.S : Qu’est-ce qui t’a décidé de mettre deux balles (une par camp) plus tôt qu’une seule, comme on peut le voir couramment en sport collectif ?
    • P.L : C’est intervenu quasiment dès le départ, ce n’est pas très compliqué de se rendre compte que si on met une seule balle, il faut introduire des règles et des mécanismes complexes pour récupérer le ballon. Si les deux camps ont leur balle on peut oublier tout cela et simplifier les règles. Cela contribue à rendre le jeu plus rapide.
    • L.S : Peux-tu nous présenter ton cursus, d’où tu viens et quel est ta profession ?
    • P.L : J’ai une formation scientifique orientée informatique et télécommunications, depuis 15 ans je travaille dans l’informatique et actuellement dans une entreprise de télécom.
    • L.S : Pourquoi as-tu décidé de porter ton jeu de société sur iOs (iPhone, iPodtouch, IPad) ?
    • P.L : Plusieurs choses m’ont incité à le faire, tout d’abord les jeux de stratégie abstraits sont en perte de vitesse, cette plateforme (iOs), lui permettra de mieux se faire connaître tant sur le plan national qu’international.
      Pourquoi l’iPad ? Il me semble que la plateforme se présente très bien pour jouer à deux. Le côté tactile permet de retrouver les sensations que l’on pourrait avoir avec l’original.
      Venant de Windows et ne connaissant pas Apple, j’ai l’opportunité d’appréhender un nouvel OS et un nouveau langage : l’ « objective-c ».
      Enfin je n’avais jamais développé d’intelligence artificielle, c’est pour moi une motivation supplémentaire.
    • L.S : Je te remercie pour ce premier entretien, d’autres devraient bientôt suivre…

    @Bientôt Grand Maître L

    The post Diaballik épisode : 2 appeared first on Le blog de Luc.

  • Wednesday 27 April 2011 - 14:37
  • Friday 13 May 2011 - 14:16

    Qu’est-ce qu’Internet ?

    Beaucoup de personnes se demande si il faut « réguler », « civiliser » internet, ces questions ne se posent que si on a une vision parcellaire du fonctionnement de ce monde.

    Voici la première partie d’une série de 3 conférences. Benjamin Bayard nous expose son point de vu. Je vous laisse le déguster sans modérations.


    Qu'est-ce qu'Internet ? 1/3 – Conférence… par IUT-CERGY-PONTOISE

    Grand Maître L

    The post Benjamin Bayard et ce monde étrange qu’est internet… appeared first on Le blog de Luc.

  • Monday 16 May 2011 - 14:22
  • Wednesday 18 May 2011 - 16:27
  • Monday 23 May 2011 - 11:21
  • Saturday 28 May 2011 - 11:28

    Tout au long de ce tutoriel je vais vous apprendre à installer un serveur web avec la distribution linux Fedora.

    Lorsque les commandes commencent par un $, c’est que je suis un simple utilisateur si non c’est un # et je suis un super utilisateur, dans tous les cas il ne faut pas recopier le $ ou le # pour exécuter la commande.

    Etape 1

    Etape 2

    Le gros avantage c’est que tout est en français, de plus l’installation permet d’utiliser la souris (Qui à dit que linux c’est compliqué ?).

    • Montage de l’image disque dans Virtual box ou installation sur une machine dédiée (dans ce cas il faut démarrer sur le cd).
    • Sélection du type d’installation : (je choisis de n’installer que le noyau et la couche réseau sans l’interface graphique)
    • Je décide d’ajouter « fedora 15 repository i-386 » en dépôt

    Etape 3

    • Redémarrage de la machine suite à l’installation de l’os
    • Redémarrage de l’interface réseau pour l’attribution d’une ip (commande : # service network restart)

    Création d’un utilisateur pour mes besoins personnels avec la commande :

    # adduser luc

    ensuite

    # passwd luc

    • Prise de connaissance de l’IP attribuée avec « ifconfig » en l’occurrence c’est l’ip 192.168.1.106 qui m’a été attribuée
    • Comme le protocole SSH est automatiquement disponible et pour avoir plus de confort notamment le copier collé je me connecte via le logiciel « Putty » (commande : ssh root@192.168.1.106 en tant qu’utilisateur root)
    • Je réalise une commande : « # yum update » pour être sûr d’avoir la dernière version de linux et des ces composants
    • Installation de man (manuel d’utilisation) avec la commande # yum install man
    • Installation de nano comme éditeur de texte # yum install nano
    • Comme la machine que j’utilise va être un serveur web il est judicieux quelle soit avec une IP fixe pour cela je me rend dans le dossier sysconfig avec la commande : $ cd /etc/sysconfig , je vérifie que la directive NETWORKING est à « yes » grâce à la commande $ nano network
    • Je me rends dans le dossier network-scripts puis dans le fichier ifcfg-eth0
    • (celui de la carte réseau) pour appliquer les réglages :

    DEVICE=eth0

    TYPE=Ethernet

    BOOTPROTO=none

    ONBOOT=yes

    USERCTL=yes

    IPADDR=192.168.1.106

    GATEWAY=192.168.1.254

    NETMASK=255.255.255.0

    DNS1= 212.27.40.240

    • Comme je veux que network soit lancé au démarrage de la machine j’utilise la commande : # su -lc ‘chkconfig network on’
    • Je redémarre ma machine pour appliquer les réglages avec la commande $ reboot
    • Apres le redémarrage j’exécute la commande $ ifconfig qui me renvoi :

    Link encap:Ethernet HWaddr 08:00:27:F7:DE:DD

    inet adr:192.168.1.106 Bcast:192.168.1.255 Masque:255.255.255.0

    adr inet6: 2a01:e35:8a50:5350:a00:27ff:fef7:dedd/64 Scope:Global

    adr inet6: fe80::a00:27ff:fef7:dedd/64 Scope:Lien

    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

    RX packets:47 errors:0 dropped:0 overruns:0 frame:0

    TX packets:42 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 lg file transmission:1000

    RX bytes:5565 (5.4 KiB) TX bytes:5485 (5.3 KiB)

     

    lo Link encap:Boucle locale

    inet adr:127.0.0.1 Masque:255.0.0.0

    adr inet6: ::1/128 Scope:Hôte

    UP LOOPBACK RUNNING MTU:16436 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 lg file transmission:0

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

    • Je peux ainsi constater que mes réglages IP ont bien été effectués

    Etape 3

    • Installation du serveur web apache avec la commande # yum install httpd
    • Installation du manuel de apache avec la commande # yum install httpd-manual
    • Installation du module ssl de apache avec la commande # yum install mod_ssl
    • Démarrage de apache, commande : # service httpd start
    • Comme je veux que apache soit lancé au démarrage de la machine j’utilise la commande : # su -lc ‘chkconfig httpd on’
    • Redémarrage de apache avec la commande # service httpd restart

    Etape 4

    • Pour que apache soit accessible depuis l’extérieur et opérationnel, il faut ouvrir le port 80. Je me rends dans le fichier iptables avec la commande

    # cd /etc/sysconfig et je rajoute la ligne :

    -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

    Comme mon fournisseur d’accès est free et qu’il gère l’ip v6 je fais de même dans le fichier ip6tables

    • Pour restreindre l’accès aux adresses ip de ma machine je modifie le ficher /etc/httpd/conf/httpd.conf et je modifie la directive par défaut suivante :

    Listen 80

    Par

    Listen 127.0.0.1:80 192.168.1.107:80

    On peut vérifier que le serveur écoute sur les bonnes adresses avec la commande :

    Netstat –an | grep 80 qui renvoie :

    tcp 0 0 192.168.1.107:80 0.0.0.0:* LISTEN

    tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN

     

    Etape 5

    • Dans le dossier /var/www je crée le dossiers suivant en utilisant la commande :

    # mkdir site1

    • comme les dossiers ont été créé par l’utilisateur root, il faut changer le propriétaire pour cela j’utilise la commande suivante :

    # chown luc:luc site1

    Je dois ensuite modifier les droits pour le dossier site1, pour cela je donne au propriétaire tous les droits, aux membres du groupe et aux autres les droits de lecture et d’accès.

    Je fais :

    # chmod 755 site

    • Avec la commande :

    # ll

    Je liste le contenu du répertoire www, je peux ainsi contrôler les droits et permissions de mes dossiers.

    drwxr-xr-x. 2 root root 4096 27 oct. 12:04 cgi-bin

    drwxr-xr-x. 3 root root 4096 22 janv. 19:19 error

    drwxr-xr-x. 2 root root 4096 23 janv. 17:33 html

    drwxr-xr-x. 3 root root 4096 22 janv. 19:19 icons

    drwxr-xr-x. 14 root root 4096 22 janv. 20:02 manual

    drwxr-xr-x. 2 luc luc 4096 27 janv. 21:32 site1

    Etape 6

    • Ajout des hôtes virtuels dans le dossier : /etc/httpd/conf.d

    Je crée le fichier virtualhost.conf avec la commande :

    # nano virtualhost.conf

    Et j’y inscris :

    <VirtualHost 127.0.0.1:80>

    DocumentRoot /var/www/site1

    <Directory /var/www/site1>

    Order allow,deny

    Allow from all

    </Directory>

    </VirtualHost>

    • Il faut maintenant créer les fichiers d’accueil à la racine de ces sites avec la commande :

    # nano site1/index.htm

    Comme c’est l’utilisateur root qui à créé ces fichiers, il faut que change le propriétaire avec les commandes :

    # chown -R luc:luc site1

    • Avec la commande more je m’assure que mes dossiers et les contenus sont conformes :

    # more site*/index.htm

    • En retour j’ai :

    ::::::::::::::

    site1/index.htm

    ::::::::::::::

    Coucou site 1

    ::::::::::::::

    • Je me rends ensuite dans le dossier site1 avec la commande :

    # cd site1

    • Le système de sécurité « SeLinux » à été problématique, il est installé d’origine sur fédora15, la doc n’est pas clair je dois modifier les capacités d’exécution des scriptes dans le dossier cgi-bin avec la commande # chcon –t httpd_sys_script_exec_t *.cgi

    Comme j’ai autorisé le ssh à s’exécuter je peux sans problème proposer à mes utilisateurs d’utiliser un logiciel comme FileZilla pour mettre à jours leur site, ils se connecteront via sftp avec leur compte utilisateur, ce sera beaucoup plus sécurisé et aussi efficace que d’utiliser le protocole ftp.

    Pour vérifier que mon travail est terminé et comme je n’ai pas d’interface graphique j’installe le navigateur en mode texte Lynx avec la commande # yum install lynx

    Je peux ainsi constater que mon travail est terminé.

    @bientot Grand Maître L

    The post Installer Un Serveur web linux Fedora de A à www appeared first on Le blog de Luc.

  • Thursday 02 June 2011 - 16:10
  • Wednesday 15 June 2011 - 14:16
  • Monday 20 June 2011 - 13:47

    Une nouvelle mouture de notre langage de prédilection présente le bout de son nez. Malgré les apparences, il s’agit d’une version en réalité majeure. En effet, la mort de PHP6 il y a plus d’un an pour cause de problème d’intégrations de l’Unicode a chamboulé le planning.

    C’est pour cela qu’une version alpha vient d’être mise à disposition sur le SVN de PHP.net.

    Les contributeurs ne se sont pas endormis, car plus de 6 000 points ont été modifiés. De nombreuses idées de PHP6 ont été implémentées. Malheureusement, la bonne idée de l’Unicode a été repoussée sans date.

    Comment fonctionne PHP ?

    PHP est un langage de programmation impérative de type CGI, qui peut être utilisé en procédural ou orienté objet (POO). C’est un langage de haut niveau qui doit être exécuté par une machine spéciale pour fonctionner, généralement un serveur (cette exécution ne peut pas être accomplie par un navigateur, il en est incapable).

    Pour que le PHP soit interprété, il faut qu’on lui dise comment ; c’est le rôle du moteur de PHP, appelé Zend Engine.

    Ce moteur est écrit en C. C’est le cœur du langage ; c’est en fait lui qui évolue à chaque nouvelle version.

    Les nouveautés

    Principaux changement apportés

    safe_mode, register_globals et register_long_array sont définitivement supprimés de PHP. De quoi ravir les développeurs, qui n’aurons plus à réaliser toute une série de vérifications concernant ces directives de configuration.

    Pour le register_globals, on peut dire que c’est une vraie avancée en termes de sécurité, même si depuis de nombreuses versions cette fonction était désactivée par défaut dans le php.ini.

    Avec le register_globlals à « ON », on ne faisait pas de différence entre une variable superglobale et une variable « interne » : un vrai problème de sécurité, car on ne savait pas si une variable venait du site — et donc était fiable — ou de l’extérieur, et par conséquent potentiellement dangereuse.

    Concernant le safe_mode et register_long_array, la documentation de PHP indique en effet :

    Citation : Documentation PHP

    Cette fonctionnalité est OBSOLÈTE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l’utiliser.

    Les ajouts apportés à cette version

    Il est maintenant plus explicite de passer des arguments en références.

    Pour rappel, voici comment on passe un argument en référence avec PHP :

    Code : PHP – Soumission d’argument sous forme de référence

     < ?php
        function foo( &  $var){
           $var++;
    }
    
    function & bar(){
            $a=5;
            return $a;
    }
    
        foo ( bar ());
    ?>

    Un passage par référence va modifier la variable inscrite en mémoire par une nouvelle version de cette variable, c’est le & devant $var qui le permet.

    Il est aussi possible de faire ceci, actuellement :

     < ?php      
    myFunction(& $toto);
     ?>

     

    Un simple avertissement est généré sous PHP 5.3. Désormais, avec PHP 5.4, le code plante et renvoie une erreur.

    Les traits

    Une nouvelle fonctionnalité (un conteneur) apparaît également : les traits. C’est un regroupement de méthodes qui peuvent être partagées entre différentes classes (ce qui est différent de l’héritage et des interfaces).

    Image utilisateur Plus d’informations sur les traits.

    Ajout du support d’Autoconf

    GNU Autoconf, livré avec PHP 5.4 dans sa version 6.59, est un outil permettant de générer des scripts shell qui configurent automatiquement les sources d’un logiciel dans l’optique de l’adapter aux systèmes UNIX (Linux, Mac OS X, etc.).

    Notez que Autoconf ne fait que configurer : il n’est pas nécessaires aux personnes exécutant le script d’avoir Autoconf installé sur leurs machines.

    Image utilisateur Plus d’information sur Autoconf.

    Image utilisateur Image utilisateur Description officielle d’Autoconf.

    La feuille de route

    • Le 28 juin 2011, la version alpha 1 sera publiée.
    • Le 26 juillet, ce sera au tour de l’alpha 2.
    • La version bêta sera livrée le 23 août.
    • Enfin, la version Relase Candidate n° 1 (RC 1) sera publiée le 20 septembre 2011.
    • Après cela, une version RC sera publiée toutes les deux semaines, jusqu’à la version stable.

    Les dates présentés ci-dessus sont cependant susceptible d’être modifiées.

    La communauté de PHP

    Tout comme la communauté de l’anneau, la communauté de PHP était lancée pour fait de grandes choses car elle était unie. Cependant, des divisions apparaissent régulièrement sur la gouvernance et la prise de décisions.

    On peut en gros la diviser en deux groupes : les contributeurs historiques et les nouveaux contributeurs.

    Les contributeurs historiques considèrent que l’évolution doit aller vers une stabilisation du langage, une éradication des bugs et une simplification, alors que les autres aimeraient que les nouveautés soit implémentées plus rapidement pour ne pas se retrouver à attendre trop longtemps des fonctionnalités qu’ils jugent essentielles pour programmer avec des méthodes modernes.

    La dissolution des développeurs de PHP n’est heureusement pas à l’ordre du jour, mais il manque cependant un leader.

    Rasmus Lerdorf, le créateur de PHP, serait capable de dire où il faut aller, mais il se contente de prendre le rôle de médiateur. Cette situation a conduit à un drame (la mort de PHP6), de nombreuses leçons doivent donc en être tirées…

    Image utilisateur Vous pouvez trouver la liste complète des nouveautés de cette version en vous rendant ici.

    Sources

    <pre class= »brush:[php] »>

    The post Php 5.4 Alpha 1, quand php renait de ces cendres… appeared first on Le blog de Luc.

  • Thursday 23 June 2011 - 15:44
  • Friday 24 June 2011 - 10:48