Solutions & Technologies

Apache Maven

Apache Maven (couramment appelé Maven) est un outil de gestion et d'automatisation de production des projets logiciels Java en général et Java EE en particulier. Il est utilisé pour automatiser l'intégration continue lors d'un développement de logiciel. Maven est géré par l'organisation Apache Software Foundation. L'outil était précédemment une branche de l'organisation Jakarta Project. L'objectif recherché est de produire un logiciel à partir de ses sources, en optimisant les tâches réalisées à cette fin et en garantissant le bon ordre de fabrication. Il peut se comparer au système make sous Unix ou à l'outil Ant. Maven utilise un paradigme connu sous le nom de Project Object Model (POM) afin de décrire un projet logiciel, ses dépendances avec des modules externes et l'ordre à suivre pour sa production. Il est livré avec un grand nombre de tâches pré-définies, comme la compilation de code Java ou encore sa modularisation. Un élément clé et relativement spécifique de Maven est son aptitude à fonctionner en réseau. Une des motivations historiques de cet outil est de fournir un moyen de synchroniser des projets indépendants : publication standardisée d'information, distribution automatique de modules jar. Ainsi en version de base, Maven peut dynamiquement télécharger du matériel à partir des dépôts logiciels connus. Il propose ainsi la synchronisation transparente de modules nécessaires. Maven1 et Maven2 ont été développés en parallèle mais les versions ultérieures sont basées sur la structure de la deuxième version. Les parties suivantes de l'article traitent en priorité Maven2. Une version 3 de Maven est sortie le 8 octobre 2010. La fin de support de la version 2 a été actée le 18 février 2014.

Arduino

Arduino est la marque d'une plateforme de prototypage open-source qui permet aux utilisateurs de créer des objets électroniques interactifs à partir de cartes électroniques matériellement libres sur lesquelles se trouve un microcontrôleur (d'architecture Atmel AVR comme l'Atmega328p, et d'architecture ARM comme le Cortex-M3 pour l'Arduino Due). Les schémas de ces cartes électroniques sont publiés en licence libre. Cependant, certaines composantes, comme le microcontrôleur par exemple, ne sont pas sous licence libre. Le microcontrôleur peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la domotique (le contrôle des appareils domestiques — éclairage, chauffage…), le pilotage d'un robot, de l'informatique embarquée, etc. C'est une plateforme basée sur une interface entrée/sortie simple. Il était destiné à l'origine principalement mais pas exclusivement à la programmation multimédia interactive en vue de spectacles ou d'animations artistiques, ce qui explique en partie la descendance de son environnement de développement de Processing, lui-même inspiré de l'environnement de programmation Wiring (l'un pensé pour la production d'applications impliquant des graphismes et l'autre pour pilotage de salles de spectacles). Arduino peut être utilisé pour construire des objets interactifs indépendants (prototypage rapide), ou bien peut être connecté à un ordinateur pour communiquer avec ses logiciels (ex. : Max/MSP, Usine Hollyhock, Pure Data, SuperCollider). En 2011, les versions vendues sont pré-assemblées. Des informations sont fournies pour ceux qui souhaitent assembler ou construire une carte Arduino eux-mêmes. Le projet Arduino a reçu un titre honorifique à l'Ars Electronica 2006, dans la catégorie Digital Communities.

Debian

Debian (/ˈde.bi.ən/) est une organisation communautaire et démocratique, dont le but est le développement de systèmes d'exploitation basés exclusivement sur des logiciels libres. Chaque système, lui-même nommé Debian, réunit autour d'un noyau de système d'exploitation de nombreux éléments pouvant être développés indépendamment les uns des autres, pour plusieurs architectures matérielles. Ces éléments, programmes de base complétant le noyau et logiciels applicatifs, se présentent sous forme de « paquets » qui peuvent être installés en fonction des besoins (voir Distribution des logiciels). L'ensemble système d'exploitation plus logiciels s'appelle une distribution. On assimile généralement ces systèmes d'exploitation au système Debian GNU/Linux, la distribution GNU/Linux de Debian, car jusqu'en 2009 c'était la seule branche parfaitement fonctionnelle. Mais d'autres distributions Debian sont en cours de développement en 2013 : Debian GNU/Hurd et Debian GNU/kFreeBSD. La version Debian « Squeeze » est la première à être distribuée avec le noyau kFreeBSD en plus du noyau Linux. Debian est utilisée comme base de nombreuses autres distributions telles que Linux Mint et Ubuntu qui rencontrent un grand succès, ainsi que Q4OS, distribution légère plus spécialement dédiée aux habitués de Windows. Fin 2005, la distribution Debian a été retenue par la ville de Munich pour équiper les quelque 14 000 ordinateurs de type PC qui formaient alors son parc informatique. En 2014, un bilan établi par la nouvelle équipe municipale annonce 14 millions d'euros (M€) comme coût de la migration, compensés partiellement par 11 M€ en économies de licences et de matériel. Le coût du retour à Windows est estimé par la même étude à 3 M€ de matériel, plus le coût des licences, inconnu puisque négociable. En 2020, ZdNet rapporte que la ville dispose de 80 % de son parc informatique sous MiNux (Debian) depuis 2013, et que 2017 a été le tournant vers un retour à Windows 10, principalement pour des raisons d'interopérabilité, à l'aube de la nouvelle décennie.

Docker

Docker est un logiciel libre permettant de lancer des applications dans des conteneurs logiciels. Selon la firme de recherche sur l'industrie 451 Research, « Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel serveur ». Il ne s'agit pas de virtualisation, mais de conteneurisation, une forme plus légère qui s'appuie sur certaines parties de la machine hôte pour son fonctionnement. Cette approche permet d'accroître la flexibilité et la portabilité d’exécution d'une application, laquelle va pouvoir tourner de façon fiable et prévisible sur une grande variété de machines hôtes, que ce soit sur la machine locale, un cloud privé ou public, une machine nue, etc. Techniquement, Docker étend le format de conteneur Linux standard, LXC, avec une API de haut niveau fournissant une solution pratique de virtualisation qui exécute les processus de façon isolée. Pour arriver à ses fins, Docker utilise entre autres LXC, cgroups et le noyau Linux lui-même. Contrairement aux machines virtuelles traditionnelles, un conteneur Docker n'inclut pas de système d'exploitation, mais s'appuie au contraire sur les fonctionnalités du système d’exploitation fournies par la machine hôte. La technologie de conteneur de Docker peut être utilisée pour étendre des systèmes distribués de façon qu'ils s'exécutent de manière autonome depuis une seule machine physique ou une seule instance par nœud. Cela permet aux nœuds d'être déployés au fur et à mesure que les ressources sont disponibles, offrant un déploiement transparent et similaire aux PaaS pour des systèmes comme Apache Cassandra, Riak ou d'autres systèmes distribués.

Firefox

Mozilla Firefox [mɒˈzɪlə ˈfaɪɚfɑks] est un navigateur web libre et gratuit, développé et distribué par la Mozilla Foundation avec l'aide de milliers de bénévoles grâce aux méthodes de développement du logiciel libre/open source et à la liberté du code source. Il est géré depuis 2003 par la fondation Mozilla. Celle-ci a créé en 2005 la société employant l'ensemble des salariés de la fondation, la Mozilla Corporation, et déposé la marque Mozilla en 2006. Firefox est à l'origine un programme dérivé du logiciel Mozilla (actuellement connu sous le nom de SeaMonkey), mais reprenant uniquement les fonctions de navigation de celui-ci. Ce logiciel multiplateforme est compatible avec diverses versions de Windows, macOS, GNU/Linux, Android et, fin 2015, iOS. Il a été porté sur d'autres systèmes d'exploitation, ce qui est rendu possible par la mise à disposition de son code source sous licence libre MPL. Ce logiciel a connu un succès croissant dans un premier temps, dépassant 1,2 milliard de téléchargements en janvier 2010. Même si ce chiffre ne reflète pas le nombre réel d'utilisateurs du logiciel, Firefox est rapidement devenu le principal concurrent d'Internet Explorer, le navigateur Web de Microsoft. En décembre 2010, Firefox devient temporairement le navigateur le plus utilisé en Europe devant Internet Explorer et Google Chrome. Il se fait finalement rattraper par ce dernier pendant l'année 2011. Le 3 avril 2013, le projet Mozilla fête ses quinze années d'existence. Depuis 2010 et en partie depuis l'essor des smartphones, Firefox a vu sa part du marché des navigateurs web décroître d'environ 35 % à environ 5 % (estimations entre 3,3 % et 5,4 % en février 2020), au profit notamment des navigateurs Google Chrome et Safari (Apple). Parmi les initiatives de la fondation destinées à enrayer ce déclin, Mozilla lance fin 2016 un énorme chantier d'alignement sur la concurrence, avec des refontes structurelles tant au niveau du code (notamment l'implémentation du multithreading et l'unification sur le système WebExtensions) que de l'interface ; une étape importante se concrétise avec Firefox Quantum, soit la version 57 du navigateur, qui est sorti fin 2017. En septembre 2019, l'agence allemande de sécurité informatique (BSI), recommande Firefox car étant le navigateur le plus sécurisé.

FreeBSD

FreeBSD est un système d'exploitation UNIX libre. Le nom vient de l'association d'une part de free qui signifie à la fois « libre » et « gratuit » dans l'anglais courant, et d'autre part de Berkeley software distribution (BSD), l'UNIX développé à l'université de Berkeley. Free prend un sens plus connoté dans ce nom : il signifie que le logiciel peut être utilisé gratuitement même pour un usage commercial, que les sources complètes sont disponibles et utilisables avec un minimum de restrictions quant à leur usage, leur distribution et leur incorporation dans un autre projet (commercial ou non), et enfin que n'importe qui est libre de soumettre son code source pour enlever un bug ou améliorer le logiciel, ce code étant incorporé aux sources après accord. L'objectif du projet FreeBSD est de fournir un système qui puisse servir à tout, avec le moins de restrictions possibles. Historiquement, les développeurs se sont focalisés pendant un temps sur la plate-forme i386 au sens large (x86) et les performances, c'est-à-dire les temps de réponses du système pour n'importe quelle sollicitation. En 2010, FreeBSD est utilisable et soutenu par la communauté sur un grand nombre de plates-formes : Alpha, AMD64, ARM, i386 (architecture i386 ou x86, incluant les Pentium), ia64 (la famille de processeurs Intel Itanium et Itanium 2), x86-64, MIPS, PC98 (architecture NEC PC-98x1), PowerPC, SPARC (architecture UltraSPARC de Sun Microsystem) et Xbox. FreeBSD offre des possibilités avancées en matière de réseau, de performance, de sécurité et de compatibilité. Il y a notamment une compatibilité binaire Linux et Windows NT (XP inclus). La première permet l'exécution de programmes compilés sur une plateforme GNU/Linux, la seconde permet l'utilisation des pilotes Windows NT des cartes réseau sans fil Wi-Fi. Le logiciel est un standard industriel sur le marché des serveurs. De nombreux fournisseurs d'accès, hébergeurs et organismes utilisent FreeBSD, parmi lesquels Walnut Creek CDROM, Yahoo! Inc. ou Netcraft. Le 24 mai 1999, l'équipe du serveur miroir ftp.cdrom.com a annoncé avoir battu la veille leur record de transfert de données pour un serveur : 1,33 tébioctet en 24 heures.

FreeRTOS

FreeRTOS est un système d'exploitation temps réel (RTOS) faible empreinte, portable, préemptif et Open source pour microcontrôleur. Il a été porté sur 33 architectures différentes. Créé en 2003 par Richard Barry et la FreeRTOS Team, il est aujourd’hui parmi les plus utilisés dans le marché des systèmes d'exploitation temps réel. FreeRTOS est disponible gratuitement sous une licence MIT depuis le 29 novembre 2017. Les versions précédentes étaient disponibles sous licence GPL modifiée et utilisable sans paiement de redevances, cette licence n’oblige pas les développeurs à publier le code de leurs logiciels applicatifs mais impose de garder le noyau de FreeRTOS Open Source. Une licence commerciale avec le support ad hoc (OpenRTOS) est également proposée par la société High Integrity Systems. Le nombre de tâches exécutées simultanément et leur priorité ne sont limités que par le matériel. L'ordonnancement est un système de file d'attente basé sur les Sémaphores et les Mutex. Il est basé sur le modèle Round-Robin avec gestion des priorités. Conçu pour être très compact, il n'est composé que de quelques fichiers en langage C, et n'implémente aucun pilote matériel. Les domaines d'applications sont assez larges, car les principaux avantages de FreeRTOS sont l’exécution temps réel, un code source ouvert et une taille très faible. Il est donc utilisé principalement pour les systèmes embarqués qui ont des contraintes d'espace pour le code, mais aussi pour des systèmes de traitement vidéo et des applications réseau qui ont des contraintes "temps réel".

Hadoop

Hadoop est un framework libre et open source écrit en Java destiné à faciliter la création d'applications distribuées (au niveau du stockage des données et de leur traitement) et échelonnables (scalables) permettant aux applications de travailler avec des milliers de nœuds et des pétaoctets de données. Ainsi chaque nœud est constitué de machines standard regroupées en grappe. Tous les modules de Hadoop sont conçus selon l'idée que les pannes matérielles sont fréquentes et qu'en conséquence elles doivent être gérées automatiquement par le framework. Hadoop a été inspiré par la publication de MapReduce, GoogleFS et BigTable de Google. Hadoop a été créé par Doug Cutting et fait partie des projets de la fondation logicielle Apache depuis 2009. Le noyau d'Hadoop est constitué d'une partie de stockage : HDFS (Hadoop Distributed File System), et d'une partie de traitement appelée MapReduce. Hadoop fractionne les fichiers en gros blocs et les distribue à travers les nœuds du cluster. Pour traiter les données, il transfère le code à chaque nœud et chaque nœud traite les données dont il dispose. Cela permet de traiter l'ensemble des données plus rapidement et plus efficacement que dans une architecture supercalculateur plus classique qui repose sur un système de fichiers parallèle où les calculs et les données sont distribués via les réseaux à grande vitesse. Le framework Hadoop de base se compose des modules suivants : Le terme Hadoop se réfère non seulement aux modules de base ci-dessus, mais aussi à son écosystème et à l'ensemble des logiciels qui viennent s'y connecter comme Apache Pig, Apache Hive, Apache HBase, Apache Phoenix, Apache Spark, Apache ZooKeeper, Apache Impala, Apache Flume, Apache Sqoop, Apache Oozie, Apache Storm.

JavaScript

JavaScript est un langage de programmation de scripts principalement employé dans les pages web interactives et à ce titre est une partie essentielle des applications web. Avec les technologies HTML et CSS, JavaScript est parfois considéré comme l'une des technologies cœur du World Wide Web. Une grande majorité des sites web l'utilisent, et la majorité des navigateurs web disposent d'un moteur JavaScript dédié pour l'interpréter, indépendamment des considérations de sécurité qui peuvent se poser le cas échéant. C'est un langage orienté objet à prototype : les bases du langage et ses principales interfaces sont fournies par des objets. Cependant, à la différence d'un langage orienté objets, les objets de base ne sont pas des instances de classes Chaque objet de base (ex : l'objet document ou windows) possède son propre modèle qui lui permettra d'instancier des objets fils à l'aide de constructeurs utilisant ses propriétés. Par exemple, la propriété de prototypage va leur permettre de créer des objets héritiers personnalisés. En outre, les fonctions sont des objets de première classe. Le langage supporte le paradigme objet, impératif et fonctionnel. JavaScript est le langage possédant le plus large écosystème grâce à son gestionnaire de dépendances npm, avec environ 500 000 paquets en août 2017. JavaScript a été créé en 1995 par Brendan Eich. Il a été standardisé sous le nom d'ECMAScript en juin 1997 par Ecma International dans le standard ECMA-262. En juin 2020, le standard ECMA-262 en était à sa 11ème édtion. JavaScript est une implémentation d'ECMAScript, celle mise en œuvre par la fondation Mozilla. L'implémentation d'ECMAScript par Microsoft (dans Internet Explorer jusqu'à sa version 9) se nomme JScript, tandis que celle d'Adobe Systems se nomme ActionScript. JavaScript est aussi employé pour les serveurs avec l'utilisation (par exemple) de Node.js ou de Deno.

JavaServer Pages

Le JavaServer Pages ou JSP est une technique basée sur Java qui permet aux développeurs de créer dynamiquement du code HTML, XML ou tout autre type de page web. Cette technique permet au code Java et à certaines actions prédéfinies d’être ajoutés dans un contenu statique. Depuis la version 2.0 des spécifications, la syntaxe JSP est complètement conforme au standard XML. La syntaxe du JSP ajoute des balises XML, appelées actions JSP, qui peuvent être utilisées pour appeler des fonctions. De plus, cette technique permet la création de bibliothèques de balises JSP (taglib) qui agissent comme des extensions au HTML ou au XML. Les bibliothèques de balises offrent une méthode indépendante de la plate-forme pour étendre les fonctionnalités d'un serveur HTTP. Il existe aussi un langage de script particulier, appelé Expression Language (EL) destiné à réduire l'injection de code java au sein des pages JSP ainsi qu'à étendre les possibilités des taglibs, tel que la JSTL. Les JSP sont compilées par un compilateur JSP pour devenir des servlets Java. Un compilateur JSP peut créer une servlet Java en code source Java qui peut à son tour être compilé par le compilateur Java, ou peut créer le pseudo-code Java interprétable directement. Dans les deux cas, il est bon de comprendre comment le compilateur JSP transforme la page en servlet Java. Voir l’exemple de page JSP fourni en fin d’article, avec la servlet créée et la page HTML résultante.

Linux kernel

Le noyau Linux est un noyau de système d'exploitation de type UNIX. Il est utilisé dans plusieurs systèmes d'exploitation dont notamment GNU/Linux (couramment appelé « Linux ») et Android. Le noyau Linux est un logiciel partiellement libre (contenant des BLOB et des modules non-libre - consultez Linux-libre) développé essentiellement en langage C par des milliers de bénévoles et salariés collaborant sur Internet. Le noyau est le cœur du système, c'est lui qui s'occupe de fournir aux logiciels une interface de programmation pour utiliser le matériel. Le noyau Linux a été créé en 1991 par Linus Torvalds pour les compatibles PC. Initialement conçu pour l'architecture de processeur x86, il a ensuite été porté sur de nombreuses autres, dont m68k, PowerPC, ARM, SPARC, MIPS et RISC-V. Il s'utilise dans une très large gamme de matériel, des systèmes embarqués aux superordinateurs, en passant par les téléphones mobiles et ordinateurs personnels. Ses caractéristiques principales sont d'être multitâche et multi-utilisateur. Il respecte les normes POSIX ce qui en fait un digne héritier des systèmes UNIX. Au départ, le noyau a été conçu pour être monolithique. Ce choix technique fut l'occasion de débats enflammés entre Andrew S. Tanenbaum, professeur à l'université libre d'Amsterdam qui avait développé Minix, et Linus Torvalds. Andrew Tanenbaum arguant que les noyaux modernes se devaient d'être des micro-noyaux et Linus répondant que les performances des micro-noyaux n'étaient pas bonnes. Depuis sa version 2.0, le noyau, bien que n'étant pas un micro-noyau, est modulaire, c'est-à-dire que certaines fonctionnalités peuvent être ajoutées ou enlevées du noyau à la volée (en cours d'utilisation).

Moodle

Moodle est une plateforme d'apprentissage en ligne (en anglais : Learning Management System ou LMS) libre distribuée sous la Licence publique générale GNU écrite en PHP. Développée à partir de principes pédagogiques, elle permet de créer des communautés s'instruisant autour de contenus et d'activités. Le mot « Moodle » est l'abréviation de Modular Object-Oriented Dynamic Learning Environment : « Environnement orienté objet d'apprentissage dynamique modulaire ». Outre la création de cours à l'aide d'outils intégrés (ressources et activités) à l'usage des formateurs, Moodle offre des possibilités d'organisation des cours sous forme de filières (catégories et sous-catégories, cohortes…) qui lui donnent également des caractéristiques propres à la mise en place de dispositifs complets d'enseignement. À un système de gestion de contenu (SGC) (en anglais : Content Management System ou CMS) déjà cité, Moodle ajoute aussi de nombreux outils d'interactions pédagogiques et communicatives créant un environnement d'apprentissage en ligne : cette application permet de créer, via le réseau, des interactions entre pédagogues, apprenants et ressources pédagogiques. Grâce à son architecture modulaire, Moodle profite de plugins développés par sa communauté pour permettre l'extension de ses fonctionnalités et de répondre ainsi à des besoins spécifiques. Etalab a intégré Moodle, en mai 2020, au socle interministériel de logiciels libres de l'État français.

Mozilla Firefox

Mozilla Firefox [mɒˈzɪlə ˈfaɪɚfɑks] est un navigateur web libre et gratuit, développé et distribué par la Mozilla Foundation avec l'aide de milliers de bénévoles grâce aux méthodes de développement du logiciel libre/open source et à la liberté du code source. Il est géré depuis 2003 par la fondation Mozilla. Celle-ci a créé en 2005 la société employant l'ensemble des salariés de la fondation, la Mozilla Corporation, et déposé la marque Mozilla en 2006. Firefox est à l'origine un programme dérivé du logiciel Mozilla (actuellement connu sous le nom de SeaMonkey), mais reprenant uniquement les fonctions de navigation de celui-ci. Ce logiciel multiplateforme est compatible avec diverses versions de Windows, macOS, GNU/Linux, Android et, fin 2015, iOS. Il a été porté sur d'autres systèmes d'exploitation, ce qui est rendu possible par la mise à disposition de son code source sous licence libre MPL. Ce logiciel a connu un succès croissant dans un premier temps, dépassant 1,2 milliard de téléchargements en janvier 2010. Même si ce chiffre ne reflète pas le nombre réel d'utilisateurs du logiciel, Firefox est rapidement devenu le principal concurrent d'Internet Explorer, le navigateur Web de Microsoft. En décembre 2010, Firefox devient temporairement le navigateur le plus utilisé en Europe devant Internet Explorer et Google Chrome. Il se fait finalement rattraper par ce dernier pendant l'année 2011. Le 3 avril 2013, le projet Mozilla fête ses quinze années d'existence. Depuis 2010 et en partie depuis l'essor des smartphones, Firefox a vu sa part du marché des navigateurs web décroître d'environ 35 % à environ 5 % (estimations entre 3,3 % et 5,4 % en février 2020), au profit notamment des navigateurs Google Chrome et Safari (Apple). Parmi les initiatives de la fondation destinées à enrayer ce déclin, Mozilla lance fin 2016 un énorme chantier d'alignement sur la concurrence, avec des refontes structurelles tant au niveau du code (notamment l'implémentation du multithreading et l'unification sur le système WebExtensions) que de l'interface ; une étape importante se concrétise avec Firefox Quantum, soit la version 57 du navigateur, qui est sorti fin 2017. En septembre 2019, l'agence allemande de sécurité informatique (BSI), recommande Firefox car étant le navigateur le plus sécurisé.

Noyau Linux

Le noyau Linux est un noyau de système d'exploitation de type UNIX. Il est utilisé dans plusieurs systèmes d'exploitation dont notamment GNU/Linux (couramment appelé « Linux ») et Android. Le noyau Linux est un logiciel partiellement libre (contenant des BLOB et des modules non-libre - consultez Linux-libre) développé essentiellement en langage C par des milliers de bénévoles et salariés collaborant sur Internet. Le noyau est le cœur du système, c'est lui qui s'occupe de fournir aux logiciels une interface de programmation pour utiliser le matériel. Le noyau Linux a été créé en 1991 par Linus Torvalds pour les compatibles PC. Initialement conçu pour l'architecture de processeur x86, il a ensuite été porté sur de nombreuses autres, dont m68k, PowerPC, ARM, SPARC, MIPS et RISC-V. Il s'utilise dans une très large gamme de matériel, des systèmes embarqués aux superordinateurs, en passant par les téléphones mobiles et ordinateurs personnels. Ses caractéristiques principales sont d'être multitâche et multi-utilisateur. Il respecte les normes POSIX ce qui en fait un digne héritier des systèmes UNIX. Au départ, le noyau a été conçu pour être monolithique. Ce choix technique fut l'occasion de débats enflammés entre Andrew S. Tanenbaum, professeur à l'université libre d'Amsterdam qui avait développé Minix, et Linus Torvalds. Andrew Tanenbaum arguant que les noyaux modernes se devaient d'être des micro-noyaux et Linus répondant que les performances des micro-noyaux n'étaient pas bonnes. Depuis sa version 2.0, le noyau, bien que n'étant pas un micro-noyau, est modulaire, c'est-à-dire que certaines fonctionnalités peuvent être ajoutées ou enlevées du noyau à la volée (en cours d'utilisation).

OpenBSD

OpenBSD est un système d'exploitation libre de type Unix, dérivé de 4.4BSD. Créé en 1994 par Theo de Raadt, il est issu de la séparation avec NetBSD, le plus ancien des trois autres principaux systèmes d'exploitation de la famille des BSD aujourd'hui en activité. Le projet OpenBSD est réputé pour son intransigeance sur la liberté du logiciel et du code source, la qualité de sa documentation, et l'importance accordée à la sécurité et la cryptographie intégrée. OpenBSD inclut un certain nombre de mesures de sécurité absentes ou optionnelles dans d'autres systèmes d'exploitation. Ses développeurs ont pour tradition de réaliser des audits de code à la recherche de problèmes de sécurité et de bogues. Le projet suit des politiques strictes sur les licences et préfère sa propre licence open source ISC et autres variantes de la licence BSD : dans le passé, ceci a conduit à un audit exhaustif des licences et des remplacements, voire des suppressions de codes sous licences considérées comme moins acceptables. À l'instar de la plupart des systèmes d'exploitation basés sur BSD, le noyau d'OpenBSD et ses programmes utilisateurs, tels que le shell et les outils habituels comme cat et ps, sont développés dans un seul et même dépôt CVS. Les logiciels tiers sont offerts en paquets binaires ou peuvent être compilés depuis leurs sources grâce à la collection des ports. Le projet est coordonné par Theo de Raadt de sa maison à Calgary, Alberta, Canada, et la mascotte du projet est Puffy, un diodon.

OpenVZ

OpenVZ est une technique de virtualisation de niveau système d'exploitation basée sur le noyau Linux. Cette technique de virtualisation de niveau système d'exploitation est souvent appelée conteneurisation et les instances sont appelées conteneur. OpenVZ permet à un serveur physique d'exécuter de multiples instances de systèmes d'exploitation isolés, qualifiées de serveurs privés virtuels (VPS) ou environnements virtuels (VE). OpenVZ offre moins de flexibilité dans le choix du système d'exploitation que les machines virtuelles telles que VMware, Qemu et aux techniques de paravirtualisation telles que Xen : Les systèmes d'exploitation invité et hôte doivent tous deux être basés sur le noyau Linux. Il est cependant possible d'utiliser des distributions Linux différentes dans des environnements virtuels différents. La virtualisation au niveau du système d'exploitation choisie par OpenVZ offre par contre de meilleures performances, un meilleur changement d'échelle en raison d'une plus faible empreinte mémoire, une meilleure densité, une meilleure gestion dynamique des ressources, et une plus grande facilité d'administration que ses alternatives. Selon le site web d'OpenVZ, cette méthode de virtualisation introduirait une très faible pénalité, de l'ordre de 1 à 3 %, sur les performances par rapport à un ordinateur physique. OpenVZ est la base de Virtuozzo (en), un produit (de) propriétaire fourni par SWsoft, Inc. OpenVZ est distribué sous la Licence publique générale GNU version 2. OpenVZ comprend le noyau Linux et un jeu de commandes pour l'utilisateur.

Samba

Samba est un logiciel d'interopérabilité qui implémente le protocole propriétaire SMB/CIFS de Microsoft Windows dans les ordinateurs tournant sous le système d'exploitation Unix et ses dérivés de manière à partager des imprimantes et des fichiers dans un réseau informatique. Samba facilite l'interopérabilité entre systèmes hétérogènes Windows-Unix. Il offre la possibilité aux ordinateurs d'un réseau d'accéder aux imprimantes et aux fichiers des ordinateurs sous Unix et permettent aux serveurs Unix de se substituer à des serveurs Windows. Il s'agit d'une réimplémentation des protocoles SMB/CIFS sous GNU/Linux et d'autres variantes d'Unix par ingénierie inverse. Samba a été initialement développée par l'Australien Andrew Tridgell et distribuée sous licence libre GNU GPL 3. Son nom provient du nom du protocole standard de Microsoft, SMB (Server Message Block) , auquel ont été ajoutées les deux voyelles a : « SaMBa ». À partir de la version 3, Samba fournit des fichiers et services d'impression pour divers clients Windows et peut s'intégrer à un domaine Active Directory en tant que membre du domaine. Samba3 peut aussi être configuré en tant que PDC (Primary Domain Controller (en)) en mode domaine NT4. A partir de la version 4, Samba peut servir de contrôleur de domaine Active Directory et fournir les services d'authentification AD à des postes Windows, des postes Linux et des serveurs membres. Il fonctionne sur la plupart des systèmes Unix, comme GNU/Linux, Solaris, AIX et les variantes BSD, y compris Apple, Mac OS X Server (qui a été ajoutée au client Mac OS X en version 10.2). Samba est livré dans presque toutes les distributions GNU/Linux.

SQLite

SQLite (prononcé [ɛs.ky.ɛl.ajt]) est une bibliothèque écrite en langage C qui propose un moteur de base de données relationnelle accessible par le langage SQL. SQLite implémente en grande partie le standard SQL-92 et des propriétés ACID. Contrairement aux serveurs de bases de données traditionnels, comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire le schéma habituel client-serveur mais d'être directement intégrée aux programmes. L'intégralité de la base de données (déclarations, tables, index et données) est stockée dans un fichier indépendant de la plateforme. D. Richard Hipp, le créateur de SQLite, a choisi de mettre cette bibliothèque ainsi que son code source dans le domaine public, ce qui permet son utilisation sans restriction aussi bien dans les projets open source que dans les projets propriétaires. Le créateur ainsi qu'une partie des développeurs principaux de SQLite sont employés par la société américaine Hwaci. SQLite est le moteur de base de données le plus utilisé au monde, grâce à son utilisation dans de nombreux logiciels grand public comme Firefox, Skype, Google Gears, dans certains produits d'Apple, d'Adobe et de McAfee et dans les bibliothèques standards de nombreux langages comme PHP ou Python. De par son extrême légèreté (moins de 600 Kio), il est également très populaire sur les systèmes embarqués, notamment sur la plupart des smartphones et tablettes modernes : les systèmes d'exploitation mobiles iOS, Android et Symbian l'utilisent comme base de données embarquée. Au total, on peut dénombrer plus d'un milliard de copies connues et déclarées de la bibliothèque.

Unix

Unix, officiellement UNIX (parfois écrit « Unix »), est une famille de systèmes d'exploitation multitâche et multi-utilisateur dérivé du Unix d'origine créé par AT&T, le développement de ce dernier ayant commencé dans les années 1970 au centre de recherche de Bell Labs mené par Kenneth Thompson. Il repose sur un interpréteur ou superviseur (le shell) et de nombreux petits utilitaires, accomplissant chacun une action spécifique, commutables entre eux (mécanisme de « redirection ») et appelés depuis la ligne de commande. Particulièrement répandu dans les milieux universitaires au début des années 1980, il a été utilisé par beaucoup de start-ups fondées par des jeunes entrepreneurs à cette époque et a donné naissance à une famille de systèmes, dont les plus populaires à ce jour sont les variantes de BSD (notamment FreeBSD, NetBSD et OpenBSD), GNU/Linux, iOS et macOS. La quasi-totalité des systèmes d'exploitations PC ou mobile (à l'exception des Windows NT) est basée sur le noyau de Unix. On nomme « famille Unix », « systèmes de type Unix » ou simplement « systèmes Unix » l'ensemble de ces systèmes. Il existe un ensemble de standards réunis sous les normes POSIX et single UNIX specification qui visent à unifier certains aspects de leur fonctionnement. Le nom « UNIX » est une marque déposée de l'Open Group, qui autorise son utilisation pour tous les systèmes certifiés conformes à la single UNIX specification ; cependant, il est courant d'appeler ainsi les systèmes de type Unix de façon générale. Il dérive de « Unics » (acronyme de « Uniplexed Information and Computing Service »), et est un jeu de mot avec « Multics », car contrairement à ce dernier qui visait à offrir simultanément plusieurs services à un ensemble d'utilisateurs, le système initial de Kenneth Thompson se voulait moins ambitieux et utilisable par une seule personne à la fois avec des outils réalisant une seule tâche.

XWiki

XWiki est une plateforme collaborative et wiki open source écrite en Java et distribuée selon les termes de la licence GNU LGPL mettant l'accent sur l'extensibilité. XWiki Enterprise, sa version entreprise, inclut un éditeur WYSIWYG, l'import/export de document sous format OpenDocument, l'annotation sémantique et le tagging, ainsi qu'une gestion avancée des permissions. En tant que moteur de Wiki, XWiki permet le stockage de données structurées et l’exécution côté-serveur de scripts, et ce à travers une interface. Les langages de scripts Velocity, Groovy, Python, Ruby et PHP peuvent être écrits directement dans les pages du wiki en utilisant des macros. Les structures de données créées par les utilisateurs peuvent être définies dans des documents du wiki, et leurs instances peuvent être jointes aux documents, stockées dans une base de données, et être l'objet de requêtes en utilisant le langage de requête du framework Hibernate ou le propre langage de XWiki. Sur XWiki.org, la partie Extensions propose de nombreuses extensions de code pouvant être copiées et collées dans les pages du wiki allant de snippet à des modules devant être chargés. De nombreuses fonctionnalités offertes par XWiki Enterprise sont fournies par des extensions incluses. Le langage wikitexte est généré en utilisant le moteur de rendu de XWiki qui étend les outils WikiModel et Doxia, permettant de parser de nombreuses syntaxes telles que Markdown, Confluence, JSPWiki, Creole, Mediawiki, et TWiki ainsi que la syntaxe XWiki.