dimanche 25 janvier 2015

Vos programmes sont gangrénés par les librairies des autres

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.







 
 

Aucun commentaire: