Articles

Spotify Music - June Selection

/!\ Listen with a good headset /!\ Ambiant / Electro (Japan Style) Despair NKOHA https://open.spotify.com/album/2uMNrWj9iLyuDflq5vUC1v Metal Unbreakable New Years Day https://open.spotify.com/embed/album/6kBL1aDG9vrc4pFhgcqMSJ Rap / Electro MOSAIC Poldoore https://open.spotify.com/album/5UZsG4jv0rhmKld4YblimA Alternative Rock Orion X Ambassadors https://open.spotify.com/album/5YF8ms264wRnswVK1YMYmu Rock Help Us Stranger  The Raconteurs https://open.spotify.com/album/39zeEZzWt1tqrMY1D8JlQI My Headsets :

Hack ZWave NeoPlus hall sensor to dock status sensor

Image
Ok, recently I've hacked a ZWave Neo Coolcam door sensor (very cheap ZWave, 18/20€ on Amazon ) to transform it into a door status sensor (is the door locked or no). For the door lock contact, I've recycled 2 battery springs from an old solar powered garden light, and glued them on a small 3D printed support. I've unsoldered the hall sensor and connect the springs cable to it after inserting the support in the door lock hole. It works like a charm and it's really easy to use this in domoticz. DISCLAIMER : The first try of this hack leaded me to a blocked door (yes !). I had to drill the lock to unlock the door (like a thief yes !). Please double check your capacity to force your own door and your wife acceptance factor before trying this or you'll may have to break a window to enter at home and buy flowers to your loved one. Good Luck !

vagrant-proxyconf

In order to reload proxy configuration in vagrant using proxyconf plugin, you have to use "vagrant reload --provision" instead of "vagrant reload"

Chiffrement du disque sous Ubuntu 17.10

Attention si comme moi vous avez fait une installation d'ubuntu 17.10 en chiffrant votre disque : Ne mettez pas un mot de passe trop long (10-12 Char max.), et utilisez des caractères facile a trouver sur un clavier qwerty. En effet, l'install nous fait saisir la passphrase sur du qwerty (tout comme au boot) donc attention, si vous venez à changer la phrase via l'utilitaire disk alors que vous êtes en azerty. Le plus simple est de mettre une passphrase super simple a l'install, de booter sur le live cd en anglais, de lancer l'utilitaire disk et de changer le mot de passe en anglais pour un plus complexe sans qu'il ne soit trop long (10 chars c'est bien).

Vidange - Laguna III Coupé 2.0 DCI 150

Image
L'été pour moi, c'est synonyme de révision de voiture ! Et l'électronique c'est bien, mais la mécanique aussi ça me plaît. DIY un jour, DIY toujours ! Je me suis dit que ça serait sympa de réaliser un joli tutoriel pour vous expliquer comment on fait une vidange de voiture. Je l'ai faite sur ma Laguna 3 Coupé, équipée d'un moteur 2.0l DCI de 150ch. J'ai prévu aussi un tutoriel pour le filtre à air (super simple) et le filtre d'habitacle (beaucoup moins simple). Concernant la vidange, l'opération est très simple, mais il vous faudra du matériel et/ou un peu de pratique pour faire l'opération rapidement. En prenant les photos, j'ai mis 1h. Sans les photos, l'opération prend environ 20/40 min. Pour les pièces, j'ai tout acheté sur Oscaro . Le site est fiable, les produits sont les même que ceux du constructeur et la livraison est possible directement en point relais. Concernant le matériel voilà ce que j'utilise :   ...

Vagrant

Avec PHP7 et les backward incompatibilities des objets j'ai du regarder de plus près 2 technos pour faire cohabiter deux éco-systèmes de dev au sein de ma machine, histoire de pas se retaper de mise à jour sur du code qui finira ses jours sur un serveur PHP 5.6 Les deux nominés sont Docker et Vagrant . Ce sont deux environnement de virtualisation d'application qui s'utilisent via des ports dédiés au lieu du bon vieux 80 qui restera sur l'Apache de ma machine. La différence notable entre les deux c'est que docker est sensiblement plus léger et réactif que Vagrant mais qu'il ne peut faire tourner que des OS similaire à son host (le serveur des VM). En gros si vous êtes sur Linux vous pouvez émuler plus ou moins tous les Linux et si vous êtes sous Windows vous "devriez" pouvoir en faire de même avec les OS Windows. Par contre impossible de faire tourner une Ubuntu sur un Windows ( enfin pour le moment ) Pour la production, aucun doute Docker et be...

Optimisation des VM Debian dans un cluster VmWare ESX

Image
Celle là, elle m'a tellement bien occupé que je me dois de vous la raconter... TL;DR: If you're using a Linux ou Windows VmWare VM on an ESX (clustered or not) with a dedicated Disk Bay, and you experiment slow disk access and speed, you MUST set 1 CPU with 4 Cores in your VM.  Depuis quelques mois, on nous remonte un problème de performance sur la plateforme web que nous avons créé. Cette plateforme se compose de plusieurs VM Debian sous un cluster VmWare ESX. Comme un gros malin j'ai oublié il y a 4 ans de coller les datas MySQL sur la partition de données d'un des serveurs web mutualisé. 4 ans plus tard, la partition de 10go est pleine quand MySQL n'a plus assez de mémoire et doit swapper. 1ere correction augmenter la taille de la mémoire. On est passé de 4Go (lol) a 16Go. J'ai ensuite passé une petite journée à optimiser les tables critiques et les paramètres du serveur à l'aide du bien utile " mysqltuner " (apt-get install mysqltuner)....

IPv6 et lenteurs de débit en FTP sur un fichier .rar

Encore une bonne blague... TR;DL: If you don't use IPv6 disable it ! Notre serveur FTP principal a eu un comportement extrêmement étrange ces derniers temps. Un de mes collègues m'a remonté un problème sur le téléchargement d'un fichier de 200Mo qui prenait un temps infini. Incroyable puisque le fichier juste à coté se faisait en quelques minutes à un débit avoisinant les 1,5 Mo/s La seule spécificité du fichier lent, c'était son extension en .rar La grosse blague et qu'en utilisant un protocole crypté (FTPS en TLS) plus de soucis sur le fichier. Seul le téléchargement sans la couche TLS (donc en clair) posait d’atroces problèmes. Evidement on a regardé du côté des débits mais en se connectant sur soit même les débits étaient parfaits, mais même au sein de la DMZ, c'est à dire sans routage, l'improbable se produisait. Ce n'est qu'au bout de longues recherches et en utilisant monitorix que j'ai fini par trouver... L'IPv6 était a...

RFID RC522 on Raspberry PI with NodeJS

Image
It's kind of hard to succeed in this. Most of tutorials are uncomplete. Here is my compilation. Everything is done on the PI 0) Install node wget http://node-arm.herokuapp.com/node_latest_armhf.deb sudo dpkg -i node_latest_armhf.deb 1) Update your PI:  sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo rpi-update sudo apt-get clean 2) Configure the SPI group: sudo groupadd -f --system spi sudo adduser pi spi # assuming the pi account is the one that will access SPI sudo nano /etc/udev/rules.d/90-spi.rules Then add this to the file : SUBSYSTEM=="spidev", GROUP="spi" 3) Configure the PI: sudo apt-get install build-essential sudo npm install -g node-gyp sudo raspi-config   under Advanced Options - enable Device Tree   under Advanced Options - disable SPI sudo reboot 4) Compile the spi_bcm2835 driver: wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.46.tar.gz tar -zxf bcm2835-1.46.tar.gz cd bcm283...

Angular 2.0 : Retour en grâce ?

J'ai très (très) longtemps fustigé Angular 1 et c'était encore le cas récement.  Je reste d'ailleurs persuadé que la version 1 d'Angular a été faite par des javaïstes refoulés qui souhaitaient torturer des gentils développeurs JS. Il y a plus d'un an, j'ai tenté pleins de framework. J'ai vite délaissé Ember parce qu'il reprenait trop de concept de Angular1 et qu'il fallait au moins 3 fichiers ou fonctions (à l'époque) pour coller un "Hello World" dans une div. Et les promesses étaient encore une vision d'esprit seulement accessibles que via Q.JS... React me semblait trop déconnecté du DOM et de ce que j'ai pu en lire, pas mal de monde pignait sur des problèmes de refresh de certains éléments dans un DOM complexe. De quoi pas donner envie... J'ai biensûr regardé du coté de Backbone mais là c'était quand même beaucoup de boulot pour arriver à la fluidité de code que je souhaitais obtenir. Y'a même eu Knockout (...

Quelques pas vers le management 3.0

Image
Chef de projet chez NCI ça doit essayer de savoir un peu tout faire. Développement, Veille Techno, Commercial, Management, Gestion de projet, etc. Dans la série Management, voici mon talk fait lors des rencontres interactives organisées par Laurent Demontiers . J'y donne quelques tuyaux pour gérer une petite équipe sans se prendre la tête à l'aide de méthodes Agiles issues KaiZen et du Management 3.0 (Jurgen Appelo).

Si tu veux mon avis sur Drupal

Image
"Quand on me demande mon avis sur Drupal"

AngularJS c'est d'la merde

J'ai jamais (jamais jamais) aimé AngularJS. Trop compliqué et du coup je ne l'ai pas utilisé pour mon taf pro. La dette technique engendrée est colossale et la complexité est trop importante à mon avis sur des projets qui dépassent le simple todo. J'ai le même avis sur Ember... Désolé pour les filles qui codent encore en Ruby, et puis de toute façon je suis allergique aux hamsters et aux cochons d'inde. Aller, un GIST de l'ami @porteneuve pour étayer ce propos : https://gist.github.com/tdd/5ba48ba5a2a179f2d0fa Donc fait plutôt ton front avec : -  http://vuejs.org/  (Si tu aimes quand c'est simple mais super pratique) -  http://backbonejs.org/ (Si tu aimes quand même quand c'est un peu compliqué) - https://facebook.github.io/react/ (Si tu veux que ça torche sans trop tenter de comprendre pourquoi) Note : Cet avis est susceptible d’évoluer dans le temps ;)

Evitez les conflits inutiles sous GIT

Image
Comme moi vous n'aimez pas perdre du temps, comme moi vous utilisez GIT et vous développez avec des outils comme SASS, Gulp ou Webpack qui vous facilitent grandement la vie. Le problème quand on travaille à plusieurs sur GIT c'est de gérer les conflits lors d'un git pull. Le plus horripilant c'est quand ça se produit sur des fichiers que vous générez automatiquement à l'aide de Gulp par exemple. - Les fichiers css compilés à partir de SASS - Les fichiers js uglifiés (j'aime ce mot !) - Les .map générés à partir des javascript ou css. Ces fichiers là on s'en fout quand même pas mal puisque notre outil (Gulp en l'occurence) les régénérera pour nous automatiquement... On ne peux cependant pas les ajouter au . gitignore  car sinon on ne pourra plus déployer le projet avec une simple copie de fichiers. Heureusement il existe un fichier de configuration git peu connu qui se nomme ".gitattributes". Comme le ".gitignore" vous deve...

Un avis sur RecalBox

Image
Cette semaine j'ai reçu mon Raspberry Pi² . Si je l'ai commandé c'est principalement pour installer la distribution RecalBox dessus, après avoir lu l'article de Korben à ce sujet. Elle a pleins de choses géniales cette distrib, mais si vous voulez vraiment jouer alors il va falloir attendre encore un peu. En effet la version actuelle (au 08/03/2015) n'est pas totalement utilisable par les novices. Quand je dis qu'elle a pour elle pas mal de choses : - Elle s'intalle facilement (NOOBS) - Les jeux sont fluides ! - Elle se configure simplement (dès qu'on a compris que ta touche 'S' sert à valider !). La configuration des manettes est particulièrement bien faite, c'est un vrai plaisir. - Elle a fait le buzz et donc risque de devenir rapidement populaire. - Elle est Made In France et le petit gars qui s'en occupe est très réactif.   Bon après, forcément,il y a pas mal de choses qui ne fonctionnent pas bien pour le moment : - La ...

Transferer des données encodées en ZLIB via Socket.IO entre PHP et NodeJS

Je suis en train de réaliser une plateforme d'impression dans le cloud pour ma boite. Pour éviter de saturer la bande passante j'ai pris l'initiative de compresser les flux d'impressions avec la librairie ZLIB qui est prévue pour le cross-platform. Quand on l'utilise via les sockets entre PHP et NodeJS ce n'est pas une partie de plaisir si on passe à coté d'un petit truc bien vicieux : Coté PHP : il faut encoder en base64 le flux compressé, ce qui donne : $printData = file_get_contents(__DIR__."/monfichier.prn"); $printData = zlib_encode($printData, ZLIB_ENCODING_DEFLATE); $printData = base64_encode($printData); $printData peut ensuite être envoyé via un WebSocket Elephant.IO. Apparté : Si vous souhaitez utiliser des certificats cryptés pour vos tests de dev avec Elephant.IO, ça ne marche plus dans la version 1.X. J'ai fait une pull-request  à Wissembly pour améliorer ça. Coté NodeJS : Il faut "require"...

Comment j'ai fait... une borne d'arcade

Image
Depuis tout petit j'avais toujours rêvé d'avoir une borne d'arcade. Quand j'étais ado, j'ai découvert les émulateurs et j'ai pu retrouver les jeux de mon enfance. Il y a quelques années, j'ai craqué et j'ai fabriqué ma borne d'arcade. Pour les côtés, j'ai pris des dalles de plancher à 7€ Pour la découpe, après un plan rapide, j'ai découpé les côtés. sur un côté j'ai tracé le placement des diverses planches de la face et j'ai tenté de retrouver un look rétro années 80 En me renseignant sur divers forums de bornes d'arcade faite maison, la plupart des gens étaient unanimes pour mettre des roulettes car le bois une fois monté pèse une tonne. Conseil très judicieux que je vous invite à suivre ! J'ai fait découper les planches de face de la borne et je les ai montées avec des petites équerres. J'ai renforcé la structure par une planche sur le dos et une planche du milieu. Une fois de...