L’Open Source entre dans la normalité

SourceForge.net, « le » site de l’Open Source, sur lequel vous trouverez nombre de logiciels open source ou freeware intéressants de tous domaines. L’Open Source a, sans conteste, de plus en plus le vent en poupe. Il n’est plus question de discuter de son utilité, mais plutôt, pour les entreprises, de voir si elles n’ont pas intérêt à y passer. L’Open Source entre dans la normalité, et deviendrait même le standard de fait. Le doute n’est plus permis, l’Open Source domine clairement le marché de l’informatique. Le système d’exploitation libre Linux est omniprésent dans les box internet, dans les smartphones avec Android ou ses variantes, les smart TV et autres terminaux mobiles – ou non –, les serveurs réseau, les PC de bureau avec les innombrables distributions Linux comme Red Hat, Ubuntu, Debian ou autre Open Suse. Les entreprises sont de moins en moins réticentes et regardent au contraire d’un œil envieux les produits open source, lorsqu’elles n’envisagent pas de faire évoluer à plus ou moins long terme leurs solutions dans cette voie. Ce qui pouvait paraître impensable à des esprits étriqués leur apparaît désormais comme totalement incontournable, Microsoft en étant la preuve vivante.

L’Open Source, le modèle dominant

Nombre d’éditeurs font le choix de solutions libres alors qu’ils seraient allés, ou allaient systématiquement il y a quelques années, vers des solutions sous copyright. Des versions commerciales deviennent, au moins en partie, libres. Après, tout dépend du modèle choisi. Un éditeur souhaitant se lancer dans l’Open Source doit créer et stimuler une communauté capable d’enrichir les fonctionnalités de son logiciel et élargir son offre avec des services payants. La bonne utilisation des solutions open source par les entreprises décidées à faire le « grand saut » nécessite souvent l’expertise de prestataires spécialisés. Cela a pour effet de créer un marché fructueux pour ceux capables de s’y positionner et offrent de réelles compétences dans un domaine donné. Le profit peut passer par différents services : l’expertise, l’intégration des systèmes, le support client, y compris tutoriels et documentation, ou encore le développement de plugins complémentaires. L’Open Source n’est donc pas moins rentable à l’économie, et c’est même souvent le contraire, l’ouverture logicielle ou matérielle (Open Hardware) créant sans cesse de nouvelles opportunités. L’Open Source permet une constante amélioration des logiciels par ajout de fonctionnalités, la correction plus rapide des bugs comparativement aux softs propriétaires et garantit un niveau élevé de qualité et de sécurité. La mutualisation du savoir au sein des communautés de développeurs alliant souvent collaboration, expérimentation, innovation et agilité est la clef de tous ces avantages. Le secret du sourire de la Joconde ? Elle aimait l’Open Source.

Microsoft aime l’Open Source

Microsoft, éditeur pourtant peu orienté Open Source à l’époque de Steve Ballmer, a grand ouvert la porte à ce monde qu’il combattait auparavant en poursuivant sa politique d’interopérabilité vis-à-vis des développeurs et de ses clients. L’éditeur de Seattle a proposé des solutions OS comme NuGet, propose sous Windows 10 Pro et Entreprise WSFL (Windows Subsystem For Linux), a racheté GitHub, a passé dans l’Open Source le .Net, rendant grâce à cela Powershell et l’éditeur Visual Code multi plates-formes et réfléchit à l’éventualité de partir d’un noyau Linux pour les futures versions de Windows. Il est bien loin le temps où le CEO de Microsoft, Steve Ballmer, proclamait haut et fort que l’Open Source était le diable. Cela montre l’aspect désormais incontournable de l’Open Source, même pour ses (anciens) ennemis déclarés. Les grandes entreprises ont compris qu’elles pouvaient trouver dans l’Open Source des solutions particulièrement solides et de vraies opportunités de profits. Il est de plus en plus fréquent de voir des appels d’offres mentionnant, voire exigeant, des solutions open source.

Sous l’Open Source, l’Open Hardware

La banalisation du matériel a amené en 1981, sous l’impulsion d’IBM qui a ouvert son architecture, à la banalisation des Personal Computer et au développement de la microinformatique telle que nous la connaissons aujourd’hui. Sans cela, nous serions peut-être à l’heure actuelle sous le joug d’éditeurs ultra-propriétaires comme Apple ou Oracle. Cette banalisation du matériel par l’ouverture à tous a donné naissance à une immense industrie du logiciel, largement dominée par Microsoft. L’Open Source apporte une rupture comparable d’un point de vue logiciel, à sa banalisation voire à sa démonétisation. Système d’exploitation, serveurs, bases de données, tous ces composants logiciels ont perdu l’essentiel de la valeur marchande qu’ils portaient. Cela a donné naissance à une nouvelle industrie, d’Amazon à eBay ou Facebook en passant par Google. Ces géants du Web utilisent des centaines de milliers de serveurs et ont impérativement besoin de logiciels démonétisés. Cela ne les empêche pas de garder quelques brevets propriétaires bien au chaud, ce qui n’est pas forcément gênant.

La France, terre d’asile… de l’Open Source ?

D’après le cabinet américain Gartner, une entreprise américaine sur deux emploie un ou plusieurs logiciels libres pour ses tâches les plus importantes. En France, ce chiffre grimperait à neuf sur dix. La France n’est rien moins que le deuxième pays au monde à utiliser massivement des logiciels Open Source. Les applications open source occupent les premiers rangs en termes de part de marché dans différents domaines, dont les serveurs web, les systèmes d’exploitation de serveurs et ceux de bureau, les moteurs de recherche, les bases de données et autres systèmes d’infrastructure de technologies de l’information et de la communication. Les parts de marché des applications open source sont plus grandes pour l’Europe que pour les États-Unis au moins dans le domaine des systèmes d’exploitation et des PC. L’Europe et plus particulièrement la France est leader en ce qui concerne la collaboration au niveau mondial des développeurs de logiciels open source et même en termes de « global project leaders », suivie de près par l’Amérique du Nord. Il est d’autant plus étonnant, du coup, de voir dans l’Hexagone de grands ministères faire marche arrière et revenir à des logiciels propriétaires après avoir testé – avec succès pourtant – des solutions ouvertes. Ce choix est rarement le fait des techniciens qui y travaillent, généralement conscients des avantages de l’Open Source, au moins en matière de sécurité et de coût. Mais après tout, nos politiques nous ont montré maintes fois que la raison leur importait peu. Le modèle de développement Open Source décrit par la société Red Hat (https://www.redhat.com/fr/about/open-source).

Les outils open source de développement web

Le Web est loin d’être le parent pauvre en termes de logiciels open source. En voici une petite liste – donc pas du tout exhaustive.

Angular et AngularJS

Angular est un framework permettant le développement de Single Page Application, comme AngularJS, mais propose contrairement à lui un développement par composant. Angular est une réécriture complète d’AngularJS, créé par la même équipe de développement. AngularJS a des notions de portée et de contrôleurs, contrairement à Angular qui utilise une architecture à base de hiérarchie de composants et services. Angular propose l’utilisation du langage TypeScript, qui est une surcouche du JavaScript. Ce langage permet d’améliorer et de sécuriser la production de code Javascript. Lors de la compilation, le code écrit en TypeScript est retransformé en Javascript. Techniquement, l’opération en question est appelée une transcompilation. Une différence non négligeable entre les deux versions tient dans l’écart de performances. Angular est nettement plus optimisé que son parent. Pour ceux qui souhaiteraient débuter et hésiteraient entre AngularJS et le « non JS », il faut opter sans discussion possible pour Angular. Il est constamment mis à jour et supporte toujours la dernière version de JavaScript.

Atom

Atom est l’un des éditeurs de texte les plus populaires. Il est open source et supporte l’édition de type cross-platform. Il bénéficie d’un gestionnaire de package intégré et d’une auto-complétion efficace ainsi que du support des langages AngularJS, TypeScript, Jshint et turbo-JavaScript, tous très efficaces pour le développement web rapide.

Brackets

Brackets est un éditeur de code source populaire pour les langages HTML, CSS et JavaScript. Il a été développé par Adobe et écrit lui-même à l’aide de ces trois langages. Brackets accélère le processus de développement au moins de par le fait qu’il propose une prévisualisation de l’exécution du code du navigateur dans son éditeur. Sa première release date du 4 novembre 2014.

Bootstrap

Bootstrap est un outil open source gratuit destiné au développement rapide d’interface web « responsive ». Il propose un ensemble de classes et de contrôles graphiques prédéfinis divers et variés ainsi que des extensions JavaScript. C’est aussi un des projets les plus populaires sur GitHub.

Ember.js

EmberJS est un framework javascript MVC développé par Yehuda Katz en 2011. Le code est disponible sur leur dépôt GitHub. D’un point de vue historique, EmberJS est issu de SproutCore ou plus précisément de SproutCore 2. Ce framework s’utilise côté client, tout comme BackboneJS. Il permet de gérer les actions utilisateur sur une page sans rechargement et permet donc de créer des « one-page-applications ». Les sites ou applications web utilisant ce genre de framework (Angular, Ember, Backbone…) disposent d’une API (créée avec le langage de votre choix, Ruby avec le framework Ruby On Rails, par exemple) afin de s’interfacer avec une base de données. EmberJS n’est pas destiné à gérer l’accès à la base de données, il est là pour faciliter le rendu des pages et les interactions avec l’utilisateur.

Firebug

Firebug est un des outils les plus populaires auprès des développeurs web. C’est une extension de Mozilla Firefox qui facilite l’édition, le débogage et le monitoring de code CSS, HTML ou JavaScript sur une page web. Firebug a été développé par Joe Hewitt en 2006. Ses fonctionnalités clefs sont l’édition et la vérification de code HTML, l’optimisation CSS, la surveillance de l’activité réseau, le débogage, le profilage, la compilation à la volée et l’exécution de code JavaScript, l’exploitation DOM et la gestion des cookies.

Less

Less est un préprocesseur CSS de syntaxe similaire (au CSS). Il supporte un grand nombre de fonctionnalités susceptibles d’accélérer le développement Web. Less fournit des fonctionnalités de programmation classiques pour créer du code CSS facile à maintenir et à améliorer. Il a été développé par un certain Alexis Sellier.

Node.js

Node.js est un environnement d’exécution JavaScript construit sur le moteur JavaScript V8 de Chrome. Parmi les modules natifs de Node.js, celui appelé http permet le développement de serveur pour le dit protocole. Il est donc possible de se passer de serveurs web tels que Nginx ou Apache lors du déploiement de sites et d’applications web développés avec Node.js. Plus concrètement, Node.js est un environnement bas niveau permettant l’exécution de code JavaScript côté serveur.

Notepad++

Est-il vraiment besoin de présenter Notepad++ ? C’est un éditeur de code et de texte open source pour Microsoft Windows. Il prend en charge de nombreux langages via un système de plugins très efficace et facilement extensible. Codé en C++ avec les bibliothèques STL et win32 api, ce programme de taille réduite est très performant et offre de nombreuses fonctionnalités. Parmi celles-ci, les principales sont un système d’édition par onglets, la coloration syntaxique et la prise en charge de plus de cinquante langages de programmation, de scripting et de définition d’interface. Sa communauté, très importante en volume, offre un support efficace et de nombreux plugins. Il supporte l’enregistrement de macros et leur répétition, les bookmarks et la recherche/remplacement de type PCRE (Perl Compatible Regular Expression), c’est-à-dire supportant les expressions régulières.

XAMPP

XAMPP est un outil open source multi plates-formes très prisé des développeurs web. XAMPP est en fait composé de la plate-forme X-Cross, d’Apache, de MariaDB, de PHP et de Perl. Il utilisait auparavant MySQL à la place de MariaDB. Le tout est intégré dans le package XAMPP, évitant aux développeurs d’avoir à s’occuper de l’installation et la configuration de ces outils. C’est sans doute l’outil le plus simple pour créer un serveur web local. L’Open Source Initiative, pour « la promotion et la protection des logiciels et des communautés open source ».

À la source de l’Open Source

Les logiciels libres existent officiellement depuis 1985, année de la création de la FSF (Free Software Foundation) par un certain Richard M. Stallman, un « vilain » barbu qui aime être représenté sous forme de Joconde. Pour une bonne définition de l’Open Source, autant remonter à… la source, c’est à dire à cette déclaration de Stallman : « Quand on dit qu’un logiciel est “ libre ”, on entend par là qu’il respecte les libertés essentielles de l’utilisateur : la liberté de l’utiliser, de l’étudier, de le modifier, et de redistribuer des copies avec ou sans modification. C’est une question de liberté, pas de prix, pensez donc à « liberté d’expression » et pas à « bière gratuite » (think of « free speech » not « free beer ») ». Vous trouverez une définition plus exhaustive sur le site de l’Open Source Initiative, à l’adresse https://opensource.org.

OS versus propriétaire : PostgreSQL gagne du terrain sur Oracle

PostgreSQL a actuellement une cote incroyable par rapport à ses concurrents propriétaires, et notamment Oracle. Nombre de sociétés ont décidé de migrer leurs bases de données et leurs applicatifs vers PostgreSQL, quittant le giron d’Oracle (où le loyer est très cher), las de pratiques commerciales « curieuses » visant à augmenter sans cesse – et sans raison apparente – les profits de la société sans apporter la moindre valeur ajoutée. Nicolas Leroy-Fleuriot, le patron de Cheops Technology, a déclaré dernièrement son ras-le-bol d’Oracle et de ses pratiques douteuses et quitte le navire en emportant ses clients (Cf. article dans le n°178 de L’Informaticien).