Archive

Archives pour la catégorie ‘Informatique’

Migration WordPress

12/08/2009

Cela faisait un moment que je voulais faire ma première migration de version sur le CMS WordPress. Auparavant en version 2.7.3, le blog est désormais à jour avec la dernière version 2.8.4. Cela s’est très bien passé. Je n’ai pas eu besoin de faire la moindre intervention manuel pour corriger un problème, c’est agréable.

Cette dernière version corrige qui plus est une faille récemment mise à jour permettant de changer le mot de passe admin…

Tharkun Informatique, Le blog ,

Astuces PHP

14/07/2009

A heure tardive post orienté informatique. Aujourd’hui je vais vous présenter quelques astuces (tips en anglais) de langage permettant de gagner de la place, de ne pas rallonger inutilement le code, d’éviter des erreurs basiques… La liste n’est évidemment pas exhaustive mais cela pourra toujours vous aider de les connaître. Ces astuces ne s’appliquent d’ailleurs pas uniquement au PHP.

Bien utiliser les expressions booléennes

Que l’informaticien, développeur… qui n’a pas eu un jour à abuser des if/elseif/else lève le doigt. Il est nécessaire d’optimiser ces codes pour éviter qu’ils prennent trois kilomètres de long.

/*Boolean Expressions optimization*/
if ($a == true) {
    if ($a == true) {
        print "coucou";
    }
    else if($b == true) {
        print "coucou";
    }
}

Le code ci-dessus devrait être le suivant.

/*Boolean Expressions optimization*/
if ($a && ($b || $c)) {
    print "coucou";
}

Utiliser for à la place de while

/*Use for instead of while*/
$i = 0;
while($i < 18) {
    /*SOMETHING TODO*/
    $i++;
}
/*Shorter*/
for($i = 0; $i < 18; $i++) {
    /*SOMETHING TODO*/
}

Utiliser la récursivité

La récursivité n’est pas toujours bien comprise ni utilisée. Une mauvaise utilisation amène très vite à des programmes qui tournent en boucle dans le vide. Le principe de la récursivité est d’effectuer le même traitement sur un élément. Ci-dessous se trouve la célèbre suite de Fibonaci

/*Write recursively*/
function fibonacci($n) {
    $f1 = 1;
    $f2 = 0;
    $total = 0;
    if( $n == 0 || $n == 1)
        return $n;
    for($i = 2; $i <= $n; $i++) {
        $fib = $f1 + $f2;
        $f2 = $f1;
        $f1 = $fib;
    }
    return $fib;
}
/*Shorter*/
function fibonacci($n) {
    if ($n <= 2) return 1;
    else return fibonacci($n-1) + fibonacci($n-2);
}

L’opérateur ternaire

Je parlais plus haut de réduction du nombre de lignes de code lors de l’utilisation des if. Il est possible de réduire encore plus avec l’opérateur ternaire. Celui permet d’écrire un if/else sur un seule et unique ligne.

/*Ternary Operator*/
if ($iCompteur > 550)
    $bBool = true;
else
    $bBool = false;
/*Shorter*/
$bBool = $iCompteur > 550 ? true : false;
/*Even shorter*/
$bBool = $iCompteur > 550;

Combinaison arithmétique et opérateurs

Il s’agit sans doute de l’astuce la plus connue et utilisée. Elle permet d’identifier tout de suite ce qui est effectué.

/*Combination Arithmetic and Assignment Operators*/
$iCompteur = $iCompteur + 1000;
/*Shorter*/
$iCompteur += 1000;

Il en existe d’ailleurs un certain nombre qu’il faut connaître.

/*Combination Arithmetic and Assignment Operators*/
+= Addition
-= Soustraction
/= Division
*= Multiplication
%= Modulo
.= Concatènation
++ Incrémentation de 1
-- Diminution de 1
|= Opérateur logique ou
&= Opérateur logique et
^= Opérateur logique ou exclusif

Sens d’écriture du if

Entre le test et l’assignation à une variable, il n’existe dans la plupart des langages qu’un caractère de différence. Il est très facile de l’oublier et ainsi de générer une assignation alors qu’on voulait écrire une expression booléenne.

/*Test*/
if ($a == 1) echo "coucou";
/*Setting the variable $a to 1*/
if ($a = 1) echo "coucou";
/*Could be written this way to avoid the mistake */
if (1 == $a) echo "coucou";
/*The following code would generate a fatal error you would detect*/
if (1 = $a) echo "coucou";

Tharkun Informatique

Accès au blog

19/06/2009

Les lecteurs assidus l’auront remarqué, le blog n’était plus accessible depuis quelques jours. En effet nous avions lancé une routine automatique sur notre serveur dédié, mais celle-ci a apparemment planté quelque part et rendu inaccessible toute les applications du serveur. L’assistance technique a résolé le problème et finit la manipulation commencée le week end dernier.

Tout est désormais revenu à la normale…

Tharkun Informatique, Le blog

Star Wars en ascii art

11/05/2009

Aujourd’hui je vous propose un petit post de pur Geek. Certains d’entre vous connaissent peut être le ASCII art. En fait cette notion est connu de tout le monde, absolument tout le monde. En voici quelques exemples :

  • :-)
  • ‘-(
  • ^_^ (que Lyr et moi utilisons beaucoup

Vous l’avez compris, l’ASCII art consiste à réaliser des images à partir des caractères ASCII. L’image ci-dessous vous montre ces caractères.

Caractères ASCII

Caractères ASCII

Les smileys font parti de cet art, c’est pour cela que tout le monde connaît l’ASCII art sans vraiment savoir ce que c’est. Voici un exemple qui je pense devrait rappeler des souvenirs aux personnes de notre génération.

                        MMMMM
                          MMMMMM
                            MMMMMMM
                             MMMMMMMM     .
                              MMMMMMMMM
                              HMMMMMMMMMM
                               MMMMMMMMMMMM  M
                               MMMMMMMMMMMMM  M
                                MMMMMMMMMMMMM  M
                                MMMMMMMMMMMMM:
                                oMMMMMMMMMMMMMM
      .MMMMMMMMMMMMMMo           MMMMMMMMMMMMMMM M
MMMMMMMMMMMMMMMMMMMMMMMMMMM      MMMMMMMMMMMMMMMM
  MMMMMMMMMMMMMMMMMMMMMMMMMMMM.  oMMMMMMMMMMMMMMM.M
    MMMMMMMMMMMMMMMMMMMMMMMMMMMM  MMMMMMMMMMMMMMMM
      MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
        oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
            MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:                     H
             MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM                  .         MMM
              MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM              M       MMMMMM
               .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM          M   MMMMMMMMMM
        MM.      MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM       M MMMMMMMMMMMM
            MM    MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM    .MMMMMMMMMMMMMM
              MM  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                MM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
       .MMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMM.MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
          HMMMMMMMMMMMMMMMMMMMMM.MMMMMMMMM.MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
             MMMMMMMMMMMMMMM MMM.oMMMMMMM..MMMMMMMMM:MMMMMMMMMMMMMMMMMMMMMMM
               MMMMMMMMMMMMMM MM..MMMMMMM...MMMMMMM. MMMMMMMMMMMMMMMMMMMMM
                 MMMMMMMMMMMMMMM ..MMMMMM...MMMMMM ..MMMMMMMMMMMMMMMMMMM
                  MMMMMMM:M.MMM.M.. MMMMM M..MMMMM...MMMMMMMMMMMMMMMMMM  MMM
                    MMMM. .M..MM.M...MMMMMM..MMMMM.. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM .
                     MMMM..M....M.....:MMM .MMMMMM..MMMMMMM...MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                      MMM.M.. ...M......MM.MMMMM.......MHM.M  .MMMMMMMMMMMMMMMMMMMMMMMMM
                 MMMMMMMM..MM. . MMM.....MMMMMM.M.....M ..MM..M MMMMMMMMMMMMMMMMMMM
                    .MMMMMHMM. ..MMMM. MMM............o..... . .MMMMMMMMMMMMMMM
                       MMM. M... .........................M..:.MMMMMMMMMMMM
                         oMMM............ .................M.M.MMMMMMMMM
                            .....MM........................ . MMMMMM
                           M.....M.....................o.MM.MMMMMMMM.
                            M........................M.. ...MMMMMMMMMMMMMo
                              :....MMM..............MMM..oMMMMMMM
                               M...MMM.............MMMMMMM
                                  .............:MMMMMMMM
                                  M..... MMM.....M
                                  M M.............
                                  ................M
                               ooM.................MM  MoMMMMMoooM
                          MMoooM......................MoooooooH..oMM
                      MHooooMoM.....................MMooooooM........M
                    oooooooMoooM......... o........MoooooooM............
                    Mooooooooooo.......M.........Moooooooo:..............M
                   MooMoooooooooM...M........:Mooooooooooo:..............M
                  M..oooooooooooo .........Mooooooooooooooo..............M
                 M...Mooo:oooooooo.M....ooooooooooooooooooo..M...........M
                  ...oooooMoooooooM..Mooooooooooooo:oooooooM.M...........M.
                 M...ooooooMoo:ooooMoooooooooooooHoooooooooH:M. ...........:
                 M..MoooooooMoooooooooooooooooo:ooooooMooooMoM..............M
                 M..ooooooooooMooooooooooooooHoooooooMooHooooM...............M
                 ...ooooooooooooooooooo:MooooooooooooooMoMoooM................
                M...oooooooooooooooooooooooooooooooooooooMooMM................M
                ...MooooooooooooooooooooooooooooooooooooooooMo ................
                ...MooooooooooooooooooooooooooooooooooooooooM M................M
               M...ooooooooooooooooooooooooooooooooooooooooM   ................M
               ...MoooooooooooooooooooooooooooooooooooooooMM   .:...............
               .....MooooooooooooooooooooooooooooooooooooMoo       .............M
               M...... ooooooooooooooooooooooooooooooooooooM       M..............M
               M........MooooMMM MM MM  MMMMMMMMMooooooooM         M...............M
               .........HM     M:  MM :MMMMMM          M           M...............
              M..........M     M   MoM M                           M................M
              M.........:M  MoH  M M M MooooHoooMM.   M             M...............M
              M..........Moooo MMooM    oooooMooooooooM              M..............H
              M.........MooooM  Mooo  : ooooooMooooMoooM              M........ . .o.M
              H..  .....ooooo   oooo  M MooooooooooooooM               M... MMMMMMMMMMM
              MMMMMMMMMMooooM M oooo  .  ooooooMooooooooM              .MMMMMMMMMMMMMMM
              MMMMMMMMMMooooH : ooooH    oooooooooooooooo               MMMMMMMMMMMMMMM
              MMMMMMMMMMoooo    ooooM    Moooooooooooooooo              .MMMMMMMMMMMMMMM
              MMMMMMMMMMoooo    ooooM    MooooooooooooooooM              MMMMMMMMMMMMMMM
              MMMMMMMMMMoooM    ooooM     ooooooooooooooooo               MMMMMMMMMMM:M
              MMMMMMMMMMoooM   MooooM     oooooooooooMoooooo               MH...........
               . ......Mooo.   MooooM     oooooooooooooooooo              M............M
              M.M......oooo    MooooM     Moooooooooooooooooo:           .........M.....
              M.M.....Moooo    MooooM      ooooooooooooooooooM            .M............
              .......MooooH    MooooM      oooooooooMoooooooooo          M..o...M..o....M
              .o....HMooooM    MooooH      MooooooooMooooooooooM          .:M...M.......M
             M..M.....MoooM    :o ooo:    .MooooooooHooMoooooooooM         M M... ..oM.M
              M...M.:.Mooo. MMMMooooo   oooooooooooMoooooooooooooM          ....M. M
               M:M..o.Moooooooooooooo MooooooooooooooMooooooooooooM          .Mo
                      MooooooooooooooMooooooooooooMoMoooooooooooooo
                      Mooooooooooooooo:ooooooooooooooooooooooooooooo
                      ooooooooooooooooMooooooooooMoooooooooooooooooo
                      ooooooooooooooooMoooooooooooMooooooooooooooooHo
                      ooMooooooooooooooMoooooooooooooooooooooooooooMoM
                     MooMoooooooooooooo.ooooooooooooooooooooooooooo:oM
                     MoooooooooooooooooooooooooooooooooooooooooooooooM
                     MoooMooooooooooooooMooooooooooooooooooooooooooooo.
                     MoooMooooooooooooooMoooooooooooooooooooooooooMooooM
                     MooooooooooooooooooMoooooooooooooooooooooooooMoooooM
                     MooooMoooooooooooooMoooooooooooooooooooooooooMoHooooM
                     ooooooMooooooooooooooooooooooooooooooooooooooooMoMoooM
                    MooooooooooooooooooooMooooooooooooooooooooooooooMoooooH:
                    MoooooooMooooooooooooMoooooooooooooooooooooooooooooHoooM
                    MooooooooMoooooooooooMoooooooooooooooooooooooooMoooMooooM
                    Moooooooooooooooooooooooooooooooooooooooooooooo.oooMooooo
                    MoooooooooooooooooooooooooooooooooooooooooooooMoooooooooM
                     MooooooooooooooooooooMoooooooooooooooooooooooooooooooooM
                      MooooooooooooooooooooMHooooooooooooooooooooMoooo:ooooo
                       MMooooooooooooooooooMoMHoooooooooooooooooooooooMooooo
                        MMoooooooooooooooMMooo MMooooooooooooooooooooooooooM
                        MMMoooooooooooooMooooo  oooooooooooooooooooooMooooo
                        MooMMoooooooooMoooMMoM  ooooHooooooooooooooooMooooM
                        MooooMooooooMooooMoooM  MoooooMoooooooooooooMooooo
                        ooooooMMooooooooMooooM  MoooooooooMooooooooooooooM
                        HooooooMoooooooMooooM    HoooooooHooMooooooooooooo
                         oooMoooooooooHoooM         MoooooooooMoooooooooM
                          HooooooooooooHM             MooooooooMMoooooooM
                           MMMMMMMMMMMMMM                Moooooo:MooooHMM
                            MMMMMMM: ...                  MMMMMMMMMMMMMM
                           M............M                  MMMMMMMMM ....
                           M.MM..........                  M.............M
                        M ..............MM                 M..............
                     MMMMM............MMMM                 ..MMMMMMMM ....M
                   MMMMMMMMMMMMMMMMMMMMMMMM               MMMMMMMMMMMMM...M
                .MMMMMMMMMMMMMMMMMMMMMMMMMM               MMMMMMMMMMMMMMMMMM
                MMMMMMMMMMMMMMMMMMMMMMMMM                MMMMMMMMMMMMMMMMMMM
                :MMMMMMMMMMMMMMMMMMH                     MMMMMMMMMMMMMMMMMMM
                   By EBEN Jérôme                        MMMMMMMMMMMMMMMMMM
                                                         MMMMMMMMMMMMMMM
                                                          HMMMMMM

Vous pouvez en trouver d’autres sur le site Ascii-fr.com

Quelques internautes se sont ainsi amusés à recréer le tout premier épisode de la saga Star Wars. C’est stupéfiant. Je vous conseille de regarder car c’est impressionnant. Pour regarder, il vous suffit de

  • Sous OS X : Lancez le Terminal
  • Sous Windows : Cliquez sur « Démarrer » puis « Exécuter »

Puis de taper la commande suivante :

telnet towel.blinkenlights.nl

Pour les utiklisateurs de Windows Vista, il faudra auparavant vous assurer que la commande telnet est coché dans les fonctionnalités de Windows car elle est par défaut décochée.

Merci à fufu pour l’idée…

Tharkun Informatique, Internet

Le pagerank du blog franchit le premier niveau

04/05/2009

Cela fait un moment que ce blog existe, souvenez-vous bien (pour ceux qui étaient là dès le début) j’écris sur ce blog depuis maintenant quelques années et ce premier article en avril 2006. J’ai il y a peu changé de CMS car Dotclear ne me convenait plus. Il était pour moi trop limité. Wordpress est actuellement le numéro un des blogs personnels en dehors des plateformes pré-construites comme les skyblogs… Les changements ont porté leurs fruits puisque le page rank google du blog a enfin passé le premier niveau, plafonnant jusqu’ici à zéro.

Revenons précisément à ce qu’est le Page Rank (PR). Je précise qu’il s’agit du page rank google pour introduire cette notion qui est propre au système le calculant. Le plus connu est celui fait par Google, mais chaque moteur de recherche calcule le page rank des sites qu’il référence. Il n’y a donc pas de normes permettant de calculer le page rank d’un site, il s’agit plutôt d’une « recette » algorithmique de calcul que personne ne connaît exactement. Le page rank est un indicateur, un score affecté à chaque site web. Cette « note » est attribué selon des critères évoluant dans le temps en fonction des technologies. Ce qu’on appelle le web 2.0 a pas mal modifié le réseau et les liens externes entre les sites. La notion de liens externes est primordiale et prépondérante, mais personne ne sait à quel point. Un lien externe est un lien entre deux sites, du site A vers le site B. On dit que le site B a un lien externe en provenance de A.

Aujourd’hui en travaillant sur le référencement du blog, j’ai remarqué que le Page rank était de un comme vous pouvez le voir sur l’image ci-dessous.

Page rank

Page rank

Cela fait plaisir…

Tharkun Informatique, Internet, Le blog ,

Joli bug sur IE

29/04/2009

En informatique, il est très facile de créer des bugs. Pour ce qui est des sites internet, ils peuvent être de nature très différentes.

  • Erreur fatale qui affiche une page blanche…
  • Erreur javascript qui coupe la navigation de l’internaute (et qui donc s’en va…)
  • Erreur html ce qui donne des design déstructurés

Les origines sont multiples. Les solutions sont malheureusement pour nous aussi variées que le nombre de systèmes existants. Pour donner un exemple simple et compréhensible par tous, une solution qui fonctionnera sous Firefox ne fonctionnera pas forcément sous Internet Explorer (IE 6, 7 ou 8). Un consortium s’est donc créé au début de l’internet dans le but de créer des standards, sous la forme de recommandations et non de normes. Ces recommandations ne sont pas toujours respectées pour des raisons bien trop nombreuses à expliquer ici d’autant plus que ce n’est pas l’objet de ce post.

Je vais vous détailler un bug rencontré au boulot hier et ce matin.

Vous pouvez voir ci-dessous le visuel normal du site Dékio.

Page d'accueil de Dékio

Page d'accueil de Dékio

Voici le visuel de la page sur les navigateurs IE 6 et IE 7 de ce matin.

Page d'accueil de Dékio

Page d'accueil de Dékio

Comme vous pouvez le voir, toute la partie en dessous du head de la page n’apparaissait pas, ce qui est bien embêtant. La raison en était très simple. Une balise était correctement fermée selon les standards mais cette méthode n’est pas géré par IE. Le petit bout de code était :

<span class="fond" />

alors qu’il devait être pour ne pas avoir le bug

<span class="fond"></span>

L’expérience des développeurs plus anciens a permis de corriger le problème parce que ne le connaissant pas je ne sais pas si je l’aurai trouvé…

Joli non ?

Tharkun Boulot, Informatique , ,

Upgrade d’ordinateur

21/04/2009

Oui je sais j’ai changé d’ordinateur l’été dernier. Je vous rassure tout de suite, je ne viens pas d’en acheter un nouveau mais d’en changer, au boulot ^_^. Un renouvellement de configuration pour avoir un quad 4 giga de mémoire, çà va faire du bien. Et je le sens déjà.

En plus de la tour, on nous amène un écran 22 pouces qui devient notre écran principal, l’ancien devenant notre deuxième écran.

L’après-midi est donc passée vite, car on ne se rend pas bien compte du nombre de configurations, de modifications que nous utilisons au quotidien. Elles sont en général faites sur plusieurs semaines, voire mois. Bref cela prend du temps. Même si de plus en plus de logiciels ont des fichiers de config, ce qui permet de faire des copier/coller de la configuration, il faut tout de même les réinstaller…

Mais bon je ne me plains pas, encore plus quand on sait que je suis le premier à qui on a renouvelé le pc…

Tharkun Boulot, Informatique , ,

Dotclear vers WordPress

16/04/2009

Bonsoir tout le monde

Comme vous pouvez le voir, le blog dont vous aviez pour certains l’habitude a changé. J’ai décidé de changer de « Content Management System » (Système de gestion de contenu ^^) pour mon blog car j’en avais marre de Dotclear qui est très limité et dont la communauté n’est pas très étendue.

Me voici donc sous Word Press, un CMS très connu de gestion de blog.

Tharkun Informatique, Le blog ,

Des thèmes sur Gmail

19/11/2008

J’avais entendu parler il y a quelques temps d’une personnalisation possible du webmail de Google. Il fallait à l’époque surcharger les css du moteur. Que vois-je en me connectant ce soir ? Des skins sont proposés sur gmail. Je vous invite donc à rapidement aller voir.

J’ai particulièrement apprécié le clin d’oeil fait à la communauté geek avec le skin « Terminal ». On se croirait connecter à un serveur via putty. C’est trop bon, même si c’est fatiguant à la longue car ils ont reproduit certaines lignes avec des _ verts.

Pour ma part j’utilise le skin Planètes, et vous ?

Tharkun Informatique

Free repasse deuxième.

09/06/2008

Après la vague et la création à tout va de fournisseurs d’accès lors de la bulle Internet, le secteur devient de plus en plus concurrentiel et seuls les plus gros survivent. On a donc pu assister depuis un ou deux à une série de fusion, achat, rachat de FAI par d’autres FAI. Le dernier concerne le rachat par l’opérateur Free d’Alice du groupe Telecom Italia, l’opérateur historique italien. Rappelons que Telecom Italia avait acheté à l’été 2005 la filiale française Tiscali France, renommé Alice, pour s’implanter sur le réseau national français qui est un très gros marché au niveau européen. A peine trois ans après cet investissement, espérons que le ROI de Telecom Italia n’est pas trop négatif.

Source Le Monde

Tharkun Informatique , ,