starter-kit-dirduino-uno.jpg

Je viens de faire la découverte de DIRobots, une boutique en ligne française proposant un kit Arduino complet à un prix intéressant : 39€ au lieu de 52€

Le kit est composé de 197 éléments et d'un Arduino Uno R3 qui vous permettront de réaliser de nombreux montages différents :

  • 1x Carte DIRduino UNO R3
  • 1x Afficheur LCD 2 lignes 16 caractères
  • 1x Télécommande infrarouge
  • 1x câble USB
  • 1x Platine d'expérimentation sans soudure (breadboard) 830 points
  • 65x Câbles Mâle/Mâle
  • 20x Résistances 220 Ohms
  • 20x Résistances 1 kOhms
  • 20x Résistances 4.7 kOhms
  • 20x Résistances 10 kOhms
  • 1x LED RGB (cathode commune)
  • 10x LEDs rouges 5mm
  • 10x LEDs vertes 5mm
  • 10x LEDs jaunes 5mm
  • 1x Récepteur infrarouge
  • 2x Mini boutons poussoirs
  • 1x Capteur de lumière ambiante (photorésistance)
  • 1x Capteur d'inclinaison
  • 1x Capteur de température LM35
  • 1x Double pont-H (L293D)
  • 1x Buzzer
  • 1x Hélice de ventilateur
  • 1x Moteur
  • 3x Potentiomètres 10 kOhm
  • 1x Mini servomoteur 9g
  • 1x Support 6 piles AA avec un jack de connexion

Ce kit est fournit avec un 15 tutoriaux que vous pouvez télécharger librement sur la page Web de DIRobots.

  • Tutoriel n°1 : Réaliser une première expérimentation avec la carte Arduino. Celle-ci consiste à faire clignoter une LED.
  • Tutoriel n°2 : Réaliser un programme permettant de faire clignoter une LED pour signaler un SOS en morse.
  • Tutoriel n°3 : Réaliser un feu de circulation avec un bouton permettant aux piétons de demander le passage du feu au rouge pour leur donner la possibilité de passer en toute sécurité.
  • Tutoriel n°4 : Utiliser la génération d’un signal PWM pour faire varier l’intensité lumineuse d’une LED
  • Tutoriel n°5 : Utiliser la génération de trois signaux PWM pour illuminer une LED RVB (LED multicolore contrôlable en rouge, vert, bleu) avec des couleurs variées.
  • Tutoriel n°6 : Utiliser un buzzer pour générer le son d’une alarme.
  • Tutoriel n°7 : Utiliser le composant LM35 pour effectuer une mesure de température. Une alarme sonore se déclenche si cette température excède un certain seuil.
  • Tutoriel n°8 :Utiliser un capteur d'inclinaison pour détecter le basculement de la platine d’expérimentation.
  • Tutoriel n°9 : Simuler un allumage automatique de lumière en fonction de la luminosité ambiante.
  • Tutoriel n°10 : Effectuer un premier contrôle d’un servomoteur.
  • Tutoriel n°11 : Contrôler le positionnement d’un servomoteur avec un potentiomètre
  • Tutoriel n°12 : Contrôler une LED RVB au moyen de 3 potentiomètres.
  • Tutoriel n°13 : Contrôler un moteur en vitesse en fonction d’un potentiomètre. La puissance est gérée par le composant L293D
  • Tutoriel n°14 : Allumer et éteindre une LED au moyen d’une télécommande infrarouge.
  • Tutoriel n°15 : Afficher “Hello World” sur un afficheur 2 lignes -16 caractères

J'ai testé le kit, le matériel fourni est globalement de bonne qualité, la platine d'expérimentation est large et avec une bonne finition contrairement à la majorité des kits que l'on peut trouver sur le marché. L'ensemble de la documentation est en français et les plans de montage sont en vectoriel, l'utilisation du zoom permet d'éviter des erreurs de montage ;-)

Le kit est livré dans une boite en plastique de rangement vous permettant de classer tous les composants sans risque de perte ou de casse. Les résistances sont annotées avec leur capacité pour éviter les inversions.

starter-kit-dirduino-uno-box.jpg

Si vous souhaitez apprendre à utiliser l'Arduino Uno, ce starter kit offre un bon compromis en terme de qualité / prix. Il peut être commandé en ligne sur le site DIRobots.

Pour l'ensemble des lecteurs de mon blog, le code GK_6PC vous permettra d'obtenir 6% de réduction sur votre commande en ligne jusqu'au 30 avril 2016.

Happy hacking !

pingendo-header.png

Vous êtes à la recherche d'un outil gratuit pour maquetter rapidement des sites Web basés sur le framework Bootstrap ?

Voici Pingendo, un fabuleux outil gratuit permettant de créer d'incroyables portails Web Bootstrap en quelques minutes.

L'outil est à la fois disponible sous forme d'application native pour Windows, Linux et Mac mais aussi sous la forme d'un portail Web dans le cadre de la V4 en version Alfa intégrant Bootstrap V4.

pingendo-screenshot.jpg

Pingendo vous permet à la fois d'ajouter des composants rapidement via l'utilisation du glisser/déposer, il offre aussi un certain nombre d'accélérateurs via l'onglet "section" disposant de sections de page complètes. La version 3 de l'outil dispose d'un éditeur LESS / CSS permettant d'étendre la feuille de style de Bootstrap, la version 4 de l'outil intègre quant à elle SASS en remplacement de LESS.

Il faudra attendre encore quelques jours, voire quelques semaines pour pouvoir télécharger la version 4 de Pingendo utilisable en mode déconnecté sur PC. En attendant, vous pouvez vous amuser à créer un site Web rapidement via la version 3 de Pingendo accessible en libre téléchargement sur le site Web de Pingendo.

De nombreuses fonctionnalités planifiées ou en cours d'implémentation peuvent être suivies sur la page Trello de Pingendo :

  • Intégration de plugins
  • Support natif d'AngularJS
  • Intégration de Github
  • Intégration de thèmes gratuits
  • ...

Tout cela est très prometteur, vous retrouverez plus d'informations sur le site Web Pingendo.

Bon téléchargement !

stackshare_logo.png

Vous vous demandez comment les développeurs ont fait pour que la plateforme 500px puisse délivrer 500To de photos haute résolution et comment Wix supporte 60 Millions de clients ? La plateforme Stackshare.io vous dévoile toutes les stacks logicielles utilisées sur le Web.

Le concept de la plateforme est simple, c'est en quelque sorte un site de recettes dans lequel les frameworks et logiciels sont des ingrédients et les stacks sont des plats cuisinés. Tout le monde peut y partager sa stack logicielle préférée et y décrire son usage, l'ajout de nouveaux frameworks et logiciels sont quant à eux soumis à validation.

stackshare-screenshot.jpg

On y découvre une multitude d'idées intéressantes en navigant dans l'onglet "Stack", de grands groupes comme Airbnb, Dropbox, Pinterest, Stackovervlow y dévoilent les composants qui permettent à leur plateforme de fonctionner en production. Tout cela est très enrichissant et permet de découvrir de nouvelles solutions assez peu connues sur le marché européen.

J'ai profité de cette plateforme pour détailler la stack logicielle utilisée par mon blog : http://stackshare.io/ltoinel/geeek-org

L'outil Dotclear que j'utilise pour bloguer est en cours de validation par Stackshare.io et devrait probablement être visible courant de semaine prochaine.

Faites de bonnes trouvailles sur Stackshare !

TeckNet_PowerZen.jpg

Vous avez probablement vu de nombreux projets d'onduleurs exotiques pour Raspberry Pi sur Internet. Malheureusement, ils sont généralement commercialisés très cher et ne sont pas simples à obtenir en France.

Je suis tombé sur quelques sites indiquant qu'il était possible d'utiliser un simple chargeur USB portable comme onduleur pour Rapsberry Pi. Cette vidéo détaille le principe de fonctionnement :

La batterie ne pouvant pas communiquer d'information au Rapsberry Pi pour indiquer que le courant s'est coupé, le Raspberry Pi utilise l'état de sa connexion réseau pour identifier une perte éventuelle de courant. C'est simple et efficace !

En cas de coupure de courant, votre Rapsberry Pi peut fonctionner de manière autonome quelques heures, voire plus de 24h en fonction du nombre de périphériques USB connectés.

La batterie qui ressort souvent des tests trouvés ici et est la TeckNetPowerZen 9000mAh qui est commercialisée à moins de 20€ et qui offre de très bonnes performances par rapport aux besoins en énergie du Raspberry Pi. Il faut être vigilant, car certaines batteries ne sont pas capable de passer d'un mode charge à un mode décharge de manière continue sans coupure de quelques secondes.

Il faudra bien penser à remplacer le dispositif au bout de quelques années, en fonction du nombre de charges et de recharges que celui-ci aura subies. D'ici là, cet investissement de 20€ protégera votre Raspberry Pi des coupures de courant. Accompagné d'un modem 3G, votre Raspberry Pi pourra même vous transmettre un SMS pour vous prévenir de la coupure de courant à votre domicile.

nerf_strongarm_elite_blaster.jpg

Vous chercher à obtenir les meilleurs performances avec votre Nerf Elite Strongarm ?

Voici une vidéo complète qui synthétise l'ensemble des astuces possibles pour améliorer les performances de son Nerf Elite Strongarm. Les modifications effectuées dans cette vidéo permettre au Nerf d'envoyer des projectiles à plus de 30 mètres.

Le ressort présenté dans cette vidéo peut être trouvé sur Amazon au prix de 10,90€

Attention, les modifications réalisées transforment pour le coup le Nerf en réel arme ...

wring-screenshot.png

J'ai découvert, grâce à Korben, un outil en ligne de commande très puissant pour extraire des contenus de pages Web .

Cet outil est développé en Javascript et se prénomme Wring. Il s'installe de la manière suivante si vous avez déjà NodeJS d'installé sur votre PC :

$ npm install --global wring

Son usage est très simple, pour extraire les numéros gagnants du dernier tirage de l'Euromillions sans aller sur le site Web de la FDJ, il vous suffira de taper la commande suivante :

// Retourne les  5 numéros du tirage
wring text "https://www.fdj.fr/jeux/jeux-de-tirage/euromillions/resultats" ".euro_num"

En enrobant un peu, voici un petit script qui extraira la date du tirage et l'ensemble des numéros sortis, étoiles comprises :

#!/bin/bash

URL="https://www.fdj.fr/jeux/jeux-de-tirage/euromillions/resultats"
wring text $URL .dateTirage
echo "-----------------"
wring text $URL .euro_num
echo "-----------------"
wring text $URL .euro_num_c

Pour générer un fichier CSV contenant l'ensemble des résultats de l'Euromillions par date, il vous suffira d'inscrire le script suivant dans un Cron :

#!/bin/bash

URL="https://www.fdj.fr/jeux/jeux-de-tirage/euromillions/resultats"
DATE=`wring text $URL .dateTirage`
NUMS=`wring text $URL .euro_num|tr '\n' ';'`
STARS=`wring text $URL .euro_num_c|tr '\n' ';'`

echo "$DATE;$NUMS;$STARS" > resultats.csv

Vous pouvez trouver de nombreux autres usages plus utiles à Wring notamment via les options eval / html et shot fournies par cet outil.

L'essayer, c'est l'adopter !

monptitvoisinage-logo.png

Vous souhaitez découvrir votre voisinage et enrichir votre réseau de connaissances ? J'ai très récemment découvert MonPtitVoisinage.com, un site Web proposant de mettre en relation voisins, services, associations ...

L'inscription se fait en deux clics, vous pouvez découvrir sur ce portail Web, les actualités de votre quartier, les associations qui y sont présentes, la liste de vos voisins qui sont inscrits et aussi la liste des services et objets que vos voisins partagent. Bref, c'est une mine d'or, d'autant plus que le site commence à avoir de plus en plus d'inscrits. Cela faisait longtemps que j'attendais un site de ce style avec une interface utilisateur agréable, bravo aux 12 personnes de l'équipe !

Le projet est réalisé par des Bretons de Rennes nourris à la galette saucisse, le site a été créé en 2014 et a été soutenu par la Maïf suite à une levée de fond de 1,7 M€. MonPtitVoisinage.com a de beaux jours devant si des partenaires commerciaux s'intéressent à leur projet.

N'hésitez pas à vous inscrire sur leur plateforme pour découvrir les services proposés, c'est gratuit et leurs serveurs sont localisés en France. Si le projet vous séduit, vous avez la possibilité de commander votre kit ambassadeur pour partager l'information à vos voisins et faire grossir votre petit voisinage.

Enfin, si vous êtes développeur, Monptitvoisinage expose une API "Sharing City" permettant d’interagir avec les données du site à partir d'applications partenaires. Différents cas d'usage sont très bien présentés dans la documentation de présentation des API.

monptitvoisinage-screenshot.jpg

bulletin_euromillions.gif

Vous cherchez à réaliser des statistiques sur les numéros sortis à l'Euromillions ?

Voici un dump SQL des 879 tirages Euromillions que vous pourrez facilement importer dans une base MySQL.

Pour identifier les numéros qui sont les moins tirés au sort, voici un petit exemple de script PHP qui vous permettra de classer les numéros de l'Euromillions par nombre croissant de tirages.

<?php

$hostname = "localhost";
$database = "euromillion";
$username = "monlogin";
$password = "monpass";

// Connexion à la base de données
try {
    $dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
} catch(PDOException $e) {
    echo $e->getMessage();
}

// Prepare Statement
$stmt = $dbh->prepare("SELECT count(*) as occurs FROM resultats where n1=:number or n2=:number or n3=:number or n4=:number or n5=:number");
$numbers = array(); 

// Pour les chiffres de 0 à 50
for ($i=1; $i<=50; $i++){
    $stmt->bindParam(':number', $i);
    $stmt->execute();
    $data = $stmt->fetch();
    $numbers[$i] = $data["occurs"];
}

// On ordone la liste par valeur
asort($numbers);

// On affiche pour chaque numéro, les occurrences 
foreach($numbers as $number => $occurs){
    echo $number. " => " .$occurs."<br/>";
}

Vous pouvez aussi jouer avec le logiciel RapidMiner pour fabriquer de magnifiques graphes que seul vous-même saurez exploiter.

Si jamais ce script fait de vous un millionnaire, n'oubliez pas d'avoir une petite pensée pour Geeek ;-)

virus-informatique-couv.jpg

Aussi incroyable que cela puisse paraître, le Virus Informatique fait son grand retour en kiosque après 10 années d'absence.

Pour les nostalgiques comme moi, vous allez redécouvrir ce magazine d'un autre temps qui n'a pas vraiment changé finalement. Seule la page de vente à distance d'OS/2 Warp et de Turbo-Forth ont disparu du numéro 27 mais ils sont toujours en disponibles en vente en ligne depuis le site Internet acbm ;-)

Pour ceux et celles qui n'ont jamais connu cette époque et qui souhaitent découvrir ce journal, certains articles du numéro 27 peuvent être lus directement en ligne depuis le site ACBM.

On y retrouve du bidouillage, quelques listings de code d'un autre monde et des illustrations humoristiques dont les Bellaminettes de Philippe Bellamy qui ont participé au succès du journal à l'époque. Le journal n'a pas suivi l'inflation des dernières années et est en vente au prix de 2 euros seulement.

Vous pouvez désormais suivre les news du Virus Informatique sur Twitter via le compte ACBM_COM. Si l'idée de rédiger des articles vous vient à l'esprit, vous pouvez envoyer vos articles à la rédaction après avoir suivi les consignes de rédaction.

Bonne chance au Virus pour son grand retour !

securite-vpn-freebox.png

Vous ne le savez probablement pas, mais il est très simple de protéger son anonymat lorsque vous utilisez un hotspot Wifi public depuis votre smartphone ou tablette.

Pour cela, il suffit d'activer l'option VPN sur votre Freebox en vous connectant sur le portail d'administration de votre Freebox V6 : http://freebox

Et en activant la configuration PPTP disponible dans "Serveur VPN -> PPTP" :

vpn-pptp.png

Il vous suffira ensuite de déclarer un utilisateur et son mot de passe depuis l'item du menu "utilisateurs".

Depuis votre tablette ou smartphone, la configuration d'un VPN se fait très simplement via le menu "Réglages".

  • Sur iOS : "Réglages -> Général -> VPN".
  • Sur Android : "Settings -> Wireless & Networks -> VPN".

Les champs à renseigner sont :

  • Type : PPTP
  • L'IP publique de votre freebox dans la zone serveur (que vous pouvez récupérer en vous rendant sur http://checkip.dyndns.org).
  • Le login et le mot de passe de l'utilisateur créé dans les zones "compte" et "mot de passe".

Si vous souhaitez aller plus loin sur iOS, vous pouvez même tester le mode IKEv2 disponible sur iOS et sur les derniers firmware de la Freebox V6.

Vous pouvez aussi créer un profil de configuration pour iOS via l'application "Apple Configurator". permettant de provisionner automatiquement la configuration du VPN sur le ou les périphériques mobiles de votre choix.

Le VPN configuré assurera toute la sécurité des échanges réseau entre votre terminal mobile et Internet dès lors que vous passez par un hotspot Wifi public non chiffré. Tout le flux réseau de votre téléphone sera transmis jusqu'à votre Freebox de manière chiffrée et ressortira ensuite vers Internet en toute discrétion.

Nous avons de plus en plus d'objets connectés, la question est comment s'assurer de leur bon fonctionnement ? Voici un exemple de flow simple mis en oeuvre sur Node-Red pour vérifier la disponibilité de ses objets connectés et être immédiatement averti en cas de problème.

J'utilise pour cela le nœud "Ping" disponible sur le portail de Node-Red. Ce nœud peut s'installer très rapidement au travers de la commande suivante:

$ npm install node-red-node-ping

Il est aussi possible d'utiliser le plugin Ping Advanced, plus riche en fonctionnalités, mais mis à jour il y a plus d'un an.

node-red-flow-ping.png

  • Première étape, le serveur ping l'ensemble des objets et le DNS de Google pour s'assurer de la connectivité à Internet.
  • Seconde étape, si un ping échoue et retourne "false", je construis un SMS et un email que j'envoie dans une limite de 5 messages par heure et 10 par jour.

Pour l'envoi du SMS, j'utilise le flow Node-Red précédemment décrit sur ce blog.

Voici le flow en détail pouvant être directement importé dans Node-Red via la fonction d'import disponible dans le menu de l'application :

[{"id":"9eb4b49c.614b48","type":"ping","name":"Check Internet","host":"8.8.8.8","timer":"60","x":114,"y":74,"z":"38ba78b3.c74588","wires":[["12de3311.ed21cd"]]},{"id":"ebb458eb.144ba8","type":"ping","name":"Check Karotz","host":"192.168.1.6","timer":"60","x":111,"y":118,"z":"38ba78b3.c74588","wires":[["12de3311.ed21cd"]]},{"id":"59174860.a6e8b8","type":"ping","name":"Check Arduino","host":"192.168.1.4","timer":"60","x":113,"y":164,"z":"38ba78b3.c74588","wires":[["12de3311.ed21cd"]]},{"id":"46b5d3a9.b94a2c","type":"ping","name":"Check Switch","host":"192.168.1.1","timer":"60","x":111,"y":210,"z":"38ba78b3.c74588","wires":[["12de3311.ed21cd"]]},{"id":"9b7fa33e.64806","type":"ping","name":"Check Freebox","host":"192.168.1.254","timer":"60","x":117,"y":254,"z":"38ba78b3.c74588","wires":[["12de3311.ed21cd"]]},{"id":"12de3311.ed21cd","type":"switch","name":"","property":"payload","rules":[{"t":"false"}],"checkall":"true","outputs":1,"x":402,"y":150,"z":"38ba78b3.c74588","wires":[["feeab731.011548"]]},{"id":"feeab731.011548","type":"delay","name":"","pauseType":"rate","timeout":"1","timeoutUnits":"hours","rate":"5","rateUnits":"hour","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":572,"y":151,"z":"38ba78b3.c74588","wires":[["95c19115.6a3e7"]]},{"id":"95c19115.6a3e7","type":"delay","name":"","pauseType":"rate","timeout":"4","timeoutUnits":"seconds","rate":"10","rateUnits":"day","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":737,"y":150,"z":"38ba78b3.c74588","wires":[["17b9866d.e8467a"]]},{"id":"6aa677bb.955988","type":"http request","name":"SMS Alert Ludovic","method":"GET","ret":"txt","url":"http://localhost:8080/api/sendsms?phone=0646340951&msg={{{payload}}}","x":1168,"y":157,"z":"38ba78b3.c74588","wires":[[]]},{"id":"17b9866d.e8467a","type":"template","name":"Ping message","field":"payload","format":"handlebars","template":"Serveur {{topic}} indisponible ! ","x":919,"y":157,"z":"38ba78b3.c74588","wires":[["6aa677bb.955988","da3155a.f25cea8"]]},{"id":"da3155a.f25cea8","type":"e-mail","server":"smtp.gmail.com","port":"465","name":"ltoinel@free.fr;sterenn.lenir@gmail.com","dname":"Email Alert","x":1149,"y":209,"z":"38ba78b3.c74588","wires":[]},{"id":"7490e004.8b6f2","type":"comment","name":"Ping toutes les 60 secondes","info":"","x":157,"y":30,"z":"38ba78b3.c74588","wires":[]},{"id":"9740b72f.68bf48","type":"comment","name":"Si KO","info":"","x":401,"y":98,"z":"38ba78b3.c74588","wires":[]},{"id":"cf2d3049.30d2d","type":"comment","name":"Anti-Spam","info":"","x":559,"y":95,"z":"38ba78b3.c74588","wires":[]},{"id":"e289635a.1d76a","type":"comment","name":"Construction du message","info":"","x":923,"y":97,"z":"38ba78b3.c74588","wires":[]},{"id":"ab74252b.548bd8","type":"comment","name":"Transmission","info":"","x":1150,"y":99,"z":"38ba78b3.c74588","wires":[]}]

Ce flow vous permettra de vous assurer que vos objets connectés sont correctement allumés et disponibles, en cas de problème vous serez immédiatement averti par SMS et email.

modal-souscription.jpg

Vous cherchez à fidéliser vos nouveaux visiteurs lorsqu'ils arrivent en bas de page de votre site lors de leur première visite ? Voici en quelques lignes de code comment fabriquer un Pop-In intelligent qui vous permettra de transformer vos nouveaux visiteurs en lecteurs et évitera de les perdre définitivement.

La première étape consiste à construire le Pop-In grâce aux "modal box" proposées par la librairie Bootstrap. Placez le code source suivant de préférence en bas de vos pages Web et complétez le contenu du corps de la Pop-In avec les liens vers votre flux RSS et vos réseaux sociaux.

<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="subscribeModal" id="subscribeModal">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h3 class="modal-title text-center">Rejoignez ma communauté</h3>
      </div>
      <div class="modal-body">

	 <div class="row">

	    <!-- Placez ici les liens vers votre flux RSS ou vos pages sociales -->

        </div>

      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

La seconde étape consiste à déclencher l'affichage de la Pop-In lorsque les nouveaux visiteurs arriveront pour la première fois en bas d'une des pages Web de votre site Internet. Pour cela, nous allons détecter les actions de scroll sur le navigateur pour identifier le moment où la personne est arrivée en bas d'une page Web.

$(window).on("scroll", function() {

	var scrollHeight = $(document).height();
	var scrollPosition = $(window).height() + $(window).scrollTop();

        // Si nous sommes en bas de la page Web
	if ((scrollHeight - scrollPosition) / scrollHeight === 0) {
	
           // Si le visiteur n'a pas encore de cookie
	   if ($.cookie('modal_shown') == null){

               // On positionne un cookie valable 365 jours
	       $.cookie('modal_shown', 'yes', { expires: 365, path: '/' });

               // On affiche la Pop-In
               $('#subscribeModal').modal({
                        show: true
               });
	   }
	}
    });

Nous positionnons un cookie d'une durée de 1 an qui permettra aux visiteurs réguliers de ne pas être pollués par le Pop-In. Pour pouvoir faire fonctionner la fonction $.cookie, vous devrez préalablement avoir chargé le module JQuery Cookie dans votre page.

Vous voilà un expert des Pop-In sociales, à vous de jouer !