Devfest 2014 devfest-2014-vue.jpg

Cette année, le GDG Nantais a vu les choses en grand en regroupant plus de 500 développeurs passionnés au sein d'un seul endroit, le DevFest. Avec 25 conférences sur des thématiques autour du Web, du mobile et du Cloud, le DevFest 2014 fut très riche en contenu.

J'ai profité de cette journée pour découvrir les sujets que je souhaitai découvrir. La richesse des sujets m'a obligé de faire des choix pour sur certaines conférences.

Au programme de ma journée :

  • Introduction sur Docker
  • Modulariser son application AngularJS avec Browserify
  • Développer pour Android TV
  • Introduction à Google Wear
  • Présentation de Data Flow et de Flume Java
  • Présentation de JHipster, une solution pour générer des portails de Hipster avec un backend Java

Un grand merci aux organisateurs du DevFest pour l'invitation à l'événement. Le DevFest m'a aussi permis de recroiser deux blogueurs influents de la toile : Ulrich de Frandroid et Yohann de Blog Nouvelles technologies.

Introduction sur Docker

devfest-2014-docker.jpg

David Gageot a réalisé une présentation d'introduction sur Docker. La présentation a permis d'appréhender cet outil de virtualisation basé sur le kernel Linux et permettant aux développeurs de déployer rapidement leurs applications sur des environnements Linux spécifiques.

En terme de performance, Docker est très performant, il se repose directement sur le kernel Linux. Les nombreuses images de Docker disponibles font de Docker un outil intéressant sur les phases de développement / déploiement. Au lieu de déployer un applicatif, l'idée de docker est de déployer une image Docker en production. Permettant ainsi d'avoir dès la phase de développement une cible de production et de simplifier les phases de mise en production de l'applicatif.

Si vous ne connaissez par encore Docker, je vous conseille vivement de découvrir cet outil au travers de la vidéo ci-dessous de David Gageot.

Modulariser son application AngularJS avec Browserify

devfest-2014-angular.jpg

Antoine Richard a fait une belle présentation sur l'adaptation d'AngularJS aux méthodes de développement NodeJS (modules, npm ...). Il préconise pour modulariser au maximum les applications AngularJS, d'utiliser les mêmes règles de développement NodeJS et d'utiliser l'outil Browserify pour rendre les scripts JS développés compatibles sur navigateur Web.

Au final, cela permet de simplifier le code développé. Mais cela permet surtout de tester l'ensemble du code développé via NodeJS sans passer par une solution comme Karma par exemple.

Développer pour Android TV

Xavier Hallade nous a présenté comment adapter une application mobile Android pour l'Android TV. Xavier a profité de la conférence pour faire une belle présentation d'Android TV Nexus commercialisée uniquement au Canada et aux États-Unis pour le moment.

Le store de l'Android TV est ouvert depuis 5 jours, contrairement au Google Play, les applications publiées sur l'Android TV passent par une revue interne de Google. Seules les applications de qualité sont validées et publiées sur le store de l'Android TV. Sinon, en terme d'adaptations du code, il est très simple d'adapter une application existante à l'Android TV. 90% des adaptations se font directement dans le fichier Manifest de l'application.

devfes-2014-androidtv.jpg

devfest-androidtv2.jpg

Introduction à Google Wear

Cyril Mottier, expert Android et développeur mobile au sein de Capitaine Train a partagé son retour d'expérience sur le développement d'applications mobiles sur les montres Android.

capitaine-train-android-wear.png

Les 3 choses à retenir des Android Wear :

  • La conception ergonomique d'une application Android Wear est très importante, elle doit indiquer la bonne information au bon moment dans un minimum d'espace.
  • Le développement sur Android Wear est identique au développement d'une application classique Android à l'exception de certains packages qui ne sont pas disponibles.
  • Les applications Android Wear doivent être packagées via Gradle au sein d'une application Android classique pour pouvoir être déployée via le Google Play.

En cible le SDK Android Wear et Google Glass devraient être similaires.

Présentation de Data Flow et de Flume Java

devfest-2014-dataflow.jpg

Martin Görner a partagé la vision de Google sur l’évolution du Map & Reduce proposée autour de la solution Dataflow.

Suite à la diffusion du papier blanc de Google sur le Map & Reduce en 2004, la majorité des solutions Big Data du marché actuel se reposent sur ce paradigme implémenté par la solution Apache Hadoop. Martin Görner a présenté la manière dont on peut améliorer les traitements Map & Reduce via la solution Dataflow. Cette solution permet au travers d'un pipeline virtuel de transformer et de traiter de la donnée en grande échelle. Dataflow ressemble dans la philosophie à l'outil Pig, il permet cependant de réaliser des traitements en temps réel.

Une implémentation alpha de Flume Java devrait voir le jour d'ici quelques semaines / mois. Il est probable que Google propose une offre Dataflow sur son GCloud.

Cette solution, une fois stable, pourrait remplacer l'implémentation Map & Reduce Hadoop actuelle connue de tous et utilisée sur une majorité de solutions Big Data.

Présentation de JHipster

devfest-2014-jhipster.jpg

Julien Dubois a présenté son outil de génération de portail Java / AngularJS : JHipster. Traduisez : Java for Hipster ou comment permettre à un Hipster qui développe des portails avec des technologies "Hype" d'utiliser un backend Java généré pour ses besoins.

JHipster possède aujourd'hui plus de 1000 étoiles sur Github et plus de 230 fork. Grâce à Yeoman, JHipster permet de générer des portails Web AngularJS basés sur un backend REST généré automatiquement par l'outil. En moins d'une demi-heure vous pouvez concevoir des applications Web avec un backend Java scalable et performant pouvant utiliser une base NoSQL ou SQL pour stocker ses données.

Cet outil est un merveilleux accélérateur de développement pour ceux et celles qui souhaitent déployer rapidement des portails Web. Cependant, une fois le portail généré, toutes les adaptations doivent ensuite être réalisées manuellement. L'outil ne fournit pas de fonction de merge entre le code produit et les modifications réalisées au sein du code.

Si vous ne connaissez par encore JHipster, allez faire un tour sur la présentation en ligne de l'outil. Vous allez voir, c'est magique, c'est hype !

rss mort

Vous connaissez très probablement Feedburner, le service acquis par Google en 2007 pour 100M$ selon les rumeurs et qui permet aux blogs et aux autres sites de centraliser la diffusion de leurs flux RSS. Petite anecdote au passage, ce service a été créé par Dick Costolo, le fondateur de Twitter.

Aujourd'hui, le service Feedburner survit tant bien que mal sur la toile et n'apporte plus aucun chiffre d'affaire à Google depuis que l'option Adsense a été retirée de la plateforme en 2012. Sa feuille de style monocolonne de 800px "has been" commence à dater et plus aucun bug ne semble remonter dans le flux RSS des bugs connus depuis 2013. Tout fait penser que ce service va prochainement disparaître de la toile, comme de nombreux autres.

Feedburner est un problème pour Google, car le jour où ce service disparaît, c'est la majorité des souscriptions de flux sur la toile qui disparaissent. Aujourd'hui, si vous regardez de près les URL des flux RSS que vous suivez, la plupart ont des URL feedburner.

feedburner

Alors pourquoi Google continue-t-il à maintenir ce service opérationnel ? Quelle solution Google peut-il mettre en place pour éviter l'effet "Big Bang" lié la suppression de cette plateforme ?

Il est vrai que Google n'aime pas les flux RSS, car ils réduisent le nombre hit sur les pavés de publicité Adsense, cependant est-ce que le Web peut-il réellement fonctionner sans flux RSS ? Est-ce que le modèle vers lequel pousse Google suite à la suppression pure et dure du service Google Reader est un modèle vers lequel tout le monde veut aller ?

De plus en plus je me dis que nous utilisons le Web d'une manière différente des plus jeunes générations et que les flux RSS sont seulement utilisés par les papys de la toile. Les flux RSS sont donc voués à disparaître avec notre génération ? Est-ce que les réseaux sociaux peuvent réellement remplacer un bon vieux lecteur de flux RSS ?

Pour les webmestres qui veulent anticiper au mieux la mort prochaine de Feedburner, il existe une option cachée dans l'onglet "My Account" qui permet d'avoir la main sur l'URL exposée par Feedburner et de pointer sur son propre domaine.

feedburner

Cette option s'appelle "My Brand" et vous permettra en cas de mort subite de Feedburner, de récupérer tous vos derniers abonnés, mais pas vos abonnés les plus anciens malheureusement.

NB : Si jamais vous êtes abonné à ce blog via l'adresse feedburner de mon flux RSS, vous pouvez vous abonner sur cette nouvelle URL qui migrera toute seule le jour où Feedburner tombera : http://feeds.geeek.org.

Adieu RSS !


Update 22/09/2014 : Le mode de redirection DNS fourni par Feedburner ne semble plus fonctionner correctement.

cookies CNIL

Les cookies et autres traceurs espionnent vos longues heures passées sur Web. Certains réseaux sociaux, agences publicitaires, éditeurs suivent une grande partie de votre parcours numérique sur la toile sans que vous vous en rendiez compte. Sauf parfois, lorsque certains pavés publicitaires vous collent d'un peu trop près sur tous les sites sur lesquels vous allez.

C'est avec ce constat qu'une directive Européenne a été votée en 2011 afin de limiter les abus sur l'utilisation des cookies et d'offrir aux utilisateurs du Web plus de liberté et d'anonymat.

Cette directive Européenne appliquée en France par la CNIL rend actuellement Google Analytics illégal en France. L'ensemble des sites utilisant Google Analytics doivent suivre les recommandations de la CNIL pour demander l'accord préalable de l'utilisateur avant qu'un cookie ne soit créé sur son navigateur.

Les trois principaux types de cookies actuellement considérés comme illégaux par la CNIL sans un consentement préalable de l'utilisateur sont :

  • les cookies liés aux opérations relatives à la publicité ciblée ;
  • certains cookies de mesure d'audience (cas de Google Analytics);
  • les cookies des réseaux sociaux générés notamment par leurs boutons de partage lorsqu'ils collectent des données personnelles sans consentement des personnes concernées.

Si vous souhaitez voir les sites qui ne jouent pas le jeu, la CNIL met à disposition une application OpenSource pour analyser les échanges de cookie et identifier à qui profitent les cookies qui sont créés sur votre ordinateur. Cet outil s'appelle CookieViz et est disponible gratuitement sur le profil GitHub de la CNIL. Il consiste en un proxy capable d'analyser les échanges HTTP afin d'identifier qui crée les cookies et qui les utilise.

Il existe aussi d'autres solutions, non OpenSource, mais plus simples à utiliser comme le plugin Collusion disponible sur Firefox et Chrome.

Les premiers contrôles d'usage des cookies sur la toile seront réalisés à partir d'octobre 2014 par la CNIL. Google devrait donc peut-être proposer une solution d'ici les 15 prochains jours afin de simplifier la vie des millions de Webmestres utilisant Google Analytics.

Si ce n'est pas le cas, vous devrez choisir entre basculer sur Piwik (n'oubliez pas de suivre les recommandations de la CNIL sur la configuration de Piwik) ou d'ajouter un bandeau de consentement pour chaque nouveau visiteur


Crédits photo : University of Scranton Weinberg Memorial Library

logo-web2day.png

Le Web2day, deuxième événement Web de France, aura lieu les 4,5 et 6 juin à Nantes au Stéréolux.

Après le succès l'édition de l'année 2013 avec ses 1300 participants, cette sixième édition s'annonce bien chargée en terme de contenus. Au programme: ateliers, pitchs, showroom, concours de startups et soirées ... Il y en aura pour tous les goûts et tous les profils.

Pour découvrir la liste des 70 conférences au programme, cela se passe ici.

Les têtes d'affiche de cette nouvelle édition :

  • Vitaly Friedman, CEO de Smashing magazine (content et responsive design)
  • Thomas Osburg, Directeur Europe chez Intel (Intel's evolution & a move to wearables)
  • Stan Massueras, Sales Manager France & Belgium chez Twitter
  • Olivier Mathiot, CEO de PriceMinister
  • Samantha Jérusalmy, Associée chez ELAIA Partners
  • Eric Walter, Secrétaire général de la Hadopi

Si l’événement vous intéresse, des places early birds sont en vente jusqu'au 16 mai au prix de 179€. Pour les étudiants et chômeurs, l'entrée est à 99€.

Parisiens, c'est le moment de venir visiter notre magnifique ville !

revue,blog,news,geek


bullet Abonnez-vous à ces revues par feed rss news geek ou par email news geek
bullet Découvrez les anciennes revues
bullet N'oubliez pas de me suivre sur Twitter, Facebook et Google+

6.Galaxy_plus_homewizard.png

Vous êtes à la recherche d'un système domotique ouvert qui ne vous impose pas d'acheter tout votre matériel chez un seul constructeur ?

Voici la box HomeWizard, une box domotique supportant différents fabricants de matériel domotique :

Interrupteurs et récepteurs

  • CoCo (tout l’assortiment)
  • Elro (série AB600 et Home Comfort)
  • DI-O, Chacon, Myfox
  • Inter techno

Stations Météo

  • TFA (Sinus, Nexus, Meteotime Duo)
  • Cresta (WXR-710XL, WXR-810, WXR-815, WXR-815LM, PMT-980)
  • IROX (PRO-EC, PRO-X 2)
  • Ventus (W-831, W-928 Ultimate)

Compteurs d’énergie

  • Wattcher
  • HomeWizard EnergyLink

Volets & Portails

  • Moteurs et Modules Somfy RTS
  • Tout moteur électrique via ASUN-650 ou ITL-1000

Caméras IP

  • HomeWizard
  • Foscam (versions SD)

Détecteurs de fumée

  • HomeWizard

L'ensemble du matériel compatible HomeWizard installé dans votre habitation devient pilotable à distance via un smartphone ou une tablette iOS / Android ou depuis n'importe quel navigateur Web.

La box HomeWizard ne plaira pas aux geeks qui préféreront certainement bricoler un Raspberry Pi sous Linux avec un connecteur RFX TRX 433, mais elle répondra à des personnes qui souhaitent intégrer de la domotique rapidement chez eux à moindre coût.

La solution HomeWizard est financièrement bon marché et reste plus accessible que la box Blyssbox de Castorama.

Pour plus d'information sur leur solution, allez faire un tour sur le site HomeWizard. Si vous êtes intéressé par cette solution et que le site Internet HomeWizard ne répond pas à toutes vos questions, n'hésitez pas à aller consulter le manuel utilisateur qui est très riche en informations.

Le seul gros inconvénient de la solution HomeWizard est que l'accès à votre matériel se fait via le portail hébergé par HomeWizard. Le jour où la société décide d'arrêter ses serveurs, votre solution de domotique ne fonctionna plus. C'est un peu ce qu'il s'est passé avec le Nabaztag que vous connaissez certainement. En choisissant une solution 100% centralisée, vous devez faire totalement confiance à la société qui vous fournit les solutions logicielles pour accéder à votre matériel et vous devez aussi vérifier que la société n'utilise pas vos données à votre insu en lisant les conditions d'utilisation du service.


UPDATE : Homewizard propose d'accéder au portail Web de sa box directement via du port forwarding. Intéressant !

CodinGame.png

Une battle Tron avec des petits programmes fait-main, cela vous dit ?

Développez votre petit programme d'intelligence artificielle dans le langage de votre choix, capable de donner des directions à partir de la position des autres participants sur un plateau de jeu Tron.

Votre programme a au maximum 100 ms pour répondre, le but est de tenir le plus longtemps possible sur le plateau. A chaque fois qu'un joueur perd, il disparaît du plateau laissant ainsi vide les cases qu'il occupait.

tron-battle.jpg

Des combats sont générés aléatoirement entre les joueurs par le serveur pour générer un classement par langage de développement et un classement global.
Toutes les stratégies sont permises ! Mais attention, le code source du programme copié sur la plateforme ne doit pas dépasser les 50 Ko.

Rendez-vous sur Coding Game pour vous inscrire au jeu et que le meilleur développeur gagne !

dell-r210.jpg

Le blog vient d'être migré vers un nouveau serveur dédié plus performant.

Il vient d'être migré d'une petite DEDIBOX® SC avec un CPU de 1,6 Ghz à un serveur DEDIBOX® CLASSIC + GEN2 équipé d'un processeur 4 coeurs @3.5Ghz et de 8Go de RAM, le tout pour 35,87€ par mois.

La facture de mon hébergement a doublé, cependant cela a permis de donner un bon coup de fouet aux performances des sites qu'il héberge et offre de nouvelles perspectives pour mes nouveaux projets geeks.

Je suis resté sur Ubuntu et j'ai finalement quitté Lighttpd pour Nginx qui est devenu le serveur Web performant de référence sur la toile.
J'ai bien sûr mis en place PHP-FPM et je suis en train de regarder pour mettre en place le plugin NGinx Google Pagespeed pour accélérer la distribution des pages HTML sur les navigateurs récents.

N'hésitez pas à me contacter si vous rencontrez des difficultés d'accès sur le site.

reporter-sans-frontiere-liberte-presse-dictateur.jpg

Reporters sans Frontières a mis en disposition en ligne un kit de survie numérique permettant de lutter contre la censure numérique mise en place dans certains pays.

Le kit est constitué d'un ensemble d'articles didactiques permettant à un néophyte de mieux connaitre les solutions permettant de protéger ses données et ses accès au réseau Internet.

Il banalise l'utilisation de PGP pour le cryptage des emails, Truecrypt pour le cryptage d'un disque dur, l'utilisation de Tor et des VPN pour outre passer les proxy ...

Le kit est disponible dans toutes les langues, vous avez même la possibilité de créer un miroir du site si vous possédez un serveur Web avec suffisamment de bande passante.

Belle initiative de RSF pour encourager la libre expression dans le monde et améliorer la sécurité des journalistes.

Kit à découvrir sur wefightcensorship.org.

w3c-content-security-policy.png

Vous développez des sites Internet ? Connaissez-vous le Content Security Policy (CSP) ?

Le Content Security Policy est un mécanisme de sécurité permettant de limiter l'origine des contenus inclus dans une page Web à certains domaines autorisés.

Cela permet de mieux prémunir un site Web d'une éventuelle faille XSS. À condition bien sûr que la norme soit supportée par tous navigateurs. Pour le moment, le support de cette norme est limité aux dernières versions des navigateurs Web du marché.

content-security-policy.png

La norme CSP est actuellement au statut "Candidate Recommendation", elle est consultable sur le site W3C. Son utilisation est très simple et se base sur un entête HTTP spécifique interprété par les navigateurs qui supportent le CSP :

Content-Security-Policy : default-src 'self'

L'exemple ci-dessus permet de bloquer le chargement de ressources provenant d'un domaine externe au site ayant délivré le contenu HTML.

Différents paramètres peuvent être précisés dans cet entête HTTP afin de protéger seulement certains types de ressources : script-src, object-src, style-src ....

Ceci vous permet de contrôler l'origine de toutes les ressources incluses sur votre site. Pour visualiser les erreurs potentielles de chargement, vous pouvez spécifier un "report-uri". Ce "report-uri" sera utilisé par les navigateurs pour transmettre les potentielles erreurs de chargement de ressources. Indispensable pour un site possédant énormément de contenus d'origines diverses.

De nombreux sites ont adopté un CSP sur leur site, voici l'exemple du CSP complexe utilisé par Facebook  :

content-security-policy:default-src *;script-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl 'unsafe-inline' 'unsafe-eval' https://*.akamaihd.net http://*.akamaihd.net *.atlassolutions.com https://*.internet.org http://*.internet.org;style-src * 'unsafe-inline';connect-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.spotilocal.com:* https://*.akamaihd.net ws://*.facebook.com:* http://*.akamaihd.net https://fb.scanandcleanlocal.com:* *.atlassolutions.com https://*.internet.org http://*.internet.org http://attachment.fbsbx.com https://attachment.fbsbx.com;

Pour en savoir plus sur cette norme W3C, je vous conseille vivement de lire l'article dédié sur HTML5Rocks et de vous rendre sur la page OWASP spécialisée sur le sujet.

Une fois votre Content Security Policy en place, vous pouvez valider sa syntaxe via l'outil CSP-Tester présent sur GitHub ou bien l'add-on UserCSP disponible pour Firefox.

Enfin, si jamais vous utilisez Wordpress, sachez qu'un plugin CSP pour Wordpress existe et vous permet d'activer le CSP en deux clics sur votre site.