Flatpak, l’avenir de mon arrière-grand-mère pour l’empaquetage logiciel pour Linux ?

Avant que des personnes hurlent au « putaclic » avec le titre de l’article, je tiens à rappeller que je n’ai aucune régie publicitaire qui affiche des panneaux en 4 par 3 😀

Donc, l’appat du gain n’est pas derrière cet article sur lequel j’exprime mon point de vue sur ce format de paquet universel en ce début octobre 2018. Format universellement reconnu par les principaux acteurs du monde linuxien, sauf un, Canonical. Comme d’habitude, devrait-on dire ?

Dans un article dithyrambique, GnomeLibre.fr nous affirme que le format flatpak, c’est l’avenir…

Bien entendu, Gnome-Libre a défendu bec et ongles ce format qui est la réinvention du .app d’Apple en rajoutant une dose de « bac à sable » pour sécuriser l’ensemble.

En gros, on prend le logiciel, ses dépendances, on met le tout dans une répertoire. Non seulement, ça bouffe de la place – même en réinventant le principe des bibliothèques partagées via le principe des runtimes – mais ça revient à une énième réinvention de l’empaquetage classique… En beaucoup plus lourd… Mais sécurisé, c’est le plus important !

Dans cette vidéo où je parlais de la Fedora 29 Silverblue bêta – qui se veut être une démonstration du flatpak pour tous les logiciels – je me suis heurté à un problème de taille : le poids des logiciels à récupérer.

Une fois le runtime – vous savez la réinvention des bibliothèques partagées – téléchargé, les logiciels sont moins lourd à récupérer… Mais cela donne toujours des logiciels plus lourd qu’un paquet classique, compilé pour la distribution. Principe qui a fonctionné depuis le début des distributions GNU/Linux en 1992-1993.

Comme je l’ai dit en vidéo, sans une connexion qui envoie du pâté et un espace de stockage assez important, vous vous retrouverez vide à tirer de la langue pour gérer l’ensemble.

Mais il y a un autre gros problème, en ce début octobre 2018, c’est la faiblesse en nombre de logiciels disponibles dans ce format.

Allez donc sur l’annuaire principal, à savoir Flathub. Et on apprend qu’il n’y a que 412 logiciels au moment où je rédige cet article.

Si on sort les composants de Gnome (57 réponses), de KDE (31 réponses) – cf les captures d’écran ci-après – on retombe dans les logiciels souvent disponibles dans les dépôts classiques des distributions GNU/Linux. C’est ici que se trouve le noeud du problème, et qui me fait dire que les paquets universels sont en partie la réponse à une limite du modèle des fixed releases pour les environnements bureautiques : la fraicheur qui devient rapidement une odeur de naphtaline intense.

Avant que l’on me dise que je suis un « fanatique de la fraîcheur », je répondrai simplement ceci : c’est tout de même mieux d’utiliser un logiciel dont les développeurs maintiennent le support en amont.

Il y a des fixed releases assez souples sur le plan de montée en version de logiciels si nécessaire, comme la Fedora et d’autres qui sont carrément psychorigides comme la vénérable Debian.

On va me dire que je prèche encore pour le modèle rolling release et donc pour des projets comme Manjaro Linux. Je considère qu’en dehors des personnes ayant une connexion minuscule, les postes de collectivités privées ou publiques et les serveurs qui nécessitent de n’être touché qu’une fois tout les 36 du mois, la fixed release n’a plus trop de justification.

Mais qu’est-ce qui est le plus propre au final ? Une mise à jour au fil de l’eau ou rajouter des technologies comme les paquets universels ou des dépôts tiers divers et (a)variés style ppa pour avoir certains outils un brin plus frais ?

À vous de voir !

17 réflexions sur « Flatpak, l’avenir de mon arrière-grand-mère pour l’empaquetage logiciel pour Linux ? »

  1. Salut,

    Ok pour presque tout l’argumentaire sauf celui du poids des flatpak.

    Si on a pas de bonne connexion on utilise une fixed release mais pas de flatpak ni surtout de rolling release qui fait des mises à jour tout le temps.

    J’avoue que flatpak est pratique pour moi pour installer gradio et qu’il peut éviter aux gens sous Ubuntu notamment d’installer des dépôts foireux qui risquent de tout casser (ppa…)

     

  2. L’arrivée subite de mon train m’a fait perdre les bonnes manieres.

    Comme toujours merci pour tes articles!

    @+ gempaouindo

  3. Moi je pense que le flatPak est vraiment une bonne chose, si windows et apple fonctionne si bien c’est parce que c’est SIMPLE et ACCESSIBLE !

    Quand j’ai (ou n’importe qui d’ailleurs y a qu’a voir sur les forums d’aide !) un problème ou que je demande le moindre conseil sur linux, c’est de suite avec des putains de ligne de code en passant par le terminal ! La je dis STOP ! C’EST CASSE COUILLE ! 90% des s’en branles complétement de tout ca !

    Téléchargé, je clique une fois, j’installe, ca marche basta !

      1. Pourquoi être toujours aussi négatif ?

        Bizarrement sur windows je n’ai jamais eu d’application qui intégrait des mineurs… Je fais peut être attention à ce que j’installe et ou je vais le chercher !

          1. Bonjour,

            franchement, le principe de critiquer l’installation en un clic d’un logiciel sous prétexte que cela peut installer n’importe quoi est simple et basé sur peu de choses.

            En quoi installer depuis une ligne de commande est-il plus sécurisé ?

            En rien.

            Le seul moyen d’être sûr de ne pas installer de malware est de compiler soi-même du code que l’on a préalablement téléchargé sur son poste et analysé en profondeur. Et je dis bien en profondeur, car le code peut aussi, pourquoi pas, aller télécharger à distance du code interprétable, qui serait lui-même un malware. Evidemment, pour analyser du code, il faut être en mesure de le comprendre.

            Bref, je pense que peu de monde le fait ou est qualité pour le faire. Et le fait d’installer depuis un dépôt soi-disant sécurisé ne certifie en rien qu’il n’a pas été corrompu.

            Donc, quand des personnes travaillent à fournir un moyen d’installer simplement des logiciels pour aider ceux qui n’ont pas le temps ou l’envie d’apprendre des lignes de commandes, je pense qu’il faut les encourager.

            Ceux qui pensent qu’apprendre la ligne de commande est nécessaire pour installer des logiciels ne comprennent pas le principe de la ligne de commande. La ligne de commande est là pour pallier à l’absence d’interface graphique pour un programme ayant beaucoup trop d’options pour être représentée graphiquement. Installer un logiciel n’est pas dans ce cas de figure.

            Croire que la ligne de commande est nécessaire pour des besoins aussi basiques est hautain.

            1. Tiens, le genre de commentaires que j’attendais avec impatience.

              Le seul moyen d’être sûr de ne pas installer de malware est de compiler soi-même du code que l’on a préalablement téléchargé sur son poste et analysé en profondeur. Et je dis bien en profondeur, car le code peut aussi, pourquoi pas, aller télécharger à distance du code interprétable, qui serait lui-même un malware. Evidemment, pour analyser du code, il faut être en mesure de le comprendre.

              Une méthode plus douce et qui a fait ses preuves : utiliser les dépôts officiels de sa distribution.

              Bref, je pense que peu de monde le fait ou est qualité pour le faire. Et le fait d’installer depuis un dépôt soi-disant sécurisé ne certifie en rien qu’il n’a pas été corrompu.

              Le risque zéro est inexistant en effet. Mais on peut toujours limiter la casse.

              Donc, quand des personnes travaillent à fournir un moyen d’installer simplement des logiciels pour aider ceux qui n’ont pas le temps ou l’envie d’apprendre des lignes de commandes, je pense qu’il faut les encourager.

              Sauf qu’il existe depuis des années des surcouches graphiques aux outils en ligne de commandes : Synaptic (pour les paquets deb), yumex ou yast (pour les rpms), Slapt-get pour les distributions basées sur Slackware et plus récemment des outils à la Octopi / Pamac pour les bases Archlinux et Manjaro (par extension).

              Les paquets universels ne sont utiles que sur des fixed releases, et le principe a été déjà vérolé pour le format employé par Canonical : https://www.omgubuntu.co.uk/2018/05/ubuntu-snap-malware

              Ce qui en dit long sur la pseudo-sécurité de ce genre de paquets logiciels.

              Ceux qui pensent qu’apprendre la ligne de commande est nécessaire pour installer des logiciels ne comprennent pas le principe de la ligne de commande. La ligne de commande est là pour pallier à l’absence d’interface graphique pour un programme ayant beaucoup trop d’options pour être représentée graphiquement. Installer un logiciel n’est pas dans ce cas de figure.

              Il est vrai que les outils de gestions de paquets ne sont pas basiquement en ligne de commande. Que rpm, pacman, installpkg, apt n’existent pas.

              Croire que la ligne de commande est nécessaire pour des besoins aussi basiques est hautain.

              Et maintenant le procès en orgueil 🙂

              Une dernière fois, le risque zéro n’existe pas. Et encore moins dans cette énième réinvention de la roue.

  4. Comme on en a discuté sur mastodon, je ne suis pas chaud non plus pour cette techno.

    Prenons l’exemple de vscode que tu installe via flatpak. Je desire faire des site static avec hugo/jekyll, que j’installe nativement sur ma distro. Une fois, vscode démarré, j’ouvre le terminal intégré et je lance naïvement la commande pour démarrer le serveur hugo/jekyll…. «comand not found» car je suis dans le bac a sable de l’application. Je ne parle même pas d’autre IDE genre eclipse ou intellij…

    Bref, pour ce genre de logiciel, c’est clairement pas adapté.

  5. Testé une ou deux applis en flatpak dont Steam : tu installes, ça ne se lances pas, avec message d’erreur.

    Cool pour un système censé installer aussi les dépendances.

    Je vois un intérêt pour éviter d’installer tout KDE pour tester Krita 😉

    J’ai testé du Snap, ça semble marcher mieux mais c’est le début, y’a encore du boulot pour que ça devienne bien.

    Et en effet, j’adore l’argument des pour : ça permet de faire du cliocodrome.

    Qui est l’u des reproches à faire à Windows.

    Bientôt, sous Linux, l’installation de malware en 3 clics et les crétins applaudiront des 3 mains 🙂

    Au passage, si on veut rester sur la facilité d’installation du système, snap remporte, y’a juste un soft à installer.
    Pour flatpak, y’a une procédure plus longue… et l’install d’un paquet flatpak faut chopper le nom bien à rallonge, y compris pour le lancer après.

  6. Je ne suis vraiment pas fan des paquets universels et je n’en voudrais pour rien au monde comme substitut de paquets pré-installés mais je ne les rejette pas pour autant car ils peuvent s’avérer utiles dans certains cas :

    – Sécurité : isoler certaines apps grâce au bac à sable.

    – Palier à la fraîcheur de certains logiciels sur les distribs très conservatrices

    – Possibilité d’utiliser des logiciels qui dépendent d’anciennes versions de librairies sur une rolling release

    – Possibilité pour un éditeur d’empaqueter et de distribuer directement un logiciel pour la quasi totalité des distributions. Je pense ici surtout aux logiciels dont la licence interdit la redistribution.

    Le nombre de paquets n’est pas non plus vraiment un problème d’une part parce que flathub n’est pas l’unique point de distribution de ces paquets mais aussi parce que ces paquets sont plus à mon sens un complément aux dépôts natifs des distributions et finalement parce que de + en + de monde se rend compte que ce n’est pas la taille qui compte (par ex. Fedora s’apprête à faire un grand nettoyage dans ses dépôts et va virer des milliers de paquets qui sont obsolète ou dont la maintenance laisse à désirer).

    Le problème des mal ares est commun à l’ensemble des dépôts tiers (Aur à aussi été victime de ce genre d’abus il me semble) mais n’est pas insoluble. Il suffit de mettre en place des contrôles sur les stores comme on le fait avec les dépôts natifs.

    Le plus gros souci de ces formats ce n’est pas tant le poids (qui n’est pas si énorme surtout avec les librairies partagées). Le prix de l’espace de stockage ne cesse de diminuer et la vitesse des connexions internet s’améliore au fil des années. Ce qui est le plus problématique est la difficulté à intégrer ces paquets dans l’environnement de l’utilisateur: si ce dernier utilise un thème qui n’est pas empaqueté en flatpak l’application aura une apparence bizarre.

    1. Pour les justifications abordées, la principale est les limites des fixed releases au niveau des logiciels disponibles… Et surtout sur la fraîcheur quand on a besoin d’un logiciel non encore disponible dans la version stable.

      Flathub est quand même l’annuaire principal. Avoir trop d’annuaire de flatpak fragiliserait la confiance qu’on peut leur apporter.

      Le nombre de paquets est parfois plus un inconvénient qu’un avantage. C’est beau de dire qu’il y a X ou Y milliers de paquets disponibles. Tous ne sont pas forcément maintenus avec la même diligence.

      Le problème des malwares vient que la surveillance se fait a posteriori et non au niveau de la publication. Ce qui peut provoquer des emmerdes. Pour AUR, je confirme. Le problème n’a duré qu’une nuit.

      Pour l’espace de stockage, d’accord. Mais quand on voit des merdes vendues avec 1 Go de mémoire et 32 Go de stockage, on se dit que la place est un problème qu’il ne faut pas trop vite évacuer.

  7. juste une remarque, concernant la dite fraîcheur de certains logiciels qui ne seraient pas disponibles dans les dépôts officiels des fixed. il me semble, qu’il est toujours possible de récupérer le tar.gz (ex. firefox) ou de compiler les sources

    et dans l’absolu, je ne pense pas qu’on mette une fixed pour avoir de la fraîcheur

  8. Salut Fred !

    J’entends tout à fait les différents arguments sur le pour et le contre, étant moi-même en plein rafraîchissement des installations d’Ubuntu que j’ai sur mes deux PC portables, mais en paquets universels j’en reste aux snaps intégrés à la distro pour le moment.

    Dans l’absolu moi je n’y vois pas un inconvénient majeur, ayant un MacBook à côté, chez Apple le principe marche très bien, mais bon, à deux crèmeries différentes, deux fonctionnement différents, et on se tiendra à un rapprochement de principe pour ce genre d’argument.

    Ceci étant dit, j’ai déjà noté et rencontré un certain nombre d’inconvénients. Déjà, la vitesse de lancement : j’ai du SSD partout, et il m’a semblé de manière assez significative que la plupart des applications snaps mettaient plus de temps à s’ouvrir que les applications classiques. Le premier lancement je peux comprendre, mise en place de l’environnement bac-à-sable de l’application, tout ça, mais ensuite ? C’est plus difficilement compréhensible.

    Ensuite l’intégration pose toujours quelques problèmes. Précédemment, VLC avait du mal avec la langue et l’interface, mais ça va mieux au jour d’aujourd’hui. Là j’ai pu constater avec Firefox en version snap qu’il y avait un problème avec les liens vers les autres applications du système (pas possible d’ouvrir un lien apt par exemple, la fenêtre d’association n’apparaît même pas la première fois sur une installation fraîche du logiciel).

    Enfin, on a toujours cette impression de gros bordel entre la Logithèque, qui ne propose toujours pas de filtrer clairement entre les applications classiques et les snaps, et les outils de mise à jour qui ne procèdent manifestement pas au « rafraîchissement » des paquets snaps, tu es obligé de le faire à part en ligne de commande. Ah, et j’oubliais certaines des applications « rafraîchies » qui se parent de l’icône générique système au lieu de la leur…

    Bref, y a encore des couacs, mais je comprend ceci dit que nombre de « gros » développeurs s’y intéressent, notamment côté propriétaire. On se plaint souvent du désintérêt de ces derniers pour l’écosystème Linux, et c’est souvent je pense parce qu’il faut effectivement se coltiner 10 systèmes de paquets différents à maintenir, sans savoir si les librairies sur lesquelles on s’appuie vont êtres aux bonnes versions sur les différentes distributions…on peut les comprendre, quelque part. Les paquets universels, une fois qu’ils se seront vraiment débarrassés des coquilles encore d’actualité, c’estvl’assurance pour eux que leur logiciel fonctionne correctement partout autant que faire se peut. Ce n’est pas un hasard si on a vu Microsoft subitement reprendre le suivi de son Skype Linux avec l’arrivée de Flatpak et Snap.

    Donc au final on a plus qu’à attendre de voir où tout ça nous mène, comme d’habitude.

  9. Ça fait plaisir de voir un blogueur francophone qui comprend que ces systèmes d’empaquetage sont une catastrophe pour les distributions Linux : c’est la fin de la stabilité et de la sécurité de nos systèmes.

    Tiens pour apporter de l’eau à ton moulin : https://flatkill.org/

     

Les commentaires sont fermés.