Piliers du web et et de l’informatique, méconnues de façon générale hors de l’univers des développeurs informatiques, les librairies sont pourtant des éléments essentiels. Ces éléments utilisés un peu partout par beaucoup d’applications, plateformes web, systèmes… sont parfois gérés par une seule et même personne, qui n’est que rarement reconnue pour son travail. En témoigne un pétage de plombs d’un développeur l’an dernier :

Au bout du rouleau, un développeur sabote ses logiciels open source

En effet, son travail était utilisé par de très nombreux autres systèmes :

La première permet d’utiliser des caractères de couleur dans une console d’administration en ligne de commande et, selon GitHub, est utilisée dans plus de 27 000 autres paquets logiciels. La seconde est capable de générer d’importantes quantités de données de test, ce qui est très utile pour le développement de logiciels. Elle est référencée dans plus de 6 000 paquets logiciels.

C’est dire si ces librairies sont fondamentales dans le domaine de la programmation. On les appelle aussi parfois bibliothèques (et ce terme serait finalement plus proche de la réalité) mais l’anglicisme library s’est imposé… d’où librairie.

1668438058269.jpeg

Comprendre ce que sont les librairies

Le terme librairie est en fait assez pertinent puisqu’il s’agit plus ou moins d’une bibliothèque dans laquelle le développeur va aller chercher des portions de code, c’est à dire des éléments déjà fonctionnels : le codeur ne va pas tout réécrire, il va aller chercher en fonction de ses besoin ces éléments et ainsi gagner un temps précieux.

La plus connue est probablement node.js.

Ces librairies existent dans différents langages de programmation - dans l’univers du développement, il y a en effet des langages de programmation que l’on utilise en fonction du support (web, application, logiciel) et des besoins. On parle de PHP, Python, C, Java, Ruby, etc… Il n’est pas nécessaire de réinventer la roue à chaque fois, on peut utiliser un modèle ou une roue déjà existante.

Dans ces librairies les fonctions sont “expliquées” : on parle alors de “documenter” (pour faire simple, celui qui écrit cette librairie explique cette partie du code ou cette fonction, ce qu’elle permet de faire et comment le faire). Le fait de documenter (décrire les étapes d’un travail, décrire l’utilisation d’une fonction) mais aussi d’utiliser une librairie permet à un autre développeur de comprendre ce qui a été fait. Surtout s’il doit reprendre le projet ou en utiliser un partie !

Le fait que les librairies soient standards permet aussi de faciliter ce travail.

Le risque de dépendre des librairies

Si une librairie est bien codée, pas de souci. Si une librairie ne dépend pas d’une seule personne (comme nous l’avons vu en haut), pas de souci. Si une librairie contient une faille, cela peut vite devenir un souci, surtout si elle est utilisée un peu partout comme ce le fut en 2021 :

Faille Log4j : un cauchemar pour des millions d'applications Java - Le Monde Informatique

Les librairies et les frameworks