Vous vous souvenez de la vieille blague du téléchargement de l'Internet ?
Bien que l'idée soit farfelue (évidemment), voilà qu'on peut maintenant télécharger l'encyclopédie Wikipedia pour en faire une archive sur DVD. Mieux, vous pouvez toujours installer une copie complète sur votre iPod touch / iPhone, en installant l'application Encyclopedia, moyennant 2.2 Go d'espace et 8$. Comme ils le disent si bien, c'est peu demandé pour avoir au bout des doigts la somme de toutes les connaissances humaines!
En fouillant un peu, j'ai aussi découvert un autre projet dans le même genre sur Sourceforge, gratuit et fonctionnant sur les anciens types de iPod : Encyclopodia.
Malheureusement, le gros défaut ici est que l'encyclopédie est créée à partir d'un dump (copie fixée dans le temps) de la base de données de Wikipedia, donc l'information n'est pas mise à jour automatiquement. Ça en fait donc une solution idéale pour le iPod mais sans intérêt pour le iPhone. Du moins, à moins de vouloir gaspiller beaucoup dl'espace disque, aussi bien y accéder normalement par Safari.
Ce soir, j'ai réinitialisé mon iPod touch (1ère génération de 8 Go) car j'avais fait plusieurs tests récemment, entre autre en testant deux façons différentes de le "jailbreaker" avec le firmware original (JailbreakMe et ZiPhone). Comme j'avais installé de nombreuses applications pour explorer ses nouvelles capacités, il ne restait plus beaucoup de place pour la musique et les vidéos. Un petit ménage s'imposait.
Parmis les applications que j'ai testé, il y avait un lecteur de eBooks et un émulateur de jeux NES. Dans les deux cas, les applications s'installaient facilement, mais les PDF et les ROMS devaient être déposés dans l'appareil par S-FTP/SSH car contrairement aux fichiers mp3, on ne peut pas les ajouter par iTunes.
Pour y arriver, on doit d'abord ouvrir une connexion sans fil avec le iPod jailbreaké (autrement, la connexion est refusée). Il faudra ensuite obtenir l'adresse IP qu'utilise l'appareil :
- Ouvrir l'icône Settings
- Sélectionner Wi-Fi
- Repérer la connexion utilisée (celle avec un crochet)
- Entrer dans la configuration de cette connexion par la flèche bleue à droite
- Noter ce qui est indiqué à IP Address (192.168.0.x)
- Type : SFTP - SSH File Transfert Protocol
- Entrez comme hôte l'adresse IP utilisée par le iPod
- Par défaut, l'appareil utilise root comme nom d'utilisateur et alpine comme mot de passe
Pour faire suite au Startup Camp de jeudi dernier, je reviens cette semaine avec le livre Founders at Work. Ce bouquin est constitué d'une collection d'entrevues effectuées par Jessica Levingston (mariée depuis 2008 à Paul Graham) qui s'est entretenue avec une trentaine de fondateurs d'entreprises informatiques dont plusieurs sont devenues les leaders dans leur domaine.
Loin d'être technique, on explorera plutôt leur histoire à travers diverses anecdotes qui nous permettra de mieux comprendre les opportunités qui se sont offertes à eux, le contexte dans lequel les idées sont nées, les compromis à faire et les défis qu'ils avaient à relever, y compris au niveau du financement (VCs et Angels).
On lira par exemple l'histoire du succès de PayPal (vendu 1.5 milliards à eBay en 2002), la naissance d'un des premiers web-mail nommé Hotmail (acquis par Microsoft en 1997 pour 400 millions) ou encore un chapitre incontournable où Paul Graham (Y Combinator) parle de ViaWeb, un service permettant de construire une boutique de vente en ligne... devenu par la suite le Yahoo! Store. Ce type est un vrai passionné et c'est toujours intéressant de voir ce qu'il a à dire.
Sinon, le chapitre le plus impressionnant est probablement celui où Steve Wozniak, le co-fondateur et génie technique derrière Apple, parle de la conception révolutionnaire de ses premiers ordinateurs en faisant le maximum avec le moins de puces possible.
Tout ça, en passant par Firefox, Adobe, Research in Motion (fabriquant du BlackBerry), Gmail, Craiglist, Flickr, la plateforme Blogger (où je suis publié), Lotus, VisiCalc (ancêtre du tableur Excel), Hot or Not (précurseur du site québécois Do You Look Good ?), le site Internet Archive, Alexa (maintenant propriété d'Amazon), le déploiement de Ruby on Rails par 37 Signals, et bien plus.
Une source d'information inspirant le succès que tous les entrepreneurs en informatique devraient lire.
La documentation officielle de PHP indique que les balises de fermeture (?>) sont optionnelles. Depuis la sortie de Zend Framework, le standard de formatage exige que ces balises soient omises pour les pages qui ne contiennent que du code PHP (par exemple la définition d'une classe).
Lorsqu'on utilise les instructions (include|require)(_once)? pour attacher une librairie, PHP copie dans le script principal le contenu du fichier avant d'exécuter le tout. Dans ces cas-ci, l'idée de ne pas fermer les balises PHP permet d'éviter que des sauts de lignes ou des espaces, souvent positionnés à la fin des fichiers inclus (après le tag de fermeture), se retrouvent imprimés en sortie dans le script principal. Par la suite, lorsqu'on voudra employer l'instruction header() pour faire une redirection ou encore pour faire du output buffering, cela provoquera la fameuse erreur "headers already sent".
Or, certaines personnes prétendent qu'une balise ouverte devrait toujours pouvoir être fermée et que c'est la responsabilité du programmeur de formater convenablement le code de ses librairies. D'autres, dont les concepteurs du Zend Framework, de Zend Studio, et plus particulièrement du Zend Engine sur lequel repose PHP, croient le contraire.
Simple préférence ou bonnes pratiques de programmation ?
Quoi qu'il en soit, l'éditeur Zend Studio for Eclipse 6 permet de tirer profit du formatage automatique du code (Menu Windows / Preferences / PHP / Formatter) et de le configurer pour utiliser les conventions PHP ou celles du Zend Framework. Et pourtant, même en spécifiant celles de ZF pour créer une nouvelle classe, j'ai remarqué que la balise de fermeture de PHP est automatiquement créée. Comme si c'était voulu...
Vendredi, j'ai parlé de l'utilisation du fichier hosts pour des objectifs beaucoup moins professionnels que ceux dont que je m'apprête à vous parler. En fait, lorsque je développe des projets personnels, j'utilise souvent mon poste de travail comme laboratoire et j'accède à mes différents projets à partir de http://localhost (127.0.0.1).
Cependant, plutôt que de créer chaque projet dans un répertoire à la racine du répertoire www d'Apache, je préfère utiliser ce qu'on appele un hôte virtuel (VirtualHost ou vhost). Je peux donc placer mes projets à différents endroits sur mon poste. Pour chaque projet, je crée ensuite un sous-domaine à localhost. Par exemple si mon premier projet est placé dans www : http://localhost/projet1/ deviendra http://projet1.localhost/. Ainsi, je peux continuer à programmer en utilisant la racine du répertoire comme référence, comme si le projet était en ligne sur son propre nom de domaine.
Voici pour configuration possible pour Apache (je baserai mon exemple en utilisant EasyPHP mais le fonctionnement reste identique si on utilise Apache seul) :
- D'abord, je crée deux projets, le premier dans le répertoire www d'Apache, le deuxième à un autre endroit, par exemple sur la partition D:
- On doit accéder au fichier httpd.conf d'Apache (C:\Program Files\EasyPHP 2.0b1\conf_files\) et s'assurer que la ligne suivante n'est pas commentée (elle ne doit pas avoir de symbole # devant) :
Include conf/extra/httpd-vhosts.conf - Ouvrir le fichier httpd-vhosts.conf (C:\Program Files\EasyPHP 2.0b1\apache\conf\extra\) et ajouter un hôte virtuel pour chaque projet :
NameVirtualHost *:80
Où :<VirtualHost *:80>
<VirtualHost *:80>
DocumentRoot "C:\Program Files\EasyPHP 2.0b1\www\projet1"
ServerName projet1.localhost
</VirtualHost>
DocumentRoot D:\Programmation\Web\projet2
ServerName projet2.localhost
</VirtualHost>
DocumentRoot est le chemin où se trouve le projet
ServerName est le nom du serveur - Dans le fichier hosts (Sous XP : C:\WINDOWS\system32\drivers\etc\), ajouter une ligne pour chaque projet :
127.0.0.1 projet1.localhost
127.0.0.1 projet2.localhost - Redémarrer Apache (pour que la nouvelle configuration prenne effet. EasyPHP a un raccourci pour le redémarrer à partir du système tray)
- Ouvrir un invite de commande et exécuter la commande suivante (pour que les domaines soient associés aux adresses IP spécifiées - pour notre poste seulement!) :
ipconfig /flushdns - À partir de votre fureteur préféré, tester l'accès à http://projet1.localhost et à http://projet2.localhost. Le tout devrait maintenant fonctionner.
Un intellectuel est quelqu'un qui rentre dans une bibliothèque même lorsqu'il ne pleut pas.
Saviez-vous que Google tient vraiment à ce que vous l'utilisiez ?
À l'image de leur pagination de résultats de recherche, vous pouvez y accéder avec un des domaines suivants :
- gogle.com
- google.com
- gooogle.com
- gogole.com
- googel.com
- googil.com
Sinon, voici deux parodies intéressantes :