KrISS feed 8.7 - A simple and smart (or stupid) feed reader. By Tontof
  • Sunday 13 June 2010 - 12:09

    Comme c’est le premier post il faut bien que je commence par dire « Bonjour ». Ca c’est fait.

    Dans ce blog vous allez avoir des infos sur :

    • Le dessin
    • La photographie
    • Le cinema
    • Mes coups de coeurs
    • Mes dessins et mes photos…

    Pour Le reste on verra…

    🙂 Grand Maitre L

    The post Bonjour tout le monde ! appeared first on Le blog de Luc.

  • Sunday 13 June 2010 - 16:07
  • 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
  • Friday 18 June 2010 - 08:17