Docker agence web
Docker pour les agences web : standardiser vos environnements de développement
Bien que cela puisse paraître une évidence, avoir un environnement de travail identique pour tous les développeurs n’est pas forcément facile à mettre en place.
Et bien que Docker soit un standard dans ce domaine depuis 2013 et permette sur le papier de répondre à ce problème, on va voir pourquoi son adoption n’est pas acquise dans tous les cas.
1. Découvrir Docker et son utilité
Avant de parler des possibilités de Docker, revenons rapidement sur ce que c’est. Pour faire simple, Docker est une solution permettant de faire fonctionner des services de manière isolée de la machine hôte (votre PC), dont la configuration est contenue dans un fichier et rapide à mettre en place.
À la base développé par une plateforme PaaS pour faciliter le déploiement d’applications, Docker est rapidement devenu un acteur incontournable dans le processus de développement d’applications, sites et services web.
2. Explorer tout ce que Docker permet
Cette simplicité de configuration permet pas mal de choses, vu que la configuration est contenue dans un ensemble de fichiers, ces derniers peuvent donc être versionnés (via Git par exemple).
C’est l’un des points majeurs : cela permet à tous les devs d’avoir la même configuration, la même base de travail pour ainsi dire.
Là où avant nous avions des développeurs sous WAMP, LAMP et MAMP, ou même avec les services installés directement sur leur machine, maintenant tout le monde travaille sous Docker, qu’il soit sous Windows, Mac ou Linux. Fini les « ça fonctionne sur mon PC pourtant… ».
L’un des points forts également est la personnalisation de ces conteneurs.
Imaginez, vous travaillez sur plusieurs projets : l’un sur Node 18, l’autre sur Node 20, un autre sous PHP 8.1 et l’autre sous PHP 8.3.
À chaque changement de projet, vous passez votre vie à changer vos versions, potentiellement avec des dépendances absentes ce qui peut provoquer des bugs, et le tout avec des commandes manuelles qui peuvent mener à des erreurs de saisie.
Avec Docker, chaque projet a ses fichiers de configuration. Ça permet de passer d’un projet à l’autre sans changer 20 paramètres sur le PC : on stop le Docker d’un projet et on start celui de l’autre, c’est pas plus compliqué que ça.
Vos développeurs perdent du temps à gérer des problèmes d’environnement et de versions (PHP/Node) ?
3. Utiliser Docker sans être : administrateur système
👉 Effectivement !
Et c’est justement pour cela que Docker existe. À part dans des cas très spécifiques, la configuration d’un environnement Docker est on ne peut plus simple.
Par exemple, vous voulez commencer à faire du développement sous PrestaShop :
- Vous téléchargez Docker directement sur le site de Docker.
- Vous téléchargez PrestaShop via le site de PrestaShop.
- Vous lancez la commande pour démarrer Docker.
Ces trois étapes vous font passer d’un PC simple à un PC où vous êtes en capacité de faire du développement en local sous PrestaShop.
👉 Comment ?
Via la simplicité d’installation et surtout via le fait que PrestaShop intègre ses propres fichiers de configuration pour Docker, spécialement dans le but de fournir aux développeurs un environnement de travail leur permettant de faire du développement sur leur solution.
Évidemment, Docker permet également de créer ses propres images pour répondre à des besoins spécifiques.
Il peut arriver que vous ayez besoin de plus de services en local, par exemple un service permettant de simuler un serveur de mail en local pour tester la partie gestion des mails de votre site.
Dans ces cas-là, on peut rajouter de nouveaux services, qui deviendront des conteneurs étoffant ainsi votre architecture en local.
4. Comprendre pourquoi le manque de temps freine l’adoption
Après avoir vu tout cela, beaucoup peuvent avoir ce raisonnement : quand on a une solution en local qui fonctionne, pourquoi venir tout bouleverser avec une solution qui apporte « le même résultat » ?
Déjà comme évoqué, quand vous accueillez un nouveau dev dans votre équipe, c’est l’éternel onboarding avec les docs à 30 pages pour « Comment initialiser son poste de travail », sachant que chaque entreprise a ses process maison, que les docs ne suivent pas forcément les versions stables et les formats de commande…
Ensuite, cela offre dans certains cas des possibilités nouvelles, totalement impossibles sans Docker.
C’est donc un investissement que chaque acteur du développement doit faire, dans un premier temps pour stabiliser ses processus de développement en interne et également pour voir plus loin.
Astuce
Utilisez docker up pour transférer rapidement des fichiers entre votre machine locale et un conteneur en cours d’exécution, sans configurer de volumes.
5. Se projeter vers les usagers futurs
Et oui, depuis le début je ne parle que d’environnement local, mais la force de Docker est également de vous accompagner de l’environnement de développement à l’environnement de production.
Imaginez, au lieu de déployer en envoyant vos fichiers sur votre serveur, vous envoyez une image Docker qui contient les paramètres de l’environnement et le code source de votre site.
C’est exactement ce que proposent des services comme AWS avec EKS/ECS, Azure avec AKS, Google Cloud avec GKE…
Ainsi, vous avez d’un côté votre « serveur » qui s’exécute dans le cloud, et vos assets (vos données amenées à évoluer comme votre base de données, les images, les fichiers téléchargeables sur le site) dans des espaces de stockage.
Cela permet par exemple de lancer 5 fois cette même image Docker, pour ainsi avec un load balancer (un répartiteur de charge) gérer les fortes affluences sur votre site, sans avoir à changer de capacité de serveur avec tout ce que ça implique.
5. Adopter Docker plutôt que l’ignorer
Tous ces aspects de Docker sont en quelque sorte la base sur laquelle repose la possibilité pour une équipe de développement de créer et faire évoluer des solutions web en toute tranquillité et flexibilité.
Chez Wapiti, nous avons fait cette transition il y a quelques années pour justement répondre à certaines de ces problématiques et ainsi permettre aux devs de passer plus de temps à faire du développement que de gérer des environnements locaux qui évoluent 5 fois dans la journée.
Conclusion : Docker, l'investissement essentiel pour l'avenir des agences web
Comme nous l’avons vu, Docker n’est plus seulement un outil, mais une philosophie de développement indispensable. Il résout la friction historique des environnements hétérogènes, symbolisée par le fameux “ça marche sur mon PC”, en garantissant une base de travail identique et fiable pour toute l’équipe, quel que soit le système d’exploitation.
En standardisant le cycle de développement, il permet un gain de temps considérable sur l’onboarding des nouveaux développeurs et la gestion des multiples versions de langages (Node, PHP, etc.) sur différents projets. L’effort initial d’adoption est rapidement amorti, car il permet aux équipes de se concentrer sur l’essentiel : le développement, et non l’administration système.
Mais l’impact de Docker va au-delà du local. Il est la porte d’entrée vers les pratiques modernes de DevOps et de Cloud Native. En encapsulant l’environnement et le code dans des images légères, il simplifie le passage du développement à la production (via des services comme AWS, Azure, ou GCP) et ouvre la voie à des architectures évolutives comme la gestion de la charge via des load balancers.
Adopter Docker, c’est choisir la stabilité, la flexibilité et se préparer aux enjeux futurs du déploiement à grande échelle. C’est l’investissement le plus pertinent qu’une agence web puisse faire pour rationaliser ses processus et augmenter sa vélocité.
Cet article a été rédigé par Kévin Carlier
Lead Developer chez Wapiti, Kévin Carlier met à profit ses 3 ans d’expérience dans le Web pour accompagner les marques dans leurs projets digitaux. Occupant un rôle qui combine des responsabilités techniques de haut niveau, Kévin met en avant ses qualités techniques et humaines au sein de Wapiti.
Il défend une approche exigeante et technique afin de concevoir des projets clairs et précis.


