Nous avons déployé Nexus Sonatype pour disposer d'un repository interne centralisé, hébergé sur l'infrastructure de l'établissement. Il regroupe en un seul endroit tout ce qui est nécessaire aux déploiements : exécutables, images Docker et packages Chocolatey - sans dépendance aux repositories publics externes.
Qu'est-ce que Nexus Repository (Sonatype) ?
Nexus Repository, édité par Sonatype, est un gestionnaire de dépôts d'artefacts logiciels. Il centralise et sécurise les composants et dépendances (paquets, images, bibliothèques) utilisés par les chaînes de build.
Un repository interne pour tous les artefacts
Sans Nexus, les déploiements dépendent de sources externes : le repository public Chocolatey, Docker Hub, les sites éditeurs pour les exécutables. Cette dépendance pose plusieurs problèmes dans un contexte hospitalier : disponibilité conditionnée à l'accès internet, absence de contrôle sur les versions téléchargées, et risque d'installation de composants non validés par l'établissement.
Nexus centralise tous ces artefacts en interne, dans un repository unique accessible depuis le réseau de l'établissement :
- Les exécutables : les installeurs et binaires nécessaires aux déploiements sont hébergés dans Nexus. Plus besoin de les chercher sur les sites éditeurs à chaque installation - ils sont disponibles en interne, dans leur version validée.
- Les images Docker : les images des applications conteneurisées sont stockées dans le registry Docker de Nexus. Ansible tire les images depuis Nexus lors des déploiements, sans passer par Docker Hub.
- Les packages Chocolatey : le repository Chocolatey privé est hébergé dans Nexus. Les postes Windows récupèrent leurs packages depuis Nexus plutôt que depuis chocolatey.org, garantissant que seules les applications validées par l'établissement sont disponibles à l'installation.
Nexus est le point d'approvisionnement unique de tous les déploiements. Que ce soit un poste Windows via Chocolatey, un serveur Linux via Ansible et Docker, ou une installation manuelle - tout passe par Nexus, tout est maîtrisé.
Maîtrise et sécurisation des sources
Au-delà de la centralisation, Nexus apporte une maîtrise des sources qui est essentielle dans un environnement hospitalier :
- Versions figées : une fois un artefact validé et stocké dans Nexus, il ne peut pas changer à l'insu de l'équipe. Pas de mise à jour automatique non souhaitée depuis une source externe.
- Disponibilité garantie : les artefacts sont disponibles même en cas d'indisponibilité des sources externes (Docker Hub, chocolatey.org, sites éditeurs).
- Traçabilité : on sait exactement quelles versions sont disponibles, lesquelles sont utilisées et depuis quand.
Déploiement conteneurisé, authentification centralisée et mises à jour maîtrisées
Cette application est déployée en conteneur Docker, orchestré et provisionné via Ansible. Cette approche garantit un déploiement reproductible, documenté et homogène d'un environnement à l'autre : la configuration est décrite sous forme de code, ce qui élimine les installations manuelles et fiabilise chaque mise en service.
Nous assurons les mises à jour de manière transparente pour les utilisateurs : les montées de version sont préparées, testées et appliquées de façon contrôlée, sans interruption perceptible du service. L'établissement bénéficie ainsi d'une application toujours à jour et sécurisée, sans avoir à gérer lui-même la complexité technique des mises à jour.
L'accès à cette application repose sur une authentification centralisée par OIDC avec Keycloak. Comme l'ensemble des applications que nous déployons, elle s'appuie sur un fournisseur d'identité unique : les utilisateurs se connectent avec les mêmes identifiants sur tout le parc applicatif, la gestion des accès est mutualisée et les règles de sécurité (mot de passe, second facteur, révocation) sont appliquées de façon homogène. Ce socle d'authentification unifié simplifie l'expérience utilisateur et renforce la maîtrise des accès à l'échelle du système d'information.
Notre déploiement
Nexus est déployé en conteneur Docker, exposé via NGINX avec certificat Let's Encrypt, et authentifié via Keycloak. Trois types de repositories sont configurés : un repository Chocolatey (NuGet) pour les packages Windows, un registry Docker pour les images de conteneurs, et un repository raw pour les exécutables et fichiers binaires. Jenkins alimente Nexus automatiquement lors de la construction des packages Chocolatey.
Intégration au système d'information
Nexus est au centre de la chaîne de déploiement : Jenkins y publie les packages Chocolatey construits automatiquement, Ansible y récupère les images Docker lors des déploiements serveurs, et les postes Windows y pointent pour leurs installations Chocolatey. C'est le maillon qui relie la chaîne CI/CD (GitLab - Jenkins) aux déploiements réels (Ansible, SCCM).
Bénéfices concrets
- Repository unique pour tous les artefacts : exécutables, images Docker, packages Chocolatey.
- Indépendance des sources externes : les déploiements ne dépendent plus de la disponibilité de Docker Hub, chocolatey.org ou des sites éditeurs.
- Maîtrise des versions : seules les versions validées par l'établissement sont disponibles.
- Sécurisation des installations : aucun artefact non approuvé ne peut être installé depuis l'extérieur.
- Disponibilité garantie : les artefacts sont accessibles depuis le réseau interne, sans accès internet requis.
- Solution open source dans sa version communautaire, sans coût de licence.
Nexus Repository (Sonatype) s'inscrit dans notre approche d'un système d'information hospitalier open source, souverain et maîtrisé, où chaque brique est déployée et documentée pour rester exploitable en autonomie par les équipes.
Un projet de déploiement open source ?
Nous déployons et intégrons des solutions open source souveraines pour les établissements de santé.
Demander un diagnostic de 30 min →