Archives pour la catégorie ‘Ma vie’

10 choses à savoir sur VDM

Par Maxime, le 12 janvier 2010.

… que vous ne savez sans doute pas.

L’aventure VDM ayant commencé sur l’ancêtre de ce blog deux ans auparavant, ce n’est qu’un juste retour des choses de vous délivrer aujourd’hui, en remerciement, quelques histoires sur les débuts du site.

logo_vdm.png

1. Je n’ai jamais acheté viedemerde.fr. Il y avait une opération « .fr gratuits » chez OVH pour promouvoir l’ouverture aux particuliers. J’en ai pris un paquet à l’époque, dont celui-là, en référence à notre channel IRC #viedemerde. L’article de présentation est d’ailleurs toujours lisible dans les archives de mon blog.

2. Le slogan de VDM « Ma vie c’est de la merde et je vous emmerde » est une contraction de mes deux principales influences Canal + : Les robins des bois (« Ma vie c’est de la merde et je l’échangerais bien avec celle du roi du Maroc »), et la chanson « Je vous emmerde » de Katerine qui était le générique d’une émission d’Edouard Baer si je ne m’abuse.

3. Au début il n’y avait qu’un vote « Je valide, tu as une vie de merde ». Le terme « je valide » est une expression en référence au jeu La Cible, où quand tu zappais le midi tu tombais sur un mec devant un pupitre qui te dit « Avion, Chouette, Alain Madelin, Cheeseburger… Je valide ».

4. Le deuxième vote « Tu l’as bien mérité » ne s’appelait à l’origine pas comme ça… Pendant une semaine je l’avais nommé « Bien fait pour sa gueule ». Puis on m’a dit que c’était peut-être un peu trop violent, alors on a vite trouvé un remplaçant un peu plus corporate.

5. La première version était basée sur un outil de micro-blogging open source. Par conséquence les sources de cette version sont toujours disponibles, avec énormément de bugs corrigés et le mode soumission / multi-auteurs. En revanche j’ai laissé les fautes d’orthographe dans le CSS, pour le fun !

6. Otto, le créateur du site Chauffeurdebuzz.com m’a appelé en Avril 2008 pour me convaincre pendant 45 minutes que ce buzz ne durerait encore que quelques semaines. Evidemment il voulait quand même racheter le site, pour une somme avoisinant le chiffre d’affaires d’un mois… Il m’a bloqué sur Twitter depuis que j’ai refusé, en divulguant des infos « qu’il ne répètera à personne » :)

« C’est affreux ton site !!! »
— Notre régie publicitaire, le 4 mars 2008.

7. J’ai mis un mois et demi à convaincre la régie avec qui je travaillais depuis des années que le site pourrait rapporter un peu d’argent, en insistant sur le fait qu’on ne changerait pas la forme du site pour mettre des carrés ou des pop-ups. Maintenant nous sommes leur plus gros client.

8. Mettre ou non des commentaires était le plus gros débat interne aux débuts de VDM. On croulait déjà sous les anecdotes à modérer (il n’y avait pas l’auto-modération à l’époque). On a fini par tenter le coup à l’arrache. Maintenant on s’en fout il y a Julien pour tout lire !

9. Le jour où nous sommes passés sur Canal +, la préparation de l’émission était complètement en retard car ils avaient passé leur après-midi à lire le site, et à en inventer pour les passer le soir après notre passage.

10. Après notre passage au grand journal nous avons reçu nos plus beaux mails d’insultes. Je vous les copie en intégralité. Sur le premier vous verrez comment il compense son manque de style intellectuel par du style artificiel, ça relève du traumatisme typique du 21è siècle :)

yzkq.png

Le second est nettement plus drôle, enfin, on n’a jamais eu le fin mot de l’histoire.

wfky.png

J’espère que maintenant vous serez content de délivrer du VDM fun fact pour briller en société. En ce qui concerne la mienne, de société, j’espère que l’on pourra fournir autant de travail ces 12 prochains mois que ce qu’on a fait en 24, l’objectif est osé mais toujours réalisable. Merci encore !

Comment ma vie est sauvée par RTM

Par Maxime, le 26 décembre 2009.

Il me semble évident que pour être productif il faut savoir se libérer l’esprit un maximum pour se concentrer sur son travail, au moins de manière temporaire. C’est pourquoi j’ai longtemps recherché un moyen de gérer mes nombreuses todo-lists de manière efficace. Depuis plus d’un an je pense l’avoir trouvé, grâce à l’excellent Remember The Milk.

rtm.png

J’avais fait partie des early adopters de Remember The Milk, à l’époque où Loïc Le Meur en parlait sur son blog (maintenant il n’a plus de blog, pauvre de nous). A l’époque, RTM était loin de faire l’unanimité dans mon cerveau, puisque toute sa puissance réside bien ailleurs que sur le service lui-même.

Autant l’interface Web est aguichante, autant sur le concept je ne trouve pas ça pratique d’avoir tout le temps une fenêtre ouverte sur ses tâches. Après tout, mon client mail est déjà ouvert en permanence, il y aurait une redondance évidente. Seulement depuis quelques temps, RTM a développé sa vraie force : Une API et de vraies applications crées autour d’elle.

ss_iphone.png

J’ai ainsi organisé ma todo-list RTM de la manière suivante :

  • Sur mon bureau : J’ai installé le gadget Gmail Labs ce qui me permet de garder un oeil sur les mails en même temps que sur mes listes en permanence, sans perdre de place pour une fenêtre supplémentaire.
  • Sur mon iPhone : J’ai téléchargé l’application RTM for iPhone, elle est aussi disponible en version Web. Elle a gagné un Apple Design Award en 2008 ce qui me dispense de disserter sur son ergonomie.

Grâce à ces deux services mes listes sont synchronisées en permanence.

ss_gmail.png

Au final, la beauté de Remember The Milk réside dans le fait que je n’utilise jamais leur interface Web (sauf pour renouveler mon abonnement), mais tous les services autour de son API. Petit bémol si vous souhaitez utiliser la version iPhone ou Android, elle est réservée aux abonnés Pro, ce qui vous en coûtera $25 par an. Si vous ne voulez pas utiliser ces services mobiles, RTM est gratuit pour la vie !

Lien : Remember The Milk (Inscription)

EDF me doit un peu plus que la lumière.

Par Maxime, le 23 décembre 2009.

J’aurais pu intituler cet article Vis ma vie de SDF, mais reprendre le nom d’une émission de TF1 n’est pas ma tasse de thé (ou café). Reprenons pendant quelques minutes l’ordre des évènements d’hier qui m’ont amené à quitter mon havre de paix.

electric-light.jpg

Il est aux alentours de 14h30, je travaillais comme à l’accoutumée sur mon bureau de geek, lorsque soudain, coupure de courant. Mon côté parano étant assez exacerbé, j’avais prévu le coup avec un onduleur qui m’a permis de sauver mon travail avant d’éteindre la machine. Ce qui m’a intrigué au premier abord était le fait que le modem continuait à fonctionner, alors qu’en général une coupure temporaire ferait au moins couper la ligne téléphonique dans le même temps.

Prenant au début cette coupure pour une coupure globale temporaire, je décide de prendre mon mal en patience et de faire les quelques courses de Noël qu’il me restait à effectuer. La foule aidant, je reviens une bonne demi-heure plus tard chez moi, avec ce même constat : L’électricité n’est toujours pas revenue. Cela commençait un peu à m’inquiéter ; sachant que la nuit tombera dans l’heure qui suit, il a fallu que je prenne les choses en main.

Je ressors rapidement de mes classeurs ma dernière facture EDF pour avoir la référence client que je ne manquerai pas de mentionner à moultes reprises. Je commence par appeler ERDF qui me fait faire les bons tests de base sur le disjoncteur afin d’éviter toute intervention inutile, ce qui est donc plutôt normal, bien que dans mon cas je savais que le disjoncteur n’avait aucun problème, d’où mon inquiétude grandissant avec la nuit. Le technicien, très cordial, finit par regarder le numéro de mon appartement pour énoncer un laconique : « Votre fournisseur vous a coupé l’électricité volontairement ». Gasp.

lrvt.jpg
EDF vous souhaite un joyeux Noël.
(Cette photo a été réalisée grâce à l’éclairage d’un Macbook Pro en fin de batterie)

Il est donc temps pour moi d’appeler la redoutable et redoutée d’entre tous les services clients : La conseillère aigrie des coupures d’électricité injustifiées. Préparant mon coup, je tente l’approche psychologique en commençant par dire que quoiqu’il arrive ça ne sera pas de sa faute, que l’énervement ne résoudra rien et qu’il est dans notre intérêt commun de trouver une solution rapidement. Note pour plus tard : Ça marche.

Après vérifications auprès de ma fameuse référence client, le constat est sans appel : Je paie depuis 4 mois l’électricité de mon ancien appartement. Je ne pouvais pas le savoir, puisque le prélèvement était inchangé jusqu’à la fin de l’année. J’arrive à la conclusion que le conseiller EDF qui s’est occupé de mon déménagement n’a jamais fini la procédure, et ne m’en a jamais averti. Ayant reçu un e-mail de confirmation pour le changement de contrat, il aurait été compliqué pour moi de le deviner.

La conseillère m’aide à résoudre ces différents problèmes administratifs en antidatant le déménagement au 1er septembre, comme il était prévu sur le contrat désormais fantôme. Je vous passerai les détails des questions ironiques sur mon équipement électroménager alors qu’il commençait sérieusement à faire froid dans mon appartement. Une fois ces détails réglés, il ne restait plus qu’à prendre un rendez-vous de rétablissement de ligne… Pour dans 6 jours ! Congés des techniciens obligent.

egdp.png

C’est à ce moment-là que j’ai pu jovialement réutiliser le social engineering mis en place dès le début de mon appel. La conseillère avait un affect sur mon problème, il fallait que je m’en serve. Après avoir vu avec sa supérieure, elle finit par me proposer un rendez-vous express dans les prochaines 48 heures. Conditions cependant : l’intervention sera payante, et ne se fera peut-être pas, si les techniciens ont trop de travail pour daigner s’occuper de ma ligne, le rendez-vous reste fixé au lundi 28 décembre, soit 6 jours après la coupure volontaire.

Une question demeure : Pourquoi la trêve hivernale ne s’applique pas aux besoins de base comme l’électricité ? Couper la lumière et le chauffage, deux jours avant les vacances des techniciens, ça relève du vice pur et simple. Même mon agence pensait que c’était impossible.

Et quand bien même la coupure puisse-t-elle être légitime, il reste choquant de se voir couper l’électricité sans aucune lettre de rappel, que ce soit à la porte de l’appartement, sur la boîte aux lettres, ou même directement au propriétaire qui est censé savoir ce qui se passe dans son bien.

Les prochains jours nous diront si je passerai Noël dans le froid et dans le noir.

Le monitoring, cette belle activité

Par Maxime, le 21 décembre 2009.

Dans un récent article Comment être productif avec 5 écrans (en même temps, ils sont tous récents vu l’âge de ce blog), je vous parlais de mon écran dédié au monitoring. Voici donc le billet tant attendu. Mais je vous préviens, il risque d’être inintéressant :-)

L’hébergement des différents sites de ma société (en somme, VDM et ses déclinaisons linguistiques) est entièrement géré par SD France au niveau matériel, et par votre serviteur au niveau logiciel / administration système. La question qui s’est donc rapidement posée une fois que tout était mis en place fut celle de la surveillance de toutes ces machines, autrement appelée le monitoring.

Les premiers termes qui viennent à l’esprit lorsque l’on parle de monitoring sont Nagios, MRTG, et autres RRDTool, qui sont les outils les plus populaires dans la surveillance en réseau. Pour ma part je les ai trouvés bien trop complexes pour les quelques données dont j’avais besoin au quotidien, c’est pour cela que je me suis orienté sur une solution maison que je vais vous décrire ci-dessous.

Côté serveur

Même si tout un écran peut sembler important niveau espace, lorsque l’on parle de 27 serveurs à monitorer individuellement, il faut se montrer efficace. Il a donc fallu identifier les points-clés à surveiller. J’ai choisi les suivants :

  • Etat de la réplication MySQL : Point névralgique évident lorsque l’on parle de réplication circulaire master-master. Si un des serveurs ne réplique plus, toute la boucle est endommagée immédiatement.
  • Secondes de retard MySQL : Ce n’est pas précisément le temps de retard d’une réplication par rapport à son maître, il s’agit plus précisément de la différence entre le temps actuel et l’heure indiquée sur le log que l’esclave est en train de répliquer. Cela reste cependant un bon indicateur de l’état de santé de la réplication.
  • Connexions Apache : Permet de savoir en permanence les connexions à un instant t sur le cluster Web, ainsi que les types de connexions (lecture, écriture, slot inactif).
  • Statut du serveur Memcache : Le serveur memcache est assez sollicité pour stocker de manière centralisée les sessions PHP du cluster, ainsi que certaines données des sites.
  • Modifications sur le FTP : Plusieurs personnes travaillant sur le FTP, il est parfois utile de savoir quels ont été les derniers fichiers modifiés lorsque survient un problème inexplicable par le simple état des machines. J’ai codé un script qui établit automatiquement un diff du fichier uploadé versus le fichier original, pour plus de lisibilité.

Une fois ces points identifiés avec succès, il a fallu coder les agents qui enverront les données à un serveur central (j’ai dédié un serveur au monitoring). Ces agents envoient actuellement les informations toutes les 5 secondes via le réseau local sur une interface VLAN. Je les ai codés en PHP ou en Perl selon l’inspiration du moment. C’est un serveur Web qui récolte les données et peuple une base MySQL, mais peu importe le langage du moment que les variables sont renseignées dans la base de données.

Côté client

Ma base se peuple maintenant à la vitesse de la lumière (ou du cuivre, selon le degré de poésie). Il faut maintenant développer l’interface qui affichera les données en temps réel sur mon écran de droite.

e25v.png

Par pure déformation professionnelle, j’ai encore tâté de l’HTML. Les connexions à Apache que vous voyez ci-dessus ainsi que les secondes de retard MySQL plus bas ont été réalisées via l’excellente librairie Flash Amcharts que j’avais déjà utilisée auparavant. Cette librairie crée des graphiques en Flash à la volée, au moyen de fichiers XML ou CSV, et permet aussi de rafraîchir ses données à intervalles de temps réguliers.

awak.png

Concernant les données qui ne nécessitent pas de vision en fonction du temps, j’ai tout simplement utilisé de l’AJAX (avec jQuery) qui permet par exemple de rafraîchir l’état de la réplication MySQL et d’afficher l’erreur explicite en cas de panne. J’ai aussi utilisé cette technique pour afficher les dernières modifications du serveur FTP.

rh2t.png

Enfin, comme le résultat donne une page Web, j’avais besoin qu’elle se comporte comme une véritable application, afin d’éviter qu’elle se ferme lorsque je devais redémarrer Safari, ou tout simplement pour pouvoir placer la fenêtre de manière permanente en plein écran sur la droite. J’ai utilisé comme à chaque fois Fluid qui permet tout cela, et même bien plus avec ses librairies Javascript intégrées (vous pouvez par exemple mettre des badges ou des notifications Growl très simplement).

Et quand t’es dehors ?

Avoir un smartphone est forcément indispensable, dans mon cas c’est un iPhone. Vous n’êtes pas sans savoir qu’il ne gère pas le Flash, et quand bien même il le gérerait, ce serait trop lourd pour vérifier d’un coup d’oeil l’état de mes serveurs en Edge ou en Wap. J’ai donc codé une page HTML avec les entêtes HTML qui vont bien pour que l’iPhone considère ça comme une application à part entière :

<meta name="robots" content="noindex" />
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta name="format-detection" content="telephone=no" />
<meta content="yes" name="apple-mobile-web-app-capable" />
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="apple-touch-icon" href="/mgmt.png"/>
<script type="text/javascript">
	addEventListener(
		"load",
		function() {
		setTimeout(hideURLbar, 0);
		setTimeout('window.location.reload(true)', 5000);
		}, false
	);
	function hideURLbar() { window.scrollTo(0, 1); }
</script>

La page se rafraichit automatiquement toutes les 5 secondes pour me permettre de supprimer totalement la barre d’adresse de l’écran de contrôle.

J’ajoute à côté du screen une autre application qui s’appelle HostMonitor [iTunes], très pratique pour simplement tester des ports sur des machines distantes, le tout sous forme de groupes. Utile si vous voulez juste jeter un oeil sur l’état de santé de votre réseau.

IMG_0378.PNG       IMG_0379.PNG
Le monitoring version iPhone, et HostMonitor.

Un autre outil que j’utilise (mais moins souvent), c’est iStat. Cette application se présente sous la forme d’un client iPhone et de serveur à installer sur tous les ordinateurs que vous souhaitez monitorer. L’avantage est qu’il marche sur Linux aussi bien que sur Mac, avec seulement un port TCP à ouvrir sur chaque serveur. Le détail des paramètres système est paramétrable.

IMG_0376.PNG       IMG_0377.PNG
iStat en action.

Concernant l’installation sur des serveurs Linux, le code source est disponible sur Google Code. Une bonne âme a créé un paquet Debian à partir de ces sources, elle s’appelle Marius (iStat My Linux on My Phone) et le lien se trouve en bas de son article. Un coup de dpkg -i plus tard et vous avez un serveur iStat sur votre Debian (pensez aussi à éditer le /etc/istat.conf si vous ne souhaitez pas que tout le monde connaisse vos stats).

Voilà pour le billet promis, désolé si j’ai mis un peu de temps à le rédiger, et pour la consistance finale de l’article, mais j’ai eu du mal à trouver une meilleure présentation. Comme d’habitude, si vous avez des questions, je tenterai d’y répondre avec mon humble expérience.

Comment être productif avec 5 écrans

Par Maxime, le 7 décembre 2009.

Certains d’entre vous doivent encore se souvenir de cette photo publiée sur mon compte Twitter il y a presque deux mois jour pour jour, juste après l’installation de mon ordinateur dans mon nouvel appartement :

dsc00205qj.jpg
Le contenu des écrans n’est pas représentatif !

On m’a accusé de temps à autres d’avoir cette configuration uniquement pour la frime, et n’en avoir aucune utilité dans la réalité. Voici donc un « petit » article pour expliquer comment avoir 5 écrans augmente ma productivité.

Le matériel

Seuls les deux LaCie ont été achetés pour l’occasion, les trois autres écrans étaient déjà en ma possession. Leur choix n’est pas spécialement primordial, les miens sont assez grands, ce qui au final est plutôt agréable si vous avez la place.

  • Au centre : Acer P244W (24″ 16:9)
  • A gauche et à droite : LaCie 324 (24″ 16:10)
  • Aux extrémités : Acer AL2216W (22″ 16:10)

Vous aurez judicieusement remarqué que les deux écrans aux extrémités n’avaient pas la place pour reposer sur la table, j’ai donc utilisé deux bras Ergotron pour les accrocher en l’air. Ce sont des bras assez chers mais qui valent vraiment le coup, pour avoir essayé leur équivalent « noname » auparavant, ça n’a rien à voir niveau qualité de fabrication.

L’ordinateur qui supporte tout cela peut aussi être n’importe quelle tour bien configurée, dans mon cas c’est un Mac Pro, avec trois cartes graphiques évidemment, pour pouvoir supporter les 5 sorties vidéo.

Le logiciel

La première réflexion qui vient souvent à l’esprit lorsque je parle de ma configuration c’est : « Ça ne t’arrive pas de perdre ta souris ? ». La réponse est si, bien sûr ! Mais il y a quelques astuces pour naviguer efficacement dans un espace aussi grand.

C’est là où les raccourcis clavier viennent à la rescousse de votre productivité :-) J’ai choisi d’utiliser Keyboard Maestro après en avoir testé quelques autres, je ne sais pas si celui-là est le meilleur mais il m’a pleinement satisfait depuis un peu plus d’un an. Ce logiciel me sert à deux choses : reconfigurer certaines touches de mon Mac pour qu’elles réagissent comme un clavier Windows (un an et demi après avoir switché, je suis toujours persuadé que le clavier AZERTY est mieux pour coder), et ajouter des raccourcis pour accéder rapidement à n’importe quelle application située sur mes écrans.

Ces raccourcis clavier sont dits globaux, c’est à dire qu’ils fonctionnent peu importe l’application où vous vous trouvez sur votre ordinateur.

yjvv.png

Au-delà de ça, j’ai aussi pris l’habitude de remettre ma souris au centre de l’écran principal avant d’éteindre mes écrans. :D

Passons maintenant au contenu des écrans à proprement parler.

Au centre

Certainement la partie la moins intéressante, l’écran du milieu me sert à coder (il vaut mieux le faire au centre, ça évite les torticolis), et à naviguer sur le Web, quelques terminaux SSH de temps en temps, rien d’autre.

A gauche

J’utilise l’écran de gauche pour iTunes (que j’utilise en permanence en travaillant), Adium (messagerie instantanée sous Mac), Gmail (via Mailplane).

gauche.png

A droite

La télécommande EyeTV de l’écran tout à gauche (voir paragraphe ci-dessous), quelques bidouilles faites avec GeekTool, Tweetie, et Google Wave, mais vu l’inutilité grandissante de ce dernier, je pense le remplacer par un autre logiciel encore à déterminer. J’utilise l’espace quand j’ai des SSH à monitorer ponctuellement.

droite.png

Les extrémités

De part leurs emplacements dans mon champ de vision, il était impossible d’envisager des écrans où je serais actif dessus. Les deux écrans me servent d’écran de « contrôle ». A droite, j’ai le monitoring de mes serveurs (qui est néanmoins primordial puisque c’est mon métier), quant à l’écran de gauche il me sert pour la télévision, souvent les infos mais aussi les reportages qu’on peut regarder d’un oeil tout en travaillant :-)

monitoring.png
Mon monitoring, qui fera sans doute l’objet d’un autre article.

J’ai essayé de ne pas trop vous encombrer de détails sur la description de ma configuration de travail. Je concluerai en disant qu’il ne faut pas croire que c’est parce que vous avez 5 écrans que vous multiplierez votre productivité par 5, mais en s’habituant un peu, les avantages s’en font vite sentir. Si vous avez des questions (ou des conseils), laissez-moi un commentaire !