skip to main | skip to sidebar
Code 18
Manuel du savoir-faire à l'usage des geeks et des curieux
RSS
  • Accueil
  • Le web au Québec
  • Liens
  • Twitter
  • Facebook
  • À propos

mercredi 10 décembre 2008

Configurer son routeur sans fil pour travailler à distance

Publié par Infinite Loop, à 21 h 57 0 commentaire

Tempête de neige sur Montréal... Pourquoi ne pas travailler de la maison ? Un coup d'oeil par la fenêtre... Je ne demande pas mieux. Dans mon cas, il suffit que je me connecte par VPN (Virtual Private Network) sur le réseau du bureau, pour ensuite accéder à mon poste de travail à distance (qui doit être ouvert) en utilisant Remote Desktop (je lance toujours l'application par le menu Start / Run / mstsc). Mais ce matin, un petit problème est apparu.

Comme j'ai installé un routeur la semaine dernière pour pouvoir m'amuser avec mon iPod touch, il semblerait que mon réseau local entre maintenant en conflit avec le réseau au travail. Je peux me connecter au VPN, mais plus rien n'est accessible. Ce qui m'indique que le problème est relié au routeur est que si je le retire de ma configuration, tout fonctionne correctement. Il me faudra donc modifier la configuration du routeur pour qu'il soit heureux.

D'abord, je dois dire que je ne suis pas très doué en ce qui concerne la réseautique. Par contre, je suis débrouillard et je réussis généralement à faire ce dont j'ai besoin. Je possède un routeur D-Link DIR-615 que j'accède par mon fureteur à l'adresse 192.168.0.1 pour le configurer. Une fois connecté en administrateur, je me rends à l'onglet Setup et je choisis Network Settings dans le menu de gauche. À ce que j'ai lu, je peux changer le default gateway (router IP address) pour l'adresse IP 10.0.0.1 (lorsque ce sera enregistré, on pourra retourner à la console de gestion du routeur par cette adresse plutôt que par 192.168.0.1). Une fois redémarré, je suis capable d'accéder normalement à Internet, le VPN et le Remote Desktop.

Je ne sais pas s'il s'agit de la meilleure solution mais ça fonctionne. Si quelqu'un a une meilleure alternative, merci de la partager avec moi.


Tags: Coffre à outils

mardi 9 décembre 2008

Débogage PHP avec var_dump et print_r

Publié par Infinite Loop, à 23 h 01 0 commentaire

La plupart des programmeurs PHP que je connais utilisent les fonctions PHP var_dump() et print_r() pour effectuer la trace des variables pendant le débogage. Voici un petit aide-mémoire qui résume les fonctions à utiliser au besoin.

Pour un array donné :
$arrTest = array('a', 'b', 'c');

var_dump
var_dump($arrTest);

Résultat :
array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }

  • Accepte une ou plusieurs variables en entrée
  • Dans le cas de notre array, il retournera le type et la valeur de chaque clé dans une forme lisible
  • Récursif, pour afficher la structure complète de l'objet
print_r
print_r($arrTest);

Résultat :
Array ( [0] => a [1] => b [2] => c )
  • Accepte une seule variable en entrée
  • Retourne la valeur de chaque clé, sans le type
  • Accepte un deuxième argument (booléen) pour indiquer si on veut retourner le résultat dans une variable plutôt que de l'afficher. Par exemple : $result = print_r($arrTest, true);
var_export
Il existe une troisième façon intéressante et pratique, soit var_export, qui s'appele aussi avec un ou deux arguments.

var_export($arrTest);
ou
$result = var_export($arrTest, true);

Résultat :
array ( 0 => 'a', 1 => 'b', 2 => 'c', )
  • Accepte une seule variable en entrée
  • Retourne la valeur de chaque clé, sans le type
  • Contrairement aux deux autres, le résultat est du code PHP valide
Truc pratique
Comme ce que contient $result est une chaîne de caractère représentant un array PHP valide, on pourrait l'enregistrer et le récupérer plus tard en appelant la fonction eval() :

eval('$arrRecuperation = ' . $result . ';');

Ainsi, la variable $arrRecuperation est un array à nouveau.

Pour du débogage avancé (pour les tâches plus coriaces!), je vous recommande de jeter un oeil aux puissants outils fournis avec Zend Studio (breakpoints, stacks, introspection de variables, etc).


Tags: PHP

lundi 8 décembre 2008

Livre PHP à 700$ sur eBay

Publié par Infinite Loop, à 13 h 40 0 commentaire

Pour Noël, faites un heureux. Offrez à votre programmeur préféré le livre PHP 5 Objects, Patterns, and Practice (1ère édition, 2004), disponible sur eBay pour la modique somme de 700$ canadiens (550$ US). Et oui, vous avez bien lu, le vendeur est nul autre que Best Bargain Books. Ironie ?

Faites vite, seulement 8 copies disponibles !

Pour les autres qui ne peuvent se payer ce luxe en temps de récession, Amazon offre la deuxième édition pour seulement 35$...


Tags: PHP

dimanche 7 décembre 2008

Effectuer un md5sum

Publié par Infinite Loop, à 18 h 59 0 commentaire

Lorsqu'on télécharge un fichier, on remarque parfois dans la liste une clé md5 ou un fichier avec l'extension .md5. Un MD5 (Message-Digest Algorithm 5) est une fonction d'encryption à 128 bits qui donne comme résultat un hash de 32 caractères en notation hexadécimale. Ce résultat peut être utilisé pour effectuer une validation que le fichier téléchargé a été transféré correctement et que l'intégrité des données est respectée.

C'est une technique généralement utilisée sur Linux mais on peut la reproduire sans trop de problème sous Windows en utilisant UnxUtils. En installant cet outil, on aura accès à plusieurs des commandes disponibles sous Linux dont md5sum.

Si on regarde la page de téléchargement de PHP, on remarquera que sous chaque lien se trouve une clé md5. Il s'agit du résultat attendu lorsqu'on exécute la commande md5sum sur le fichier téléchargé. Dans le cas du fichier php-5.2.6.tar.bz2, le résultat devrait être le suivant : 7380ffecebd95c6edb317ef861229ebd.

La commande md5sum php-5.2.6.tar.bz2 affichera le checksum du fichier (plusieurs fichiers peuvent être passés comme arguments et chacun aura son propre hash) :

7380ffecebd95c6edb317ef861229ebd *php-5.2.6.tar.bz2

On pourra le comparer manuellement à ce qui est inscrit sur le site. Mieux, si un fichier .md5 est déjà disponible en téléchargement, on pourra faire la comparaison directement. S'il n'est pas présent, on pourra le créer, simplement en ajoutant à un fichier texte une ligne pour chaque fichier, composée de la clé md5 attendue, suivie du nom de fichier correspondant (comme le résultat plus haut).

On terminera la vérification à l'aide du fichier .md5 qui utilisera le nom de chaque fichier indiqué pour vérifier sa clé :

md5sum -c result.md5
php-5.2.6.tar.bz2: OK

Dans ce cas-ci, tout est conforme. Si un fichier avait été altéré lors de la transmission, ce serait indiqué FAILED. La commande md5sum peut être utile lorsqu'on télécharge des images ISO de CD ou de DVD, par exemple une distribution Linux. Elle permet de vérifier que le contenu n'est pas corrompu avant de le graver sur un média.

Mise à jour, 2008-12-08
Les noms de fichiers des exemples de cet article ont été modifiés pour utiliser la version 5.2.6 de PHP plutôt que la plus récente version 5.2.7 en raison d'un bogue de sécurité. Pour l'instant, l'utilisation de la version 5.2.6 est recommandée en attendant la sortie de PHP 5.2.8.


Tags: Coffre à outils

Citation no. 7 sur le cerveau

Publié par Infinite Loop, à 10 h 55 0 commentaire

Le cerveau, comme le parachute, doit être ouvert pour fonctionner.

- Pierre Daninos


Tags: Citations

samedi 6 décembre 2008

Compressions budgétaires = Logiciel libre ?

Publié par Infinite Loop, à 23 h 49 0 commentaire

En cette période d'instabilité économique, on apprend que 71 000 emplois ont été perdus au Canada, au mois de novembre seulement (et plus de 500 000 aux États-Unis). Moins d'emplois se traduira inmanquablement par une diminution des revenus dans les coffres de l'état, donc moins d'investissements, tant dans les infrastructures que dans les programmes sociaux.

On devra donc s'attendre à ce que les gouvernements fassent des compressions budgétaires un peu partout pour pouvoir arriver. Si on y réfléchit bien, combien d'argent pourraient-ils économiser s'ils troquaient uniquement la suite Microsoft Office pour son rival gratuit OpenOffice ? En se basant sur les prix de vente affichés sur le site de Microsoft, on peut certainement figurer de quel ordre pourrait se chiffrer les économies pour la fonction publique.

Il existe probablement une entente commerciale à plus ou moins long terme avec le géant Microsoft mais lorsqu'elle sera échue, peut-on s'attendre à ce que les gouvernements révisent leur position ? Ce point a été soulevé en juillet dernier par l'organisme FACIL qui estime que le gouvernement dépense annuellement 80 millions de dollars pour des licenses de Windows. Le débat a déjà eu lieu et personnellement, je ne crois pas que se tourner vers un système d'exploitation comme Linux puisse se traduire par des économies substancielles. Mais il faudrait au moins considérer l'adoption de la suite bureautique OpenOffice.

Plusieurs pays ont déjà fait le saut au logiciel libre mais le Québec sembre prendre du retard à cet effet. Peut-être est-ce le moment approprié pour forcer un changement ? Et qui sait, pourquoi ne pas adopter la même approche dans les Cegeps, universités et les bibliothèques ?


Tags: Le coin du geek

vendredi 5 décembre 2008

Mise à jour du firmware de mon iPod touch

Publié par Infinite Loop, à 19 h 39 0 commentaire

Après avoir complètement réinitialisé mon iPod touch (1ère génération, de 8 Go d'espace de stockage), je l'ai branché à iTunes pour pouvoir mettre à jour le firmware et espérer pouvoir installer les applications gratuites offertes dans leur boutique (tout à fait légalement, sans jailbreak). Après avoir télécharger quelques applications intéressantes, je me suis rendu compte que plusieurs demandaient à être installées sur un firmware 2.0 ou plus. Comme la seulement mise à jour disponible pour mon appareil était la version 1.1.5 (améliorations de base), je devais soit jailbreaker mon iPod, soit payer la mise à jour à la version 2.2 proposée par iTunes.

Il y a environ un an, lorsque j'avais jailbreaké mon iPod pour la première fois, je devais d'abord restaurer le iPod avec un firmware précis et j'avais réussi à en trouver un sans trop de problème sur Google. Encore une fois, j'ai procédé de la même façon et j'ai découvert un site où on peut télécharger les firmwares pour iPod. J'ai sélectionné dans la liste "iPod touch 1G (2.2/5G77)" et j'ai téléchargé le fichier .ipsw d'environ 250 Mo.

Une fois en possession de ce fichier, j'ai branché mon iPod touch et j'ai ouvert iTunes 8. Dans la liste de droite, j'ai sélectionné mon appareil pour faire apparaître l'onglet "Summary". Dans cet écran, j'ai cliqué sur le bouton "Restore" tout en gardant enfoncée la touche "shift" de mon clavier. Cette combinaison permet d'ouvrir une fenêtre qui donne la possibilité de choisir le fichier .ipsw à partir duquel effectuer la restauration ou la mise à jour plutôt que d'utiliser celui par défaut. Une fois sélectionné, tout se fait automatiquement, il suffit d'être patient.

Lorsque le processus s'est terminé, j'ai retrouvé mon iPod comme un neuf, avec les applications du iPod touch 2ème génération dont Google Maps, Stocks, Weather, Mail, la possibilité de déplacer les icônes et surtout, j'ai pu installer énormément d'applications gratuites provenant du iTunes store.

Je me retrouve donc avec un jeu de batterie, un autre de air hockey, la pinte de bière Carling, Tap Tap Revenge (inspiré du jeu Guitar Hero), un traducteur, un jeu de darts, le fameux sabre laser de Star Wars et beaucoup d'autres trucs, souvent inutiles qui ne servent qu'à impressionner les amis (surtout ceux qui n'ont pas encore de iPod touch ou iPhone).

Pour la prochaine étape, je me demande si ça vaudrait la peine de jailbreaker le tout avec QuickPwn ?


Tags: iPod

Messages plus récents Messages plus anciens Accueil
S'abonner à : Messages (Atom)
    Suivre @code18 sur Twitter

    Catégories

    • Apache (21)
    • Citations (167)
    • Club Vidéo (24)
    • Coffre à outils (55)
    • CSS (8)
    • Curiosités (117)
    • Design Pattern (2)
    • Drupal (8)
    • Easter Eggs (22)
    • Extensions Firefox (20)
    • GIMP (7)
    • Histoire (21)
    • HTML (32)
    • Humour (57)
    • Intégration (34)
    • iPod (12)
    • JavaScript (110)
    • Jeu de combat (6)
    • Le coin du geek (128)
    • Liens (12)
    • Linux (56)
    • Livres (78)
    • Lois et principes (46)
    • Marché des saveurs (26)
    • Mathématique (18)
    • Mobile (5)
    • Montréal (32)
    • Musique (112)
    • Pancartes et écriteaux (16)
    • Perl (8)
    • Pérou (1)
    • PHP (130)
    • PostgreSQL (44)
    • Programmation (105)
    • Saviez-vous que (55)
    • Sécurité (22)
    • SEO (5)
    • SQL Server (22)
    • Vieilles publicités (6)
    • Virtualisation (8)
    • Voyages (1)
    • Zend Framework (26)

    Divers

    Archives

    • ▼  2015 (6)
      • ▼  août 2015 (1)
        • Citation no.164 sur la tromperie
      • ►  juillet 2015 (1)
      • ►  février 2015 (3)
      • ►  janvier 2015 (1)
    • ►  2014 (8)
      • ►  décembre 2014 (1)
      • ►  novembre 2014 (1)
      • ►  octobre 2014 (1)
      • ►  août 2014 (2)
      • ►  juillet 2014 (2)
      • ►  janvier 2014 (1)
    • ►  2013 (53)
      • ►  décembre 2013 (2)
      • ►  novembre 2013 (1)
      • ►  octobre 2013 (3)
      • ►  septembre 2013 (2)
      • ►  août 2013 (5)
      • ►  juillet 2013 (3)
      • ►  juin 2013 (5)
      • ►  mai 2013 (3)
      • ►  avril 2013 (7)
      • ►  mars 2013 (7)
      • ►  février 2013 (11)
      • ►  janvier 2013 (4)
    • ►  2012 (105)
      • ►  décembre 2012 (8)
      • ►  novembre 2012 (5)
      • ►  octobre 2012 (4)
      • ►  septembre 2012 (1)
      • ►  août 2012 (8)
      • ►  juillet 2012 (7)
      • ►  juin 2012 (7)
      • ►  mai 2012 (10)
      • ►  avril 2012 (13)
      • ►  mars 2012 (15)
      • ►  février 2012 (15)
      • ►  janvier 2012 (12)
    • ►  2011 (146)
      • ►  décembre 2011 (14)
      • ►  novembre 2011 (11)
      • ►  octobre 2011 (12)
      • ►  septembre 2011 (13)
      • ►  août 2011 (15)
      • ►  juillet 2011 (17)
      • ►  juin 2011 (18)
      • ►  mai 2011 (15)
      • ►  avril 2011 (9)
      • ►  mars 2011 (7)
      • ►  février 2011 (3)
      • ►  janvier 2011 (12)
    • ►  2010 (398)
      • ►  décembre 2010 (29)
      • ►  novembre 2010 (28)
      • ►  octobre 2010 (32)
      • ►  septembre 2010 (34)
      • ►  août 2010 (22)
      • ►  juillet 2010 (35)
      • ►  juin 2010 (42)
      • ►  mai 2010 (36)
      • ►  avril 2010 (37)
      • ►  mars 2010 (34)
      • ►  février 2010 (32)
      • ►  janvier 2010 (37)
    • ►  2009 (429)
      • ►  décembre 2009 (32)
      • ►  novembre 2009 (34)
      • ►  octobre 2009 (33)
      • ►  septembre 2009 (37)
      • ►  août 2009 (37)
      • ►  juillet 2009 (39)
      • ►  juin 2009 (38)
      • ►  mai 2009 (37)
      • ►  avril 2009 (35)
      • ►  mars 2009 (36)
      • ►  février 2009 (32)
      • ►  janvier 2009 (39)
    • ►  2008 (84)
      • ►  décembre 2008 (34)
      • ►  novembre 2008 (39)
      • ►  octobre 2008 (11)

    Abonnés

Copyright © All Rights Reserved. Code 18 | Converted into Blogger Templates by Theme Craft