• Fini la prépa !

    Voilà arrivée la fin de mes deux ans de prépa (enfin j'espère)... C'est l'occasion de faire un petit bilan à chaud, sur ce que m'a apporté la prépa.
    Évidemment, la prépa, c'est synonyme de beaucoup de boulot, c'était pas une surprise... J'ai donc appris à gérer des tonnes de travail, à me fixer des priorités, et parfois à payer les conséquences de mauvais choix (ça arrive), le corollaire de ça, c'est la grande claque que je me suis pris dans la gueule, qui calme l'ego : La moitié de la classe a eu mention Très Bien au Bac, j'ai eu beau avoir 17 en maths au bac, j'étais pas dans les premiers de la classe, au contraire , je me suis tapé des grosses taules en physique, matière dans laquelle j'excellais au secondaire. Contrairement à ce que beaucoup pensent, l'ambiance de prépa est très chaleureuse : certes tout le monde bosse, et le classement compte plus que la note, mais presque tout le monde est prêt à aider les autres, à expliquer un point difficile. Les premiers de la classe, c'est pas du tout le type "Intello à lunettes qui parle à personne" (d'une part parce que tout le monde a des lunettes :p). Je ne dis pas que ça n'existe pas, il y en a toujours. C'est aussi en prépa que j'ai rencontré les plus gros déconneurs que je connaisse (Capitaine DWD, si tu passes par ici...), et puis bien sûr, Bacchus Magnus qui ne se déplace que sur son Saint Skate.

    À part la quantité énorme de boulot, et le stress qui va avec, il y a une autre chose que je n'ai pas trop aimé, c'est le manque d'ouverture d'esprit de certains... Impossible de parler d'autre chose que de boulot, de babyfoot et des histoires de c*l de la classe. C'est bien dommage, j'espère que ça leur passera. Heureusement qu'il y avait Pierre-Louis pour parler musique, ciné, et photo :D

    En résumé, deux années éprouvantes, je ne peux pas le nier, mais vraiment, vraiment formatrices, non seulement j'ai appris plein de trucs inutiles, (comme faire les calculs du pendule de Foucault en mixant deux équa diff  réelles couplées pour en avoir une seule complexe à résoudre), mais j'ai surtout appris à bosser (ou pas, diront certains, mais je les merde, na !), et à jouer au bab (très mal, j'en conviens, mais ya un début à tout)
    Si vous vous sentez le courage d'aller dans cette voie, n'hésitez pas, c'est vraiment formateur et satisfaisant sur un plan intellectuel (je peux désormais expliquer plein de phénomènes physiques chelou comme les marées, la déviation vers l'ouest et la force de Coriolis)


    5 commentaires
  • J'ai été gentiment obligé^Wconvié par Skreo à décrire mes petites habitudes en programmation...
    Je m'y attelle donc tout de suite.

    Les noms de variables, fonctions, méthodes

    Déjà, j'utilise l'anglais pour nommer mes variables. Pour la capitalisation, tout dépend de si je code Objet ou pas. Si je ne code pas objet, je fais ça à la PHP c'est à dire des mots séparés par des underscore _. Quand je code Objet, j'utilise une CamelCase bidouillée, je mets des majuscules au début de tous les mots, sauf des verbes, ce qui revient très souvent à du lowerCamelCase.

    Indentation

    Indentation de 4, j'indente tout le bloc. Pour le xHTML (je sais, ce n'est pas de la programmation), j'indente le contenu des balises de type bloc (sauf h[1-6]), et je vais à la ligne. Je vais à la ligne après un <br />, sauf s'il y en a plusieurs à la suite (mais c'est plutôt rare que ça arrive)

    Accolades

    Accolade ouvrante à la fin de la ligne de définition de la boucle. Accolade fermante sur une nouvelle ligne, au même niveau que la définition de la boucle.
    Pas d'accolades pour un bloc mono-ligne. (par exemple un if suivi d'une seule instruction).

    Espaces

    Pour les virgules et les point-virgules : pas d'espace avant, un espace après.
    Pas d'espace entre les noms de fonction et la parenthèse ouvrante. Idem pour les boucles.
    Pas d'espace entre la parenthèse fermante et l'accolade ouvrante dans les boucles.
    Pas d'espace entre le else et le if dans les else if.
    Un espace de part et d'autre des opérateurs de modification (=, +=, *=, ...).
    Un espace de part et d'autre pour les opérateurs de comparaison (==, <=, >=) et pour les opérateurs de modification dans les boucles (for, while, if), sauf pour les longues expressions.

    Guillemets

    En php, j'utilise uniquement les guillemets simples (apostrophe), sauf pour afficher des caractères spéciaux (\r, \n ...).
    En JS, ça dépend du contenu de la chaîne. Si c'est du texte tout bête, des guillemets doubles, si ça contient du HTML, je mets des guillemets simples
    Dans les autres langages, des guillemets doubles.

    Commentaires

    Dans les fichiers lambda, des commentaires pour expliquer la fonction d'un bloc, en particulier si c'est tricky
    Dans les fichiers qui définissent les classes, quelques lignes au début, puis un bloc de commentaire avant chaque méthode : utilité, variables attendues (rôle, type, valeur par défaut), valeur de retour, puis éventuellement des commentaires monolignes pour expliquer la fonction de tel ou tel bloc. Les commentaires monolignes pour les blocs sont mis après l'accolade ouvrante, précédés d'un espace.

    <?php
    //Code non_objet
    $premiere_variable = 'Texte';
    function get_property(){ // Cette fonction retourne un truc
        $retour = 'Un truc';
        return $retour;
    }
    //Code objet
    class ClasseBidon{
    /*
    Fonction sayHello
    Sert à dire Hello World
    Arguments : Aucun
    Retourne : string
    */

        public static function sayHello(){
            return 'Hello World !'
        }
    }
    ?>
    [code=php]<?php
    //Code non_objet
    $premiere_variable = 'Texte';
    function get_property(){ // Cette fonction retourne un truc
        $retour = 'Un truc';
        return $retour;
    }
    //Code objet
    class ClasseBidon{
    /*
    Fonction sayHello
    Sert à dire Hello World
    Arguments : Aucun
    Retourne : string
    */
        public static function sayHello(){
            return 'Hello World !'
        }
    }
    ?>[/code]

    Je fais suivre la chaîne à Xipoons, puis à ceux qui sont motivés :p


    2 commentaires
  • Comment créer un fichier chiffré auquel on peut accéder comme à une partition, en toute transparence, sans avoir besoin de beaucoup de choses

    Lire la suite...


    aucun commentaire
  • Après quelques essais infructueux, j'ai renoncé à installer UbuntuEEE sur Pelageee. En volant le lecteur  CD sur le PC familial et en le branchant à mon boîtier de DD Externe, j'ai pu, grâce à un CD d'Ubuntu qui traînait, me mettre la Hardy sur mon EEE. Je vous livre mes premières impressions, (3 mois après tout le monde) sur la bête, et sur son fonctionnenement avec un EEE "out of the box"

    Lire la suite...


    2 commentaires
  • Bien choisir ses phrases de passe

    Les mots de passe trop faciles à deviner sont le fléau pour tout système que l'on veut sécuriser. Il est totalement inutile d'employer les techniques d'encryptage les plus avancées si le mot (ou la phrase) de passe peut se trouver trop simplement. Une chaîne est aussi faible que le plus faible de ses maillons. Bien souvent, ce maillon faible, c'est Laurence Boccolini (désolé...) le mot de passe (la vulnérabilité de WPA-PSK est un bon exemple). La qualité principale d'un mot de passe est sa complexité. Vient ensuite la praticité (et contrairement à ce que l'on pourrait penser ces deux exigences ne sont pas forcément contraires). Je vous livre deux trois conseils que j'ai pu glaner en me baladant sur le Web.

    Entropie maximale et Facilité à retenir

    Je ne saurais que vous conseiller d'aller lire cet article : The usability of passwords by Thomas Baekdal, très bien foutu, et agréable à lire de surcroît.
    Pour les anglophobes, il y est dit (et montré) que choisir un mot commun ou courant comme mot de passe est totalement idiot, que choisir un mot de passe du genre "sfJyT&(-Hgg76d" est assez sécuritaire, mais qu'étonnamment, "this is fun" est plus dur à casser que "sfJyT&(-Hgg76d".

    Grand nombre de mots de passe

    Je ne compte pas retenir un mot de passe par service, l'idée est donc de décliner quelques mots de passe sécurisés en plusieurs dizaines, facilement retrouvables à partir des mots de passe originaux, et avec l'aide éventuelle d'un index, mais ne permettant pas de deviner les autres. Certains se construisent un préfixe sécurisé qu'ils retiennent, et y adjoignent un suffixe propre à chaque service, soit le nom du service lui même, soit un numéro qu'ils peuvent noter dans une liste. D'autres créent un mot de passe sécurisé par service un tant soit peu critique, et un mot de passe plus simple leur servant à tous les autres services. Ces deux méthodes présentent des petits défauts. Pour la première l'utilisation systématique du même préfixe sur tous les services les met à la merci d'un administrateur peu scrupuleux, et ce pour tous les services. La deuxième méthode laisse la possibilité de se faire pirater tous les services "secondaires"

    Ma méthode

    J'ai fait un mix des deux : je me suis créé un set d'une dizaine de mots de passe sécurisés que je combine, je n'ai qu'à retenir lesquels je choisis quand je forme la combinaison. Ainsi, la liste de combinaisons est assez facile à retenir, je peux me permettre de la noter puisqu'elle est inutile sans les mots de passe, et enfin la possession d'un de mes mots de passe ne suffit pas pour déterminer les autres. Bingo ! (C'est un peu tordu, mais efficace)

    Et vous, vous faites quoi pour gérer vos mots de passe ?


    10 commentaires