Joyeux anniversaire Linux !

Linux fait figure d’exception dans le monde de l’ingénierie logicielle. Il est le seul projet libre de cette ampleur à fonctionner depuis 25 ans. Linus Torvalds, son créateur, le dirige encore aujourd’hui d’une main ferme, à la manière d’un véritable monarque.

Linus_TorvaldsComme tout logiciel libre, Linux peut être utilisé, modifié, dupliqué et diffusé sans aucune contrainte. Sa spécificité vient de la propriété de la marque Linux par Linus Torvalds. N’importe qui peut installer Linux, le modifier et diffuser ses modifications, mais seul Linus Torvalds décide des modifications qui seront incluses dans le logiciel désigné par le nom de Linux. Chacun est en revanche libre de publier des modifications refusées sous un autre nom. Pourtant, la popularité de Linux empêche bien souvent les mécontents de s’éloigner de la branche principale. Cela garantit une certaine stabilité au projet Linux.

Dès les premières années du projet, des centaines de développeurs sont venus contribuer librement au projet Linux. Cette communauté produisait trop de modifications pour que Linus puisse seul les analyser et les incorporer à Linux. Il a donc décidé la création d’un système de lieutenants, un pour chaque grande partie du système (son, processeur, mémoire …). Chaque lieutenant est responsable devant lui de la qualité du code qu’il valide. Tout développeur qui souhaite contribuer au projet Linux doit envoyer ses modifications à un lieutenant, qui validera ses modifications et les regroupera avec d’autres, afin de les présenter à Linus. En cas de conflit entre deux lieutenants, Linus tranche, avec un langage souvent très fleuri. Ce système dure encore aujourd’hui, alors que des milliers de développeurs contribuent au plus gros projet libre du monde.

Basés sur l’idéologie libertaire du logiciel libre, beaucoup de projets échouent faute d’une vision cohérente. La gestion de projet monarchique de Torvalds a protégé Linux des scissions et des affrontements d’égos, lui permettant de dépasser la barre des 25 ans. Il n’est pas pour autant un tyran : il juge les modifications sous l’angle du bien du projet et laisse des libertés partout où les règles ne sont pas nécessaires. Si cela n’avait pas été toujours le cas, les développeurs seraient simplement partis. Le projet aujourd’hui est assez stable et sérieux pour que des grandes entreprises allouent des centaines de salariés au développement de Linux.

Le principal point faible de Linux est la succession de Torvalds : aucun successeur n’a été désigné ou ne ressort. Il est certain que sans ordre, sans chef et sans guide, la communauté linux deviendra pauvre troupeau. Il n’y a pas encore lieu de s’alarmer, à 46 ans, le « dictateur bienveillant » se porte bien. Néanmoins, la communauté linux devrait sérieusement réfléchir à la question. En attendant, joyeux anniversaire Linux !


L’histoire de Linux débute le 25 aout 1991, à l’université d’Helsinki. Linus Torvalds, alors étudiant décide de développer un émulateur de terminal pour remplacer celui présent sur son ordinateur. Cet émulateur fut le point de départ d’un système aujourd’hui connu sous le nom de Linux.

Il totalise à ce jour plus de 10.000 développeurs et 1000 entreprises ayant contribué à son développement. Le noyau Linux équipe 31% des tablettes et 64% des smartphones grâce à Android. 38% des serveur tournent sous Linux, de même que la quasi-totalité des superordinateurs (97%) et des systèmes embarqués (domotique, audiovisuel …). Linux est minoritaire (1,7%) sur le seul segment de l’informatique grand public, pour combien de temps encore ?


Pour aller plus loin : http://www.silicon.fr/linus-torvalds-linux-75664.html

L’état brade nos données

« La France porte une tradition de transparence démocratique et de partage des informations détenues par la puissance publique. » Ne riez pas, il s’agit des premiers mots de la très sérieuse déclaration du gouvernement sur l’ouverture des données publiques. Notre pays va d’ailleurs prendre la tête du Partenariat pour un Gouvernement Ouvert (PGO) en octobre prochain. L’ouverture et la transparence comme remède au complexe démocratique de la république ? Tout un programme.main

L’ouverture des données publiques est constamment demandée tant à gauche qu’à droite. Les premiers soutiennent que l’accès aux données publiques est un enjeu démocratique, inscrit dans les Droits de l’Homme, les seconds veulent dynamiser l’économie en injectant les données publiques dans un marché déjà fort lucratif. Les plus radicaux des deux camps vont même jusqu’à exiger la fin du secret d’état, qui mettrait gravement en danger les capacités stratégiques de celui-ci.

Cela va sans dire que tout politique d’ouverture de données multiplie forcément le nombre d’accès aux systèmes d’information, donc le coût en infrastructures. Une aubaine pour les constructeurs, les équipementiers et les SSII. Cela n’étonnera donc personne que les deux plus généreux donateurs du PGO soient la fondation Hewlett et le réseau Omidyar[1].

L’ouverture des données publiques se révèle une manne pour les entreprises : Incapable depuis des années d’en faire quelque chose d’utile, l’état va ouvrir diverses données, donc permettre au privé de les utiliser à but lucratif. Une fois les données mises en ligne, y compris si l’état tente d’en restreindre l’accès, le monde entier pourra les copier, les stocker et les traiter. Internet n’a pas de frontières, ni de droit de retrait.

Ces données « publiques », en réalité les données des français, vont être livrées au monde marchand et à l’étranger, par décision unilatérale de l’état. Elles seront au départ très incomplètes, mais de plus en plus de points d’entrée (API) vont être créés, livrant toujours plus de données. De surcroit, l’état s’introduit de plus en plus profondément dans la vie privée des français. Chaque nouveau rôle que se donne l’état, c’est aussi de précieuses données qui viennent enrichir ses bases. Pour l’instant la CNIL veille au grain quant à l’anonymisation des données. N’oublions pas qu’elle n’existe que grâce à la volonté de l’état. Déjà très critiquée par ceux qui souhaitent libéraliser le marché de la donnée, elle pourrait tôt ou tard céder. Rien n’interdit non plus à l’état de vendre des jeux de données au privé ou de fournir des données à des entreprises, dans le cadre de partenariats public-privé, cela se voit avec EDF.

La confiance que les français plaçaient dans l’état, concernant les informations qu’ils lui livraient (de gré ou de force) est trahie. Le citoyen devra se consoler au choix avec des droits de l’homme mieux respectés ou bien des points de croissance dont il ne verra pas la couleur.

[1] La fondation Hewlett a été fondée par l’ancien PDG de HP, le Omidyar Network par le fondateur d’eBay.

Loi Renseignement : Gare à la surinfection !

Doit être votée le 5 mai prochain par l’Assemblée nationale la loi dite « Renseignement ».
Cette loi est décrite par le gouvernement comme une modernisation des moyens de lutte contre le terrorisme, en particulier sur Internet. La loi prévoit de passer sous décision administrative des moyens d’espionnage pour l’instant utilisés de manière parcimonieuse et sous contrôle du juge : micros, caméras ou « boîtes noires » placées chez les fournisseurs d’accès. Le but avoué par le gouvernement est une plus grande réactivité dans la lutte antiterroriste, le juge étant vu comme beaucoup trop prudent en matière de surveillance.

Cette loi ne prévoit aucune possibilité de recours en cas d’abus. Elle prévoit une vague commission de contrôle au rôle uniquement consultatif.
Les réactions ne se sont pas faites attendre : la loi a cristallisé les oppositions, l’opinion sentant instinctivement le danger. Cette fois-ci, le vieil argument « si vous n’avez rien à cacher vous n’avez rien à craindre » n’a pas suffi à faire taire la société civile, ainsi que les quelques courageux du monde judiciaire qui ont élevé la voix. Le monde politique, exceptés le PS et une partie de l’UMP, ont été unanimes à condamner ce projet de loi.

legalisersurveillance

Comme d’ordinaire lorsque l’on touche à Internet, la « communauté web », nébuleuse de blogueurs, d’informaticiens et d’utilisateurs, s’est indignée. Ils ont, comme à leur habitude, dénoncé, avec beaucoup de créativité et de brio, cette loi liberticide et le danger qu’elle représente. Hélas ils n’ont pas été chercher plus loin les causes de cette loi, préférant dénoncer « un manque de démocratie ».

Chose rare, des professionnels du numérique ont milité contre cette loi. C’est en particulier le cas d’OVH, plus gros hébergeur et fleuron du numérique français. Cette entreprise, embauchant 1000 salariés sur son site de Roubaix a menacé de délocaliser tous ses datacenters à Québec en cas de vote de la loi. Simple mesure de survie : un hébergeur incapable de garantir la confidentialité des données de ses clients, perd une grande partie de son attractivité. D’autres hébergeurs sont déjà partis, comme altern.org et eu.org.

La « menace terroriste », même si bien réelle, ne peut justifier une telle loi. L’arsenal mis en oeuvre est complètement inutile pour la traque des terroristes, pédophiles et autres criminels organisés. Ces groupes sont formés à l’utilisation de moyens de cryptage. L’état n’a ni les moyens de repérer les trames suspectes, ni les moyens de les intercepter. La cryptographie permet d’anonymiser et de chiffrer les messages, de telle sorte que rien ne ressemble plus à un paquet chiffré terroriste qu’un autre paquet chiffré, parfaitement légitime. Il existe, sur Internet, des milliers de raisons de chiffrer non seulement légitimes, mais absolument indispensables : transactions bancaires, préservation de la vie privée ou secret industriel ou commercial ! Les organisations patronales s’inquiètent d’ailleurs de l’impact de cette loi sur les entreprises : personne ne viendra faire des affaires si l’état s’immisce dans les secrets industriels.
Deux options restent disponibles pour l’état : l’interdiction complète du chiffrage, sauf autorisation ou la course aux armements numériques avec les terroristes : toujours plus de surveillance, toujours plus intrusive et chère. La seconde voie est celle prise par les Etats-Unis, avec la NSA qui, malgré de formidables moyens (10 milliards de dollars) n’a pas su déjouer le 11 septembre ou les attentats de Boston ! Le dispositif français, lui, coûtera la bagatelle de 500 millions d’euros.

Il serait légitime de s’inquiéter d’une telle loi, même avec le gouvernement le plus vertueux du monde. Le ver est dans le fruit et cette loi peut très bien rester en sommeil des années, avant d’être ressortie par un régime devenu autoritaire. La Loi Renseignement met la police à disposition de l’administration, sans aucun contrôle judiciaire. Avec les discussions sur le vote obligatoire, la Loi Santé ou la dérive de plus en plus autoritaire d’un Manuel Valls, sans doute ne sommes-nous pas au bout de nos peines, le croisement de fichiers et la dictature algorithmique pouvant devenir la nouvelle « justice ».

D’où viennent les failles de sécurité informatique ?

Le piratage de TV5 Monde met sur le devant de la scène le potentiel de nuisance des failles de sécurité informatique. En informatique, une faille est un “trou” dans la sécurité, permettant à un attaquant de contourner une protection. Elles peuvent permettre, entre autres, la prise de contrôle d’une machine ou l’accès à des données confidentielles. Avec plus de 5000 failles recensées par an – et un nombre incalculable non répertoriées–, la sécurité informatique est loin d’être une science exacte. Et si la faille n’était pas une erreur regrettable, mais bien une réalité inévitable en informatique ?

Bug-Computer

Il faut avant tout rappeler qu’une faille est souvent accidentelle : les concepteurs comme les développeurs sont à l’origine d’inévitables erreurs humaines, générant des vulnérabilités parfois critiques : l’écrasante majorité des failles sont de simples et innocentes erreurs. C’est le cas de TV5, bien que la chaîne ait été irresponsable : l’ANSSI (Agence Nationale de la Sécurité des Systèmes d’information) les avait prévenus deux semaines auparavent de la découverte de vulnérabilités ! Notons qu’un administrateur nonchalant est la pire des plaies en matière de sécurité informatique.

Mais à coté de celles-ci, une minorité de failles sont introduites sciemment par les éditeurs, sans prévenir l’utilisateur. On les appelle “portes dérobées”, backdoors. Si quelques portes dérobées peuvent partir d’une intention louable (support technique transparent, mises à jour…), toute porte dérobée constitue une faute pour l’éditeur. Découvertes par un tiers malveillant, elles peuvent occasionner des dégâts importants. La très récente affaire Gemalto, entreprise française autoproclamée « leader mondial de la sécurité numérique » ( !), dont la NSA américaine a volé les clés de chiffrement des cartes SIM (gérant toutes les données des téléphones mobiles), est un cas d’école : Gemalto n’aurait pas dû conserver les clés.

Les deux origines majeures des portes dérobées dites “malveillantes” (ce terme est sujet à controverses) sont, d’une part, la pression des services de renseignement sur les éditeurs et, d’autre part, les accords officieux entre entreprises, portant sur l’accès aux données personnelles des clients.

Les révélations d’Edward Snowden ont jeté une lumière crue sur une partie des vastes programmes de la NSA américaine, gigantesques réseaux de collecteurs, puisant leurs informations dans le monde entier, partout où des logiciels ou du matériel américain sont utilisés. Snowden a dévoilé le dispositif des États-Unis, mais il est certain que toutes les puissances ont des méthodes similaires, à plus ou moins grande échelle. Il s’agit d’un impératif de sécurité nationale et de renseignement, tant intérieur qu’extérieur.

La légitimité du renseignement national est complexe, mais l’illégitimité des accords, souvent illégaux, entre sociétés privées ne fait pas débat. Dans le monde de la santé et de l’assurance, les données personnelles sont de l’or. De nombreux acteurs forment un vaste marché gris des données personnelles. Des portes dérobées, donnant accès directement aux données des clients, sous l’apparence de banales failles, sont un outil de choix pour alimenter ces marchés. Elles permettent de cacher sous le motif du “piratage”, un trafic de données personnelles.

La sécurité absolue n’existera jamais et la Haute Technologie (High Tech) amplifie les erreurs par sa complexité. En matière de sécurisation des échanges et des données, des solutions sont peut-être à chercher du côté de la « Basse Technologie » (Low Tech), voie explorée actuellement par les services russes, entre autres : ceux-ci utilisent depuis 2013 des machines à écrire pour la rédaction de tout document classifié. Sans doute une piste à explorer chez nous, afin d’éviter bien des fuites.

L’informatique n’est qu’un outil, pas un remède, car aucune technologie bonne par principe ou morale par essence.

Faille ou porte dérobée : une confusion bien commode

Dans le même temps que Snowden ou l’affaire Gemalto nous révélaient l’emprise de la NSA sur le monde numérique, de nouvelles failles de grande ampleur (Heartbleed, FREAK, POODLE) venaient remettre en cause des briques fondamentales de la cybersécurité.

Porte dérobéeUne faille est, par définition, un vice involontaire de conception. Or dans de nombreuses affaires récentes, il est avéré que la « faille » a été introduite volontairement dans le logiciel incriminé. Cette pratique, porte le nom de « porte dérobée », « backdoor » en anglais. Elle permet à un tiers de contourner les protections d’un logiciel, avec la complicité de l’éditeur.

Une faille peut égratigner une relation de confiance, surtout lorsqu’elle tarde à être corrigée. Elle reste néanmoins une erreur humaine tout à fait normale. Une porte dérobée est bien pire. Elle trahit la malhonnêteté manifeste de l’éditeur, ce qui annihile toute possibilité de confiance, sève de la sécurité. Rien ne prouve qu’une porte dérobée, supprimée avec mille excuses, n’aie pas simplement été cachée ailleurs. D’où l’intérêt pour une entreprise de déclarer comme « faille », toute porte dérobée pas trop flagrante. Une maniére de travestir la malhonnêteté en erreur humaine, ce qui est bien commode.

Les entreprises françaises sont bien peu au fait des dangers des portes dérobées. Elles accordent bien souvent une confiance absolue à des logiciels propriétaires (à « recette » secrète), appartenant à des éditeurs étrangers. Ce qui peut représenter de potentielles fuites de données sensibles vers des pays concurrents.

Critique de The Code

The Code

Série australienne actuellement en diffusion, The Code base son intrigue sur le thème très porteur du hacking et de la cybercriminalité. Un journaliste et son frère, hacker repenti, enquêtent sur la mort d’une adolescente, liée à un mystérieux camion au chargement top secret. La série tombe, hélas, dans un travers habituel du cinéma : le hacker est présenté comme une sorte de demi-dieu de l’informatique capable de hacker un site top secret en cinq minutes. Rien à voir avec la réalité du hacker, pouvant passer des nuits à la recherche de vulnérabilités le plus souvent inexploitables. La série pèche également en plongeant trop brutalement le spectateur dans l’intrigue, sans aucune introduction.  Dommage car une fois les acteurs en tête, la série est plutôt plaisante à regarder et donne envie de connaître la suite. L’environnement australien dépayse, la réalisation est soignée et les acteurs sont bons.

Cybersécurité : promouvoir la création française

logo-du-fic-2015Le septième Forum international de la cybersécurité (FIC) vient de se tenir à Lille. Il est à la fois le relais et la sonde de la stratégie française en matière de sécurité des systèmes d’information. Cette manifestation étantétroitement liée à l’État, le discours d’ouverture a porté, sans surprise, sur la lutte contre le “cyberdjihadisme” et le renforcement de la surveillance. Ce discours anxiogène a, hélas, masqué le véritable intérêt du FIC : les dizaines de PME françaises et européennes venues nouer des liens entre elles et présenter leurs innovations. Si beaucoup n’ont fait qu’industrialiser des technologies méconnues venues du monde du logiciel libre, quelques acteurs ont su proposer aux entreprises des services de pointe à forte valeur ajoutée. Trois innovations ont retenu notre attention. La première est signée AriadNext, startup rennaise créatrice d’un service de validation en temps réel de documents officiels (passeports, RIB…). Leur pro-
duit, développé en partenariat avec l’administration, permet une sécurisation des souscriptions et une réduction du nombre de fraudes.

Capgemini tend un piège aux pirates

La deuxième est le système d’authentification de la société GenMSecure. Celle-ci a bâti une application ergonomique, remplaçant à la fois le traditionnel identifiant-mot de passe et les codes de validation par SMS pour toutes les transactions sensibles. Lorsqu’une opération requiert l’autorisation de l’utilisateur, celui-ci la confirme avec son téléphone, de manière sécurisée, par le biais d’un code unique. Citons enfin Capgemini, pour son positionnement sur le marché embryonnaire mais prometteur des honeypots. Un honeypot est un piège destiné aux cyberattaquants : s’il est invisible pour l’utilisateur normal, il attire dans un piège celui qui cherche à déjouer les mesures de sécurité. Quand un attaquant tente de s’introduire dans ce piège, il est automatiquement banni. Ce septième FIC s’est donc montré très positif. Plus d’une centaine d’exposants, des milliers de visiteurs et un secteur inventif.

Si le marché européen n’est rien par rapport au géant américain, le développement d’une expertise “locale” est capital dans une optique d’indépendance stratégique. Laisser les Américains ou toute autre puissance avoir pour clients des entreprises françaises revient à leur offrir l’accès à nos données… Le développement et la préservation d’une expertise française est en ce sens une priorité stratégique majeure.

Qu’est-ce qu’un développeur ?

Je suis un développeur. Cette phrase est une évidence désormais pour moi-même et mes collègues. Mais en quoi consiste la profession qui se cache derrière ce terme ? Cet article tente une définition du développeur, d’où qu’il vienne et où qu’il soit. Il exclut ceux qui sont passés du côté managérial de la force car ils n’ont plus le même métier.

php-web-development

Il est évident que le développeur est à classer dans le secteur tertiaire, selon la classification communément admise. Le développeur apporte une solution technique, majoritairement sous forme de code, c’est à dire de donnée (un traitement est une donnée), à partir de matière grise et d’outils informatiques. Son métier n’a aucun lien direct avec le monde des objets physiques. Il ne peut avoir un lien avec celui-ci qu’en contrôlant des objets électromécaniques ne faisant pas partie de son domaine de compétence propre. Il ne travaille que dans le monde du logiciel.

Le travail

Le travail du développeur est en 3 parties, souvent confiées à d’autres acteurs à mesure que les équipes grandissent :

  • Il doit tout d’abord analyser et comprendre un problème. Parfois le problème doit être extrait des pensées confuses d’un non-technicien ce qui n’arrange rien. Heureusement le chef de projet a été inventé pour le dialogue client ! Si l’équipe ne travaille pas avec les méthodes agiles, un cahier des charges est produit puis validé par le client.
  • Le développeur doit ensuite trouver une solution technique à un besoin et la traduire en code. Dans les équipes de taille réduite c’est le développeur qui découpe son travail lui-même. Plus la taille augmente, plus il est cantonné à une partie infime du tout.
    Cette partie est le cœur nucléaire du développement (ou l’usine à gaz, c’est selon), l’analyse et la programmation sont la définition même du métier. Ici le développeur utilise son intelligence pour reproduire sous forme de traitements informatiques le comportement attendu dans les spécifications de la tâche qui lui est attribuée. Il utilise pour cela, des notions théoriques, son expérience mais aussi sa vision des choses et sa manière de penser.
  • La troisième partie est la livraison : la solution technique doit être rendue disponible au client. Cette partie comprend l’installation, la documentation et la démonstration. Dans les équipes de taille supérieure, des personnes sont attribuées spécifiquement à cette tâche. Le débogage éventuel, qui suit cette phase, entre dans la même catégorie que la production technique initiale. Le bug est la conséquence d’une malfaçon (humainement normale ou non).

La formation initiale

La formation d’un développeur est assez hybride, entre une formation d’ingénierie et une formation artisanale. Très souvent, surtout en école privée, le développeur est également formé au management, en vue d’une évolution future vers des postes de ce type. Dès son premier jour de formation, souvent même avant, le futur développeur pratique la programmation. La conception n’est pas encore une préoccupation pour lui mais rapidement, par l’échec pratique et la formation théorique, l’apprenant va commencer à concevoir des systèmes de plus en plus complexes, réutilisables, interopérables et maintenables.

La virtualité du code détermine le mode de formation. C’est parce que coder n’a pas d’autre conséquence sur le monde réel que de consommer de l’énergie, que le développeur peut échouer et recommencer tant qu’il le souhaite, avant de rentrer dans le monde professionnel où son temps devient de l’argent.

Deux grands courants s’affrontent concernant l’instruction des développeurs : l’approche projet et l’approche magistrale.

Pour les tenants de l’approche projet, l’apprenant doit au cours de son cursus, mettre en application ses compétences dans des projets encadrés. Il sera noté à la fois sur ces projets et sur des compétences théoriques dispensées pendant des cours. Cette approche a l’avantage d’harmoniser le niveau technique d’une promotion, mais au prix de la créativité des plus entreprenants.

L’approche magistrale, elle, ne note que sur les compétences théoriques. Elle laisse à la curiosité des apprenants l’apprentissage pratique. Son inconvénient principal est d’avoir en sortie des niveaux assez disparates de compétences pratiques, variant selon la curiosité de chacun. Pour cela, elle se retrouve plus dans les facultés que dans le privé, qui souhaite maintenir une « cote » homogène à son diplôme.

La profession n’exclut pas les autodidactes, bien qu’ils puissent avoir plus de difficultés à entrer et à progresser dans l’univers de la grande entreprise.

La formation continue

La formation d’un développeur n’est jamais terminée. A moins qu’il ne travaille dans le seul entretien d’un existant sénescent (COBOL, vieux mainframes …), le développeur a le devoir de se tenir informé des nouvelles technologies du numérique en général. Le développeur étant souvent technophile (technocritique à minima) cette partie ne lui pose en général aucun problème.

La seconde obligation du développeur est de ne jamais arrêter son entraînement. A l’image des maîtres des anciens Métiers, il doit toujours être en recherche de l’amélioration. Le développeur est un véritable artisan : le seul moyen qu’il possède d’augmenter sa productivité est de s’améliorer lui-même, nulle machine ne peut remplacer l’essence de son métier qui est de concevoir (lorsque ce jour sera venu, il faudra sérieusement s’inquiéter).

Si le développeur doit tendre à la perfection individuelle, la même chose vaut pour l’équipe. La méthode utilisée, en revanche, diffère fondamentalement selon que l’on se trouve dans une petite équipe ou dans une équipe plus grande. Dans une petite équipe, l’amélioration se fera principalement par la discussion et la découverte de synergies entre les membres. Dans une équipe plus grande, il est impensable qu’un développeur connaisse bien tous ses collègues ! L’amélioration des performances devient une question organisationnelle dépendant de la hiérarchie. Elle passe souvent par une division du travail et une standardisation des environnements et méthodes. Le développeur a moins son mot à dire.

Les outils

Pour son travail le développeur utilise un ordinateur. Cela paraît idiot à dire mais mérite d’être dit car cela inclut deux choses : l’ordinateur comme interface physique (clavier, souris, écran(s)) et l’ordinateur comme plateforme logicielle. L’efficacité des deux influe sur la productivité du développeur.

Le développeur accomplit sa mission en utilisant un ou plusieurs langages de programmation. Ils sont traduits en langage machine par un compilateur ou un interpréteur. Très souvent, le développeur entoure cet outil fondamental d’une suite d’autres outils, qui constituent son environnement de développement. Dans les faits, la multitude des options de configuration permet de ne jamais trouver deux développeurs avec exactement le même environnement. Si, pour garantir la cohérence d’une équipe, certains outils doivent être partagés, la majeure partie est entièrement personnalisable. Même dans les équipes massives le développeur ne sera jamais complètement standardisé.

La productivité de l’environnement est un facteur majeur de productivité du développeur. Avec cet environnement il va produire du code de deux types : applications et modules. Les applications sont destinées à un usage précis et sont un agrégat de modules, cimentés par du code. Les modules sont, eux, destinés à être réutilisés dans plusieurs applications, ils peuvent être considérés comme des outils et comme des sous-produits.

Les modules sont un facteur crucial de la productivité d’une équipe de développeurs. Ils permettent de ne pas réinventer la roue à chaque fois, en posant des interfaces simples sur des procédures plus complexes. Ils ont également l’intérêt de factoriser le code : un module crée une fois peut être appelé dans plusieurs parties d’un code. Enfin, ils le remplacement aisé de parties d’un programme, en minimisant les changements à opérer sur le tout.

Rapport au travail et à l’emploi

Le développeur est un employé de bureau, qu’il travaille dans des locaux d’entreprise, chez lui ou bien en nomade. Son rapport à l’emploi est exactement le même que pour un employé de bureau classique et dépend fortement de la structure dans laquelle il choisit de travailler. Le poste et la mentalité d’un développeur change radicalement selon qu’il soit dans une PME ou une grosse structure. Son appréciation de son travail dépend principalement de la taille de l’équipe à laquelle il est intégré.

Un point cependant change fondamentalement par rapport à l’employé de bureau, point qu’il peut partager avec l’ingénieur ou le chercheur : Le rapport du développeur à son travail est essentiellement d’ordre artisanal. Le développeur s’identifie plus volontiers par ce qu’il fait, que par où il le fait. Chez le col blanc « classique » c’est l’entreprise et la position hiérarchique qui identifient la personne. Ce penchant artisanal se retrouve également dans les projets personnels, plus ou moins nombreux et achevés, que le développeur réalise en extra-professionnel, caractéristique que l’on retrouve chez certains artisans.

Un développeur travaillant en grande entreprise a tendance à faire partie d’équipes plus grandes, tenant souvent plus de la chaîne de montage que de l’équipe humaine. Cela n’est pas toujours vrai mais ça change le rapport qu’il peut avoir à son travail : en grande équipe il s’identifie plus par sa position, tel l’employé de bureau, que par ses réalisations. Le développeur qui ne travaille que sur une petite partie d’un tout sans en avoir forcément une vision d’ensemble, aura bien plus de mal à s’y reconnaître.

Le pouvoir

Le développeur est un technicien : c’est-à-dire qu’il est formé à des techniques auquel le commun des mortels ne comprend rien. Il a donc un ascendant sur l’utilisateur final non-technicien. Dans beaucoup de situations, le conseil est une obligation légale. Dans le reste des cas, c’est au développeur en son âme et conscience de décider quel degré de transparence, d’honnêteté et de pédagogie il appliquera.

Le technicien-développeur produit du code. Ce code n’est pas neutre : il impose à l’utilisateur la vision du commanditaire, déformée par le développeur. Lorsque les traitements dans l’entreprise sont entièrement manuels, l’empirisme et le ressenti produisent des méthodes de travail relativement souples, sauf ordres stricts de la direction. Lorsque l’on remplace l’humain par l’ordinateur il se produit une réduction de la créativité. L’ordinateur est aussi créatif que drôle. La créativité d’une équipe humaine est bridée par la rigidité de la machine. Si le développeur à le pouvoir d’assouplir et de rendre ergonomiques ses solutions, jamais il ne pourra s’empêcher d’imposer de la rigidité.

Le code n’est pas non plus sans conséquences économiques. En particulier le code de mauvaise qualité. La gravité économique de la sous-qualité dépend de deux facteurs : la criticité de l’application et l’ampleur des défauts. Le principe de Peter est fondamental lorsqu’il s’agit de manager des développeurs. Un mauvais développeur placé à un endroit stratégique peut couler, ou gravement handicaper, une entreprise. Mieux vaut pas d’outil informatique du tout, qu’un outil qui représente une perte de productivité à un poste donné. D’autant que le développement à un coût non-négligeable.

Conclusion

Le développeur est une sorte d’hybride entre deux tendances : l’artisan-codeur et le salarié du tertiaire. Le poids de chaque tendance varie selon le contexte de travail. Armé d’un ordinateur et de son cerveau, le développeur va, seul ou en équipe, bâtir les briques de la société de l’information, colonne vertébrale de nos sociétés post-industrielles. Tout, aujourd’hui, est informatisé. Si la technique informatique n’est pas neutre en elle-même, les traitements informatiques le sont encore moins car elles sont des œuvres humaines. L’humain derrière chaque application se trouve être un développeur, avec ses compétences, son éthique, sa vision du monde, sa manière de travailler et ses idées. Si ce qu’il réalise est soumis à des contraintes (contractuelles, physiques, informatiques), il joue néanmoins un rôle majeur dans la manière dont se dessine la société de demain, rôle proportionnel à la place qu’occupe l’informatique dans celle-ci.

Agilité et maurassisme

Il est des choses comme ça que l’on croirait très éloignées, impossibles à rapprocher mais qui pourtant présentent des aspects communs que l’on ne remarque souvent que par hasard, celui d’une lecture, d’une rencontre d’un événement.Ici deux courants de pensées que j’aimerais rapprocher :

  • L’Agilité, réponse du bon sens à la rigidité et la lourdeur des idéologies industrielles regroupées sous l’appellation d’Organisation « Scientifique » du Travail (O.S.T) : Néo-Taylorisme, Juridisme, Procédurisme …
  • Le Maurassisme, ou positivisme politique en réponse aux idéologies politique issues de la révolution libérale : Marxisme, Libéralisme, Nazisme …

Premier constat : les deux sont des réponses à des concepts apparus autour de la révolution industrielle ou bien grâce à elle.

Second constat : les deux se basent sur l’étude rationnelle des faits pour tirer des conclusions, ce sont des contre-idéologies.

Troisième constat : les deux constatent la faillibilité de l’humain et plutôt que de la nier, font avec et bâtissent des systèmes résistants.

Quatrième constat : les deux prônent des systèmes basés sur les compétences de chaque acteur et la liberté absolue d’exercer un rôle bien précis plutôt que de vouloir des rôles larges de touche-à-tout bon-à-rien.

Cinquième constat : les deux voient la réorganisation interne du système comme un moyen d’adaptation.

Sixième constat : les deux voient d’un bon œil l’auto-organisation des acteurs.

Septième constat : les deux ont pour but de servir le plus efficacement le commanditaire.

Les deux ne servent pas les mêmes buts, mais je trouvais intéressant ce rapprochement.