Soyez prévenus que cet article n’est pas pour les puristes : j’y ferai de gros raccourcis en comparant des outils non pas sur leurs technologies -bien différentes- mais sur leur finalité.
On parle de plus en plus de virtualisation et de containers sur Linux. Si sur serveurs les Machines Virtuelles (VM) sont de plus en plus remplacées au profit de containers Docker, plus simples à installer/utiliser, sur les PC de bureau (et serveurs, clouds…) on trouve de plus en plus de Snaps, Flatpaks et Appimages. Contrairement à Docker, ces outils s’installent quasi partout.
Si les technologies sont bien différentes, la finalité est identique : installer une application de manière très simple, peu importe la distribution Linux, et l’isoler -au mieux- de l’OS principal dans une optique de sécurité. Sécurité au 1er degré mais aussi dans le sens « boulette » lors de l’installation ou la désinstallation de l’application.
Les distributions Linux ont leurs « appstores », par exemple AUR pour Archlinux, Launchpad pour Ubuntu etc, et des packages adaptés pour telle ou telle distribution tels que .deb ou .rpm. On peut aussi utiliser des outils comme debtap sur Archlinux pour convertir des paquets.deb en installateurs pour Arch. Tous ces packages permettent d’installer la dite application avec toutes les dépendances nécessaires à son bon fonctionnement. C’est bien pratique mais ça suppose que le gars qui fait le package pour Archlinux le tienne à jour, par exemple. Sans compter que, si on n’est pas à l’aise sur Linux, dans certains cas l’installation/compilation/désinstallation peut engendré quelques déconvenues (du genre librairies supprimées ou requises mais qui sont en BETA et donc pas dans les sources classiques de sa distribution).
C’est notamment l’un des intérêts de passer par ces solutions de containers : tout est pré-mâché (et testé), c’est à la limite du clic & run façon Windows. Ajoutez à ça que ces outils permettent aussi de ne créer qu’un seul container qui est compatible avec plusieurs distributions (au lieu de packages ciblés), vous obtenez un produit simple à utiliser, très tendance notamment auprès des néophytes dans le monde Linux.
Si dans ma conception « utiliser Linux » revient à dire « je sais compiler et installer une application » et « je sais installer un serveur et le sécuriser », je suis aussi comme tout le monde -un peu fainéant ?- et apprécie parfois de gagner du temps en installant simplement divers outils.