Posté le
21/4/2023
Chez iDeMa, on est une petite équipe qui travaille sur de gros projets pour de prestigieux clients. La grande expérience de chacun nous a appris à être pragmatiques sur le choix des solutions techniques que nous utilisons. Et par une certaine idéologie, nous penchons naturellement vers des solutions #open source quand elles existent.
Dans le cadre de la réalisation d’un projet pour un de nos (prestigieux)clients, nous sommes donc partis sur un socle technique éprouvé, basé sur notre moteur maison (notre framework). Mais tant qu’à faire, autant utiliser les dernières versions stables du langage de programmation #PHP et de la base de données #PostgreSQL (entre autres).
Le « hic », c’est que nos postes de travail doivent pouvoir faire fonctionner nos anciens projets, avec les versions encours lors de leur réalisation il y a quelques mois voire années… soit un casse-tête bien connu de tous les développeurs de la planète !
Alors oui, des solutions existent et jusque-là, on configurait un serveur de développement dédié et une version en local, ce qui prenait du temps et n’offrait pas une souplesse exemplaire. Il était donc temps de s’intéresser de plus près à une technologie très recherchée par les recruteurs informatiques, et surtout très éprouvée : « #Docker ».
#Docker, qu’est-ce que c’est ? Posons la question à #ChatGPT, voici un extrait de sa réponse :
« Docker est une technologie qui permet d'empaqueter des applications et leurs dépendances dans des "conteneurs" isolés, ce qui assure leur exécution fiable et cohérente sur n'importe quel système. Les développeurs peuvent ainsi empaqueter leur application avec tout ce dont elle a besoin pour fonctionner et la distribuer facilement et de manière fiable. Les conteneurs Docker sont similaires aux conteneurs maritimes : ils sont comme des boîtes étanches qui contiennent tout ce dont l'application a besoin pour fonctionner et peuvent être facilement transportés d'un endroit à l'autre sans que leur contenu ne soit affecté. »
Parfait ! Sur le papier du moins… enfin, sur l’écran. On a donc décidé de passer un peu de temps à étudier et tester le sujet. D’ailleurs, le temps, on en manque toujours mais parfois ces quelques heures « perdues »,on les récupère largement à la fin.
Nous voilà donc à installer Docker Desktop, à suivre le tutoriel en ligne et à taper plein de lignes de commandes dans notre «# PowerShell ».Les grands principes et quelques subtilités indispensables sont vite assimilés,mais on va quand même vous avouer qu’on a un peu sorti les rames pour utiliser correctement les #volumes… Ca sert à quoi les volumes ? C’est essentiel dans notre cas : il s’agit, en gros, du pont entre votre système et le conteneur, là où les fichiers sont partagés et vus des deux côtés. Parce que sans volume, un conteneur est complètement isolé.
Une fois ces étapes digérées, et pour revenir au projet pour notre presti… client, on s’est donc attaqué à création de notre conteneur sur-mesure. Et après quelques étapes de paramétrage, le projet tournait sur nos postes de travail… mais avec une lenteur un peu inattendue: 30 secondes pour afficher une simple page web… bref, pas très exploitable !
Mais si tant de développeurs l’utilisent, il y a forcément quelque chose qui cloche. Vous vous demandez quelle est la solution ? installer le conteneur dans une sous-couche Linuxde Windows. Si, si, ça existe : ça s’appelle #WSL, mais on en parlera une prochaine fois, surement…
Voilà, chez iDeMa on a adopté Docker, et les premiers gains se font déjà sentir. Maintenant nous pouvons «dockeriser» toutes nos applications, et utiliser Docker sur nos environnements de production!
Par Christophe MERCET, Directeur de projets.
Et ne ratez plus aucune informations