Déploiement · usage courant

Agence Docker à Nice

L'outil qui fait tourner une application de la même façon sur le poste du développeur et sur le serveur de production.

Ce que nous en faisons

Docker chez nos clients, concrètement

Employé sur nos développements et nos déploiements, avec Portainer pour la supervision. Également utilisé côté infrastructure, aux côtés de Proxmox et de la virtualisation.

Les limites

Quand nous recommandons autre chose

Pour un site statique, Docker n'apporte rien : le fichier HTML se sert directement.

Réalisations

Nos projets menés avec Docker

  • Paradigm

    Plateforme d'un centre d'affaires niçois : domiciliation, courrier numérisé, messagerie et assistant.

    Docker : Environnements de développement, préproduction et production identiques.

    Lire l'étude de cas Paradigm
  • Helioneo

    Plateforme d'autoconsommation collective : accords, clés de répartition, données Enedis et facturation.

    Docker : Application, file de traitement et cache déployés en conteneurs.

    Lire l'étude de cas Helioneo
  • Silversun — prospection

    Outil de prospection B2B pour les énergies renouvelables : projets géocodés et prospects enrichis.

    Docker : Déploiement de l'API, du front et des services.

  • Silversun — suivi de chantier

    Frise de suivi de projet photovoltaïque pour le client final, alimentée par le CRM.

    Docker : Service conteneurisé.

  • LLM Monitor

    SaaS qui mesure la visibilité des marques dans les réponses des IA.

    Docker : API, workers et moteur d'audit déployés en conteneurs.

    Lire l'étude de cas LLM Monitor
  • Ordelya

    Plateforme de pilotage de restaurants : back-office, tablettes, bornes, écrans et site.

    Docker : Un conteneur par service, et la gestion de la flotte de terminaux.

  • Mejid & Co

    Application web installable de suivi des débours pour les clients de Mejid & Co.

    Docker : Application et back-end PocketBase déployés en conteneurs.

    Lire l'étude de cas Mejid & Co
  • Jeu-concours Snake

    Jeu-concours rétro en six niveaux, avec quiz et inscription, pour une campagne marketing d'ordinateurs portables.

    Docker : Build et service de l'application.

    Lire l'étude de cas Jeu-concours Snake
  • Angeles Immobilier

    Site multilingue d'une agence immobilière de la Côte d'Azur : annonces, recherche et blog.

    Docker : Image de production du site.

    Lire l'étude de cas Angeles Immobilier

Méthode

Comment nous intégrons Docker

Nous écrivons un Dockerfile par service et un fichier Compose par environnement, développement et production, qui ne diffèrent que sur ce qui doit différer : montage du code, niveau de journalisation, ports ouverts. La construction se fait en plusieurs étapes, pour que l'image finale ne contienne ni compilateur ni outil de développement. Chaque conteneur déclare une vérification de santé, qui permet de relancer un service bloqué et pas seulement un service arrêté.

Les images sont construites par la chaîne d'intégration continue, étiquetées avec la version du code et stockées dans un registre privé. Déployer revient à changer d'étiquette sur le serveur ; revenir en arrière, à reprendre l'étiquette précédente. Les paramètres sensibles vivent dans un fichier d'environnement présent uniquement sur le serveur, jamais dans le dépôt.

Les données restent hors des conteneurs : bases et fichiers déposés par les utilisateurs occupent des volumes nommés, exportés et copiés hors de la machine. Côté infrastructure, l'ensemble tourne généralement dans une machine virtuelle Proxmox, et Portainer affiche l'état de chaque service. Nous vous remettons un accès Portainer à votre nom et une fiche indiquant, service par service, comment le relancer, le mettre à jour et restaurer ses données.

Pour votre entreprise

Ce que ça change concrètement

Pour vos utilisateurs, Docker se traduit par des mises en production plus calmes. La version installée sur le serveur est celle qui a été testée, avec les mêmes bibliothèques, et si une nouveauté pose problème, la version précédente se remet en place sans rien réinstaller. Un service qui se bloque la nuit redémarre seul, au lieu d'attendre qu'un collaborateur le signale le lendemain matin.

Pour l'entreprise, l'effet le plus concret se voit le jour d'une panne matérielle ou d'un changement d'hébergeur : l'application se reconstruit sur une nouvelle machine à partir du dépôt et des sauvegardes de données, sans enquête sur ce qui avait été installé à l'époque. La maintenance devient plus régulière, puisque mettre à jour un composant revient à reconstruire une image et à la tester avant de la déployer. Docker ne supprime pas pour autant le travail d'exploitation : le serveur hôte, les sauvegardes et les correctifs de sécurité restent à suivre, et nous l'inscrivons dans le plan d'action plutôt que de le passer sous silence.

Notre lecture

Ce que nous retenons de Docker

Docker sert à supprimer une phrase : « chez moi ça marche ». L’application et ce dont elle dépend, version du langage, bibliothèques système, variables d’environnement, sont décrits dans un fichier versionné, et la machine qui exécute en production part de la même description que le poste du développeur.

Le gain réel apparaît à deux moments. À l’arrivée d’un nouveau développeur, qui lance le projet en une commande au lieu d’une journée d’installation. Et dans l’intégration continue, où la même image est testée puis déployée : nos chaînes GitLab et GitHub ne livrent que ce qui a été vérifié. Nous nous en servons aussi pour les dépendances lourdes en développement, une base PostgreSQL par exemple, sans rien installer durablement sur le poste. En production, nous disons quand un conteneur est une complication inutile : un site statique n’en a pas besoin.

Grille de décision

Faut-il choisir Docker ?

Docker ou installation directe de l'application sur le serveur ?

Docker, dès que l'application dépend d'une version précise d'un langage, d'une base de données ou de bibliothèques système. L'image décrit l'environnement complet dans un fichier versionné avec le code : la production exécute ce que le développeur a testé, et un nouveau serveur se prépare sans refaire l'installation à la main. Une installation directe reste acceptable pour un service unique et stable, administré par quelqu'un qui connaît la machine. Pour un site statique, Docker n'apporte rien.

Docker Compose sur un serveur ou Kubernetes ?

Pour une PME, Docker Compose sur un ou deux serveurs couvre l'essentiel : quelques services, une base de données, un proxy, relancés automatiquement en cas d'arrêt. Kubernetes répond à d'autres contraintes, comme répartir de nombreux services sur un groupe de machines avec montée en charge automatique, et demande des compétences d'exploitation que peu de petites équipes ont en interne. Tant que ces contraintes ne sont pas réelles, nous recommandons Compose, avec Portainer pour la supervision.

Conteneurs Docker ou machines virtuelles Proxmox ?

Les deux se complètent plus qu'ils ne s'opposent. Une machine virtuelle isole un système complet : utile pour séparer des environnements, des usages sensibles ou des applications qui exigent leur propre système d'exploitation. Un conteneur isole une application, démarre vite et consomme peu. Nous faisons couramment tourner Docker à l'intérieur de machines virtuelles Proxmox : la virtualisation cloisonne les environnements, les conteneurs rendent les déploiements reproductibles. Choisir l'un n'exclut pas l'autre.

Questions de clients

Ce qu'on nous demande sur Docker

Docker nous rend-il dépendants de MZ Informatique ?

Non. Docker est un outil libre et standard, et la configuration de vos conteneurs tient dans des fichiers texte, Dockerfile et fichier Compose, rangés avec le code source. Un autre prestataire les lit et relance l'application sur un autre serveur sans reconstituer l'installation. C'est même l'inverse d'une dépendance : sans ces fichiers, la façon dont le serveur a été configuré reste souvent dans la tête d'une seule personne.

Les conteneurs Docker sont-ils sécurisés ?

Ils le sont s'ils sont configurés avec soin, car un conteneur cloisonne moins fortement qu'une machine virtuelle. Nous partons d'images officielles et légères, les reconstruisons régulièrement pour intégrer les correctifs, évitons d'exécuter les applications avec les droits administrateur, n'exposons que les ports nécessaires et gardons les mots de passe hors des images. Le serveur hôte doit lui aussi rester à jour : un conteneur bien réglé ne compense pas un hôte négligé.

Faut-il passer notre application existante sous Docker ?

Pas forcément tout de suite. Le bénéfice apparaît quand vous devez déplacer l'application, la réinstaller après une panne ou donner le même environnement de travail à plusieurs développeurs. Conteneuriser une application ancienne révèle souvent des dépendances jamais documentées, ce qui est utile mais demande du temps. Nous commençons généralement par l'environnement de développement, puis nous passons la production une fois cet environnement éprouvé.

Comment sont sauvegardées les données d'une application sous Docker ?

Un conteneur se supprime et se recrée sans perte, à condition que les données n'y soient pas stockées. Bases de données et fichiers des utilisateurs sont donc placés dans des volumes séparés. Pour une base, nous passons par son outil d'export plutôt que de copier ses fichiers pendant qu'elle tourne, ce qui produirait une sauvegarde incohérente. Les exports sont ensuite envoyés sur un stockage distinct du serveur, pour survivre à la perte de la machine.

Docker fonctionne-t-il sur les postes Windows ou Mac de nos développeurs ?

Oui. Sur Windows et macOS, Docker s'exécute dans une petite machine virtuelle gérée par une application de bureau, de façon transparente pour le développeur. Deux points à connaître : l'accès aux fichiers du projet y est plus lent que sous Linux, ce qui se compense par la configuration des volumes, et l'application de bureau officielle devient payante pour les entreprises au-delà d'une certaine taille. Des alternatives libres existent.

Aller plus loin

Docker s'inscrit dans notre Développement logiciel

Une technologie ne fait pas un projet. C'est la méthode autour qui décide du résultat : cadrage, maquettes, cycles courts, et réversibilité.

Technologies voisines

Un projet Docker en tête ?

Le premier échange est gratuit. Nous vous dirons franchement si cette technologie est la bonne, et sinon laquelle.

Mis à jour le