Ne pas ré-inventer la roue. Cette formule est érigée en dogme dans l'informatique.
C'est oublier un peu vite que la finalité d'une roue est de tourner... tout simplement... Tourner pour avancer.
On revient de plus en plus à la notion d'artisan développeur, mise en avant par le mouvement devops.
Ce changement repose sur par 3 idées:
1) Les libraires mettent en danger votre système d'information.
C'est vrai qu'il est dans un premier temps plus simple et moins couteux d'utiliser des librairies et d'assembler des composants externes.
Mais, ces librairies rendent dépendant vos projets de l'évolution de ces portions de code externes.
Dans le monde opensource, une constante mise à niveau est nécessaire sous peine de fragiliser l'ensemble du code. Ce phénomène de course à l'échalote est maitrisé dans les systèmes propriétaires comme les mainframes ou le '.NET'.
L'exemple de la librairie openssl est le plus frappant. Des dispositifs ouverts sur Internet, utilisant cette librairie sont des proies faciles. En clair: une porte blindée ne sert à rien si on laisse la fenêtre de la cuisine ouverte.
2) Les nouvelles infrastructures.
Les plateformes d'accueil sur un cloud, ne permettent pas toujours d'utiliser des librairies externes. Le développeur ne dispose que d'un cadre réduit et ne peut utiliser qu'un système de dépendance simple. Pour cela , je vous conseille la lecture de la charte des 12 facteurs (principes) à respecter pour écrire une application web prête pour le cloud.
Avec 2 règles fortes:
a) Maitrise des dépendances par l'isolation des librairies.
b) L'application doit ouvrir son port d'écoute (aurevoir apache, tomcat, bonjour node.js)
3) Dilution des connaissances.
A force d'utiliser des librairies toutes faites, les développeurs s'éloignent des fondamentaux. Tout le monde utilise des librairies XML peu de personnes connaissent vraiment le XML et comment le parser (traduire). La manipulation du JSON est à mettre dans le même pannier. Je ne parlerai pas de la perte de connaissance du SQL due à l'usage hors de propos d'Hibernate.
Les développeurs se retrouvent au centre de la révolution numérique. Car finalement c'est eux qui détiennent la clé des futures applications de demain.
Je vous conseille la lecture du rapport de Tarik Krim (lien ici) qui rend hommage au talent des développeurs français.
En conclusion: pour comprendre la roue, il est bon parfois de la réinventer.
L'exercice s'appelle le ghetto développement, c'est à dire repartir de zéro et faire tout, tout seul.
C'est ce que fait la société spaceX pour construire ses fusées: pas de sous traitant, tout est de fabrication interne. Comme un clin d'oeil aux ingénieurs de la Nasa et l'equipage d'Apollo XIII obligés de réparer la capsule avec les moyens du bord.
Python, Ruby, javascript, node.js, cloud ,NoSQL bref que des bonnes choses
Contacter le robot germanlinux: german.eric AT gmail.com
dimanche 25 janvier 2015
samedi 10 janvier 2015
Liens semaine 2-2015
Quoi de neuf cette semaine. ?
Dans la lignée de du rapport de tarik Krim lien ici, la liste des 100 développeurs français qui comptent: lien ici.
Le phénomène marque une rupture et remet le développeur au centre de la révolution numérique.
Retour sur les conférences DEVOXX france. série de lien à explorer.
Avec ici la keynote de l'intervention de Tarik Krim.
C'est l'age d'or des développeurs qui commencent.
Mathématiques et recommendations (ce que pretique amazon pour pour inciter à commander plus).
Lien ici.
Le projet de tableau de bord grafana (lien ici).
Flynn : surcouche de docker qui respecte les 12 facteurs applicatifs : 12 règles que doivent respecter les applications modernes.lien flynn ici.
Hood.ie : un projet similaire à meteor.
Remplacer PHP par node.js: lien ici vers un module javascript.
Outils pour tester la performance d'un site web. lien ici.
- Vive les développeurs
Dans la lignée de du rapport de tarik Krim lien ici, la liste des 100 développeurs français qui comptent: lien ici.
Le phénomène marque une rupture et remet le développeur au centre de la révolution numérique.
Retour sur les conférences DEVOXX france. série de lien à explorer.
Avec ici la keynote de l'intervention de Tarik Krim.
C'est l'age d'or des développeurs qui commencent.
- Business intelligence:
Mathématiques et recommendations (ce que pretique amazon pour pour inciter à commander plus).
Lien ici.
Le projet de tableau de bord grafana (lien ici).
Le big data appliqué au football: lien ici.
- Stratégie IT:
Les technologies qui vont transformer le travail.
- Projets.
Flynn : surcouche de docker qui respecte les 12 facteurs applicatifs : 12 règles que doivent respecter les applications modernes.lien flynn ici.
Hood.ie : un projet similaire à meteor.
Remplacer PHP par node.js: lien ici vers un module javascript.
- Articles.
Outils pour tester la performance d'un site web. lien ici.
samedi 3 janvier 2015
Liens de la semaine 1-2015
A découvrir pour la nouvelle année:
Lien ici. A noter la bonne visibilité du langage coffeescript.
- Les nouveaux barbares: Ils n'ont pas peur de secouer les institutions
- Les origines de la balise HTML
- Langage: La suprématie du langage 'DART' de google n'est pas assuré
Lien ici. A noter la bonne visibilité du langage coffeescript.
- Premiere fabrication d'un objet avec une imprimante 3D dans l'espace: lien ici.
- Comment utiliser l'API de free mobile pour envoyer des SMS : lien ici.
- Le volet numérique du projet de loi macron : lien ici
- opendata :Le registre du commerce passe à l'opendata 4,2 millions de données en ligne.
A lire en ligne: Programming Javascript Applications
Management: Un livre : éloge du Carburateur (lien amazon ici)
- Projet : API REST pour postgresql : lien github ici.
- Langage: mini polémique sur l'industrialisation des tests dans la réalisation d'une nouvelle version de Ruby. lien ici. (parmi les commentaires, j'ai bien aimé celui ci: arrêtez vos discussions stériles , je suis passé à Node.js et javascript)
samedi 20 décembre 2014
Liens de la semaine 51-2014
Liens de la semaine 51-2014: ce que j'ai retenu cette semaine.
Projets:
Intelligence numérique sociale:
Livres:
Projets:
- famo.us: 'THE ULTIMATE WEB PLATFORM FOR DEVELOPERS AND DESIGNERS'Ce framework javascript permet de développer des applications web avec un rendu digne des jeux vidéos : 60 FPS (Frame per Second) et quelque soit le support.( PC / mobile)
- tanagra: outils de data mining. Un dispositif concurrent de l'écosystème 'R'. Le langage R est plutôt orienté statistique.
- io.js : fork de Node.js, un drame ? non une chance de plus pour cette technologie
- Restlet Studio : outil de conception d'API REST.
- Swagger: outil de conception d'API REST.
- wakanda: outil de conception d'application web.
- Langage de programmation :ArnoldC - Programming language based on the one-liners of Arnold Schwarzenegger
Intelligence numérique sociale:
- Simplifier vos démarches administratives sur le net :article ici.
- Les timbres fiscaux pour les passeports seront dématérialisés en 2015 - Next INpact lien ici.
Livres:
- Learning JavaScript Data Structures and Algorithms (Loiane Groner - PACKT publishing) : lien ici.
- Selenium 1.0 Testing Tools - Free Download eBook - pdf lien ici.
- Vous ne connaissez pas javascript : série ebook lien ici.
- Discovering Docker : lien ici
- Les géants du web : pratiques en matière de développement et exploitation ebook:lien ici
Conférences:
- Ruby After Rails by Ernie Miller - RubyConf 2014: video ici.
dimanche 26 octobre 2014
devops : développeurs et exploitants dans le même bateau.
Pour continuer dans le sillage de la gestion de projet Agile, voici un nouveau phénomène adopté par de plus en plus d'entreprise: le devops.
Dans ce dispositif, des développeurs (dev) et des exploitants ( (ops du mot anglais operations = exploitant) sont regroupés dans une véritable task force. Ce concept existe depuis environ 5 ans. Ce qui est nouveau, c'est engouement qu'il connait auprès des entreprises comme: google, Amazon, Bouygues, free etc.
ex :
Ce mode de fonctionnement est le quotidien des petites structures (PME ?) avec des équipes informatiques réduites. Son introduction dans des grands groupes est quelque part un constat échec.
Le devop permet de capitaliser sur une démarche Agile en amont.
Lien sur l'article de 01Net:ici.....
Le devop n'est pas un 'facilitateur' ou un interlocuteur privilégier vis à vis de l'exploitation: Il est exploitant à part entière. Cette compétence vient en complément avec sa maîtrise du développement.
Dans cette configuration, la task force aura la responsabilité du projet de la conception à la mise en production. Ce système est en contradiction avec les bonnes pratiques (ex: ITIL) qui recommandent un cloisonnement entre le développement et la production. En effet les deux entités poursuivent des objectifs contradictoires: le développeur produit du changement (nouvelle version, fonctionnalité) alors que l'exploitant est le gardien de la stabilité: les applications ronronnent sagement.
La mise en place d'un tel dispositif n'est pas facile: on touche ici à des sujets d'organisation avec une remise en cause des pratiques.
Lire article Les 8 erreurs à éviter pour réussir votre démarche DevOps (Frédéric Richer)
ici les slides de la devops Paris 2013.
Dans ce dispositif, des développeurs (dev) et des exploitants ( (ops du mot anglais operations = exploitant) sont regroupés dans une véritable task force. Ce concept existe depuis environ 5 ans. Ce qui est nouveau, c'est engouement qu'il connait auprès des entreprises comme: google, Amazon, Bouygues, free etc.
ex :
Ce mode de fonctionnement est le quotidien des petites structures (PME ?) avec des équipes informatiques réduites. Son introduction dans des grands groupes est quelque part un constat échec.
Le devop permet de capitaliser sur une démarche Agile en amont.
![]() |
| source 01Net |
Lien sur l'article de 01Net:ici.....
Le devop n'est pas un 'facilitateur' ou un interlocuteur privilégier vis à vis de l'exploitation: Il est exploitant à part entière. Cette compétence vient en complément avec sa maîtrise du développement.
Dans cette configuration, la task force aura la responsabilité du projet de la conception à la mise en production. Ce système est en contradiction avec les bonnes pratiques (ex: ITIL) qui recommandent un cloisonnement entre le développement et la production. En effet les deux entités poursuivent des objectifs contradictoires: le développeur produit du changement (nouvelle version, fonctionnalité) alors que l'exploitant est le gardien de la stabilité: les applications ronronnent sagement.
Séduisant sur le papier mais difficile à mettre en place.
La mise en place d'un tel dispositif n'est pas facile: on touche ici à des sujets d'organisation avec une remise en cause des pratiques.
Lire article Les 8 erreurs à éviter pour réussir votre démarche DevOps (Frédéric Richer)
ici les slides de la devops Paris 2013.
dimanche 10 août 2014
nodebots: Piloter un arduino par le web.
Dans un précédent post, j'avais présenté l'utilisation la librairie johnny-five qui permet de piloter des robots dont l'arduino en javascript.
Au lieu d'utiliser le langage natif d'arduino, on installe un programme 'firmata' qui permet de dialoguer avec un programme en javascript tournant sur un PC.
Johnny-five propose deux modes d'utilisation:
En interractif: REPL :Read - Eval - Print - Loop. C'est l'équivalent d'un interpréteur de commande.
(voir exemple dans mon post cité plus haut).
Soit en mode autonome: Le programme se déroule sur le PC et envoie ses instructions sur l'arduino.
Maintenant comment piloter son arduino depuis Internet, son smartphone , un site WEB .. ?
Le montage était destiné à piloter un laser pour distraire un chat (et moi par la même occasion)
Nous devons introduire un dialogue supplémentaire entre le PC et le robot. Ce dialogue utilisera le protocole MQTT: Le protocole des 'choses' reliées à Internet.( MQ Telemetry Transport)
MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol.
Une série de slide ici sur MQTT.
Ce protocole est très léger et il connu par la plupart des objets connectés. Et son domaine d'utilisation s'est élargie au transport de message pour les Tchats.
Pour mémoire, Facebook utilise MQTT pour sa messagerie instantanée (ici un lien sur l'histoire de MQTT)
Pour le mettre en place , il faut disposer d'un serveur MQTT et des clients.
Pour le serveur, mon choix s'est porté sur MOSCA. C'est un serveur MQTT en javascript propulsé par le réacteur Node.js
Lien ici.
Mosca vous permet de construire votre propre serveur MQTT.
Mon code pour le serveur est le suivant:
Le serveur utilise un bakend pour stocker les messages dans mon exemple j'utilise une base NoSQL MongoDB.
Le serveur se teste facilement avec un outil en ligne de commande: mosquitto
(MQTT est protocole de type : PubSub : publier , souscrire)
mosquitto_sub -t 'hello/you'
mosquitto_pub -m "c est moi" -t 'hello/you'
Le schéma général est le suivant:
La partie web est en mode REST
Trois motifs sont utilisés pour décoder es URL , un pour l'axe des X , un pour l'axe des Y, le dernier pour allumer ou éteindre le laser.
La parie contrôle d'arduino est de la forme:
Le lasercat peut maintenant etre commandé depuis le site web sous Express , par un smartphone, en ligne de commande par curl.
Bonne fête les chats.
Au lieu d'utiliser le langage natif d'arduino, on installe un programme 'firmata' qui permet de dialoguer avec un programme en javascript tournant sur un PC.
Johnny-five propose deux modes d'utilisation:
En interractif: REPL :Read - Eval - Print - Loop. C'est l'équivalent d'un interpréteur de commande.
(voir exemple dans mon post cité plus haut).
Soit en mode autonome: Le programme se déroule sur le PC et envoie ses instructions sur l'arduino.
Maintenant comment piloter son arduino depuis Internet, son smartphone , un site WEB .. ?
Le montage était destiné à piloter un laser pour distraire un chat (et moi par la même occasion)
Nous devons introduire un dialogue supplémentaire entre le PC et le robot. Ce dialogue utilisera le protocole MQTT: Le protocole des 'choses' reliées à Internet.( MQ Telemetry Transport)
MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol.
Une série de slide ici sur MQTT.
Ce protocole est très léger et il connu par la plupart des objets connectés. Et son domaine d'utilisation s'est élargie au transport de message pour les Tchats.
Pour mémoire, Facebook utilise MQTT pour sa messagerie instantanée (ici un lien sur l'histoire de MQTT)
Pour le mettre en place , il faut disposer d'un serveur MQTT et des clients.
Pour le serveur, mon choix s'est porté sur MOSCA. C'est un serveur MQTT en javascript propulsé par le réacteur Node.js
Lien ici.
Mosca vous permet de construire votre propre serveur MQTT.
Mon code pour le serveur est le suivant:
Le serveur utilise un bakend pour stocker les messages dans mon exemple j'utilise une base NoSQL MongoDB.
Le serveur se teste facilement avec un outil en ligne de commande: mosquitto
(MQTT est protocole de type : PubSub : publier , souscrire)
mosquitto_sub -t 'hello/you'
mosquitto_pub -m "c est moi" -t 'hello/you'
Le schéma général est le suivant:
![]() |
| réalisé avec http://shaky.github.bushong.net/ |
La partie web est en mode REST
Trois motifs sont utilisés pour décoder es URL , un pour l'axe des X , un pour l'axe des Y, le dernier pour allumer ou éteindre le laser.
La parie contrôle d'arduino est de la forme:
Le lasercat peut maintenant etre commandé depuis le site web sous Express , par un smartphone, en ligne de commande par curl.
Bonne fête les chats.
lundi 4 août 2014
Une blague sur le COBOL..éternel COBOL
C'est l'histoire du développeur COBOL qui a fait fortune avec les maintenances liées au passage à l'an 2000. Avec son argent, il décide de se faire cryogéniser (congeler) et de tomber dans un sommeil (presque) éternel.
Un jour quelqu'un le met au micro-onde et le réveille. Le développeur COBOL ouvre les yeux et demande: pourquoi vous me réveillez ? . L'autre lui répond: on est en l'an 9999 , on fait comment pour le COBOL ?
Cette blague est issu d'un article ici qui traite de l'avenir d'un nouveau langage appelé COBOL.
Un jour quelqu'un le met au micro-onde et le réveille. Le développeur COBOL ouvre les yeux et demande: pourquoi vous me réveillez ? . L'autre lui répond: on est en l'an 9999 , on fait comment pour le COBOL ?
Cette blague est issu d'un article ici qui traite de l'avenir d'un nouveau langage appelé COBOL.
Inscription à :
Articles (Atom)













