{"id":37830,"date":"2019-10-31T22:20:00","date_gmt":"2019-10-31T19:20:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/koe-chto-eshhe-pakety-prilozhenij-haiku\/"},"modified":"2019-10-31T22:20:00","modified_gmt":"2019-10-31T19:20:00","slug":"koe-chto-eshhe-pakety-prilozhenij-haiku","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","title":{"rendered":"Encore quelques \u00e9l\u00e9ments : les paquets d'applications Haiku ?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/90604411e96ca7ef7b2d7dccac374d4e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>TL;DR<\/strong>: Haiku peut-il recevoir un support appropri\u00e9 pour les paquets d'applications, par exemple les catalogues d'applications (comme <code>.app<\/code> sur Mac) et\/ou les images d'applications (Linux <code>AppImage<\/code>) ? Je pense que cela serait un ajout digne de ce nom, plus facile \u00e0 int\u00e9grer que dans d'autres syst\u00e8mes, car une grande partie de l'infrastructure est d\u00e9j\u00e0 en place.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461141\/\">Il y a une semaine<\/a><\/noindex> j'ai d\u00e9couvert Haiku, un syst\u00e8me \u00e9tonnamment bon. Comme je m'int\u00e9resse depuis longtemps aux catalogues et aux images d'applications (inspir\u00e9 par la simplicit\u00e9 de Macintosh), il n'est pas surprenant que cette id\u00e9e m'ait travers\u00e9 l'esprit\u2026<\/p>\n<p><\/p>\n<p>Pour \u00eatre clair : je suis le cr\u00e9ateur et l'auteur d'AppImage, un format de distribution d'applications Linux, con\u00e7u pour la simplicit\u00e9 de Mac et offrant un contr\u00f4le total aux auteurs d'applications et aux utilisateurs finaux (si vous voulez en savoir plus \u2014 voir <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/AppImage\">wiki<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.appimage.org\/\">documentation<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h2 id=\"chto-esli-my-sdelaem-appimage-dlya-haiku\">Que diriez-vous de cr\u00e9er AppImage pour Haiku ?<\/h2>\n<p><\/p>\n<p>Imaginons un peu, purement th\u00e9oriquement, ce qu'il faudrait faire pour obtenir <noindex><a rel=\"nofollow\" href=\"https:\/\/appimage.org\/\">AppImage<\/a><\/noindex>, ou quelque chose de similaire, sur Haiku ? Il n'est pas n\u00e9cessaire de cr\u00e9er quelque chose tout de suite, car le syst\u00e8me d\u00e9j\u00e0 pr\u00e9sent dans Haiku fonctionne \u00e9tonnamment bien, et cette exp\u00e9rience imaginaire serait plut\u00f4t int\u00e9ressante. De plus, elle d\u00e9montre la finesse de Haiku par rapport aux environnements de bureau Linux, o\u00f9 des choses similaires sont terriblement difficiles (j'ai le droit de le dire : \u00e7a fait 10 ans que je me bats avec le d\u00e9bogage).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/f72209cb7c70702e614729f3b250c1b8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Sur Macintosh System 1, chaque application \u00e9tait un fichier distinct, &#171; g\u00e9r\u00e9 &#187; dans le Finder. En utilisant AppImage, j'essaie de recr\u00e9er cette m\u00eame exp\u00e9rience utilisateur sur Linux.<\/em><\/p>\n<p><\/p>\n<p>Tout d'abord, qu'est-ce qu'AppImage ? C'est un syst\u00e8me de publication d'applications tierces (par exemple, <noindex><a rel=\"nofollow\" href=\"https:\/\/ultimaker.com\/software\/ultimaker-cura\">Ultimaker Cura<\/a><\/noindex>), permettant de distribuer des applications quand et comme bon leur semble : pas besoin de conna\u00eetre les sp\u00e9cificit\u00e9s de diff\u00e9rents distributions, les politiques de compilation ou l'infrastructure de compilation, pas besoin de d\u00e9pendances, et elles ne disent pas aux utilisateurs ce qu'ils peuvent ou ne peuvent pas installer sur leurs ordinateurs. AppImage doit \u00eatre compris comme quelque chose de similaire \u00e0 un paquet pour Mac au format <code>.app<\/code> \u00e0 l'int\u00e9rieur d'une image disque <code>.dmg<\/code>. La principale diff\u00e9rence est que les applications ne sont pas copi\u00e9es, mais restent toujours \u00e0 l'int\u00e9rieur de l'AppImage, un peu comme les paquets Haiku <code>.hpkg<\/code> sont mont\u00e9s, et ne sont jamais install\u00e9s au sens habituel.<\/p>\n<p><\/p>\n<p>AppImage a acquis au cours de ses plus de 10 ann\u00e9es d'existence une certaine attraction et popularit\u00e9 : Linus Torvalds lui-m\u00eame l'a publiquement approuv\u00e9, et des projets bien connus (comme LibreOffice, Krita, Inkscape, Scribus, ImageMagick) l'ont adopt\u00e9 comme principal moyen de distribution des versions continues ou nightly, sans interf\u00e9rer avec les applications install\u00e9es ou non install\u00e9es des utilisateurs. Cependant, les environnements de travail et les distributions Linux s'accrochent encore souvent \u00e0 un mod\u00e8le de distribution traditionnel et centralis\u00e9 bas\u00e9 sur des \u0153illets d'accompagnement et\/ou promeuvent leurs propres programmes d'affaires et\/ou d'ing\u00e9nierie corporatifs. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Flatpak\">Flatpak<\/a><\/noindex> (RedHat, Fedora, GNOME) et <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Snappy_%28%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8%29\">Snappy<\/a><\/noindex> (Canonical, Ubuntu). \u00c7a en devient <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.gnome.org\/hughsie\/2019\/07\/12\/gnome-software-in-fedora-will-no-longer-support-snapd\/\">ridicule<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"kak-vse-rabotaet\">Comment tout fonctionne<\/h3>\n<p><\/p>\n<ul>\n<li>Chaque AppImage contient deux parties : un petit ex\u00e9cutable ELF qui se lance par double-clic (appel\u00e9 <code>runtime.c<\/code>), suivi d'une image de syst\u00e8me de fichiers <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/SquashFS\">SquashFS<\/a><\/noindex>.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/c48bdc61fb08cdd9d2a2be10d4cfa5a5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>Le syst\u00e8me de fichiers SquashFS contient la charge utile sous forme d'application et tout ce dont elle a besoin pour se lancer, ce qui ne peut pas \u00eatre consid\u00e9r\u00e9, dans un esprit sain, comme faisant partie de l'installation par d\u00e9faut pour chaque syst\u00e8me cible suffisamment r\u00e9cent (distribution Linux). Il contient \u00e9galement des m\u00e9tadonn\u00e9es, par exemple le nom de l'application, des ic\u00f4nes, des types MIME, etc.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/57285196436aaa5468f544942b39a608.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>Lorsqu'un utilisateur lance l'application, runtime utilise FUSE et squashfuse pour monter le syst\u00e8me de fichiers, puis traite le lancement d'un certain point d'entr\u00e9e (appel\u00e9 AppRun) \u00e0 l'int\u00e9rieur de l'AppImage mont\u00e9.<br \/>\nLe syst\u00e8me de fichiers se d\u00e9monte apr\u00e8s la fin du processus.<\/li>\n<\/ul>\n<p><\/p>\n<p>C'est en fait tr\u00e8s simple.<\/p>\n<p><\/p>\n<p>Mais ces \u00e9l\u00e9ments compliquent tout :<\/p>\n<p><\/p>\n<ul>\n<li>Avec une telle vari\u00e9t\u00e9 de distributions Linux, rien ne peut vraiment \u00eatre qualifi\u00e9 de &#171; partie de l'installation par d\u00e9faut pour chaque nouveau syst\u00e8me cibl\u00e9 &#187;. Nous contournons ce probl\u00e8me en construisant <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/AppImage\/pkg2appimage\/blob\/master\/excludelist\">excludelist<\/a><\/noindex>, qui permet de d\u00e9finir ce qui sera emball\u00e9 dans l'AppImage et ce qu'il faudra obtenir ailleurs. Cependant, nous nous trompons parfois, bien que dans l'ensemble, tout fonctionne tr\u00e8s bien. Pour cette raison, nous conseillons aux cr\u00e9ateurs de paquets de tester les AppImages sur tous les syst\u00e8mes cibles (distributions).<\/li>\n<li>Les applications sous forme de charge utile doivent \u00eatre mobiles dans le syst\u00e8me de fichiers. Malheureusement, de nombreuses applications ont des chemins absolus fixes vers, par exemple, des ressources dans <code>\/usr\/share<\/code>. Cela doit \u00eatre corrig\u00e9 d'une mani\u00e8re ou d'une autre. En outre, il faut soit exporter <code>LD_LIBRARY_PATH<\/code>, ou modifier <code>rpath<\/code> afin que le chargeur puisse trouver les biblioth\u00e8ques associ\u00e9es. La premi\u00e8re m\u00e9thode a ses inconv\u00e9nients (qui n\u00e9cessitent des solutions complexes), tandis que la seconde est simplement encombrante.<\/li>\n<li>Le plus grand pi\u00e8ge UX pour les utilisateurs est qu'il faut <noindex><a rel=\"nofollow\" href=\"https:\/\/discourse.appimage.org\/t\/how-to-run-an-appimage\/80\">d\u00e9finir le bit ex\u00e9cutable<\/a><\/noindex> le fichier AppImage apr\u00e8s le t\u00e9l\u00e9chargement. Que cela vous plaise ou non, pour certaines personnes, c'est une v\u00e9ritable barri\u00e8re. La n\u00e9cessit\u00e9 d'installer le bit ex\u00e9cutable est lourde m\u00eame pour les utilisateurs exp\u00e9riment\u00e9s. Comme solution alternative, nous avons propos\u00e9 d'installer un petit service qui surveille les fichiers AppImage et leur attribue un bit d'ex\u00e9cution. En l'\u00e9tat pur, ce n'est pas la meilleure solution, car cela ne fonctionnera pas &#171; out of the box &#187;. Les distributions Linux ne fournissent pas ce service, il s'ensuit que les utilisateurs &#171; out of the box &#187; se retrouvent dans une mauvaise situation.<\/li>\n<li>Les utilisateurs Linux s'attendent \u00e0 ce qu'une nouvelle application ait une ic\u00f4ne dans le menu de lancement. On ne peut pas dire au syst\u00e8me : \u00ab Regarde, voici une nouvelle application, fais quelque chose &#187;. Au lieu de cela, selon la sp\u00e9cification XDG, il faut copier le fichier <code>.desktop<\/code> au bon endroit dans <code>\/usr<\/code> pour une installation syst\u00e8me g\u00e9n\u00e9ralis\u00e9e, ou dans <code>$HOME<\/code> pour une installation individuelle. Les ic\u00f4nes de certaines tailles, conform\u00e9ment \u00e0 la sp\u00e9cification XDG, doivent \u00eatre plac\u00e9es aux endroits sp\u00e9cifiques dans <code>usr<\/code> ou <code>$HOME<\/code>, apr\u00e8s quoi il faut ex\u00e9cuter des commandes dans l'environnement de travail pour mettre \u00e0 jour le cache des ic\u00f4nes, ou esp\u00e9rer que le gestionnaire de bureau saisira et d\u00e9tectera automatiquement tout. Il en va de m\u00eame pour les types MIME. Comme solution de contournement, il est propos\u00e9 d'utiliser le m\u00eame service, qui, en plus de d\u00e9finir le bit ex\u00e9cutable, copiera, en pr\u00e9sence d'ic\u00f4nes, etc., \u00e0 partir de l'AppImage aux bons endroits conform\u00e9ment \u00e0 XDG. Lors de la suppression ou du d\u00e9placement, le service devrait th\u00e9oriquement nettoyer tout. Bien s\u00fbr, il y a des diff\u00e9rences de comportement dans chaque environnement de bureau, dans les formats de fichiers graphiques, leurs tailles, leurs emplacements de stockage et les m\u00e9thodes de mise \u00e0 jour des caches, ce qui cr\u00e9e le probl\u00e8me. En gros, cette m\u00e9thode est un bricolage.<\/li>\n<li>Si ce qui pr\u00e9c\u00e8de ne suffit pas, il n'y a pas d'ic\u00f4ne AppImage dans le gestionnaire de fichiers. Dans le monde Linux, la d\u00e9cision d'adopter elficon n'a toujours pas \u00e9t\u00e9 prise (malgr\u00e9 le <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.kubuntu.org\/ELFIconSpec\">d\u00e9bat<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pld-linux\/elficon\">implementation<\/a><\/noindex>), il est donc impossible d'incorporer directement l'ic\u00f4ne dans l'application. Ainsi, on constate que les applications dans le gestionnaire de fichiers n'ont pas leurs propres ic\u00f4nes (peu importe si c'est une AppImage ou autre), elles n'apparaissent que dans le menu de lancement. Comme solution alternative, nous utilisons des vignettes \u2014 un m\u00e9canisme qui a \u00e9t\u00e9 initialement con\u00e7u pour permettre aux gestionnaires de bureau d'afficher des images r\u00e9duites pour pr\u00e9visualiser des fichiers graphiques en tant qu'ic\u00f4nes. Par cons\u00e9quent, le service pour attribuer le bit d'ex\u00e9cution fonctionne \u00e9galement comme un &#171; miniaturiseur &#187;, cr\u00e9ant et enregistrant des vignettes d'ic\u00f4nes aux emplacements appropri\u00e9s. <code>\/usr<\/code> et <code>$HOME<\/code>. Ce service effectue \u00e9galement un nettoyage si l'AppImage est supprim\u00e9e ou d\u00e9plac\u00e9e. \u00c9tant donn\u00e9 que chaque gestionnaire de bureau se comporte l\u00e9g\u00e8rement diff\u00e9remment, par exemple, en termes de formats accept\u00e9s pour les ic\u00f4nes, de tailles ou d'emplacements, cela peut \u00eatre assez probl\u00e9matique.<\/li>\n<li>L'application plante simplement \u00e0 l'ex\u00e9cution en cas d'erreurs (par exemple, s'il y a une biblioth\u00e8que qui ne fait pas partie du syst\u00e8me de base et qui n'est pas fournie dans l'AppImage), et personne n'informe l'utilisateur dans l'interface graphique de ce qui se passe vraiment. Nous avons commenc\u00e9 \u00e0 contourner cela en utilisant <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.gnome.org\/notification-spec\/\">des notifications<\/a><\/noindex> sur le bureau, ce qui signifie que nous devons capturer les erreurs de la ligne de commande, les transformer en messages compr\u00e9hensibles pour l'utilisateur, puis les afficher sur le bureau. Et bien s\u00fbr, chaque environnement de bureau les traite un peu diff\u00e9remment.<\/li>\n<li>\u00c0 l'heure actuelle (septembre 2019, \u2014 note du traducteur), je n'ai pas trouv\u00e9 de moyen simple de dire au syst\u00e8me que le fichier <code>1.png<\/code> doit \u00eatre ouvert avec Krita, et <code>2.png<\/code> \u2014 avec GIMP.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/347e54772a7312e27c83fef68be98e66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Le lieu de stockage des sp\u00e9cifications cross-desktop utilis\u00e9es dans <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/GNOME\">GNOME<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/KDE\">KDE<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Xfce\">Xfce<\/a><\/noindex> est freedesktop.org <\/em><\/p>\n<p><\/p>\n<p>Atteindre un niveau de sophistication profond\u00e9ment int\u00e9gr\u00e9 dans l'environnement de bureau Haiku est compliqu\u00e9, pour ne pas dire \u00ab impossible \u00bb, en raison des sp\u00e9cifications <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freedesktop.org\/wiki\/\">XDG de freedesktop.org<\/a><\/noindex> pour le cross-desktop, ainsi que des impl\u00e9mentations des gestionnaires de bureau bas\u00e9es sur ces sp\u00e9cifications. Par exemple, une ic\u00f4ne syst\u00e8me unique pour Firefox : manifestement, il n'a jamais travers\u00e9 l'esprit des auteurs de XDG qu'un utilisateur pourrait avoir plusieurs versions de la m\u00eame application install\u00e9es.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/d9743766c183f78e68a2669b09aa48d9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Ic\u00f4nes des diff\u00e9rentes versions de Firefox<\/em><\/p>\n<p><\/p>\n<p>Je me suis demand\u00e9 ce que le monde Linux pourrait apprendre de Mac OS X pour ne pas \u00e9chouer lors de l'int\u00e9gration syst\u00e8me. Si vous avez le temps et que vous vous int\u00e9ressez \u00e0 ce sujet, n'h\u00e9sitez pas \u00e0 lire ce qu'a dit Arnaud Gurdol, l'un des premiers ing\u00e9nieurs de Mac OS X :<\/p>\n<p><\/p>\n<blockquote><p>Nous voulions que l'installation de l'application soit aussi simple que de faire glisser l'ic\u00f4ne de l'application depuis un emplacement (serveur, disque externe) vers le disque de votre ordinateur. Pour cela, toutes les informations n\u00e9cessaires sont conserv\u00e9es dans le package de l'application, y compris les ic\u00f4nes, la version, le type de fichier trait\u00e9, le type de sch\u00e9ma URL que le syst\u00e8me doit conna\u00eetre pour traiter l'application. Cela inclut \u00e9galement les informations pour le 'stockage centralis\u00e9' dans la base de donn\u00e9es Icon Services et Launch Services. Afin de soutenir les performances de l'application, elle est 'd\u00e9couverte' \u00e0 plusieurs 'emplacements bien connus' : dans le r\u00e9pertoire syst\u00e8me et utilisateur des Applications, ainsi que dans certains autres automatiquement, si l'utilisateur navigue avec le Finder vers le r\u00e9pertoire contenant l'application. En pratique, cela a bien fonctionn\u00e9.<\/p><\/blockquote>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/qQsnqWJ8D2c\">https:\/\/youtu.be\/qQsnqWJ8D2c<\/a><\/noindex><br \/>\n<em>Apple WWDC 2000 session 144 - Mac OS X : empaquetage d'applications et impression de documents.<\/em><\/p>\n<p><\/p>\n<p>Il n'existe rien de similaire dans cette infrastructure sur les environnements de travail Linux, donc nous cherchons des moyens de contourner les limitations structurelles du projet AppImage.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/a2550cb690d92d1aeb4fccff7e7fa57b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Est-ce que Haiku se pr\u00e9cipite \u00e0 l'aide ?<\/em><\/p>\n<p><\/p>\n<p>Et encore : les plateformes Linux en tant que base des environnements de travail sont g\u00e9n\u00e9ralement si peu sp\u00e9cifi\u00e9es que beaucoup de choses qui sont tr\u00e8s simples dans un syst\u00e8me coh\u00e9rent avec une pile compl\u00e8te s'av\u00e8rent frustrantes par leur fragmentation et leur complexit\u00e9 sur Linux. J'ai consacr\u00e9 une pr\u00e9sentation enti\u00e8re aux questions li\u00e9es \u00e0 la plateforme Linux pour les environnements de travail (des d\u00e9veloppeurs exp\u00e9riment\u00e9s ont confirm\u00e9 : cela ne changera pas de sit\u00f4t).<\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"SQ8OXf7o6UA\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/SQ8OXf7o6UA\/hqdefault.jpg\" alt=\"Lire la vid\u00e9o\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><em>Ma pr\u00e9sentation sur les probl\u00e8mes des environnements de travail Linux en 2018<\/em><\/p>\n<p><\/p>\n<p>M\u00eame Linus Torvalds a reconnu qu'\u00e0 cause de la fragmentation, l'id\u00e9e des environnements de travail n'a pas r\u00e9ussi.<\/p>\n<p><\/p>\n<p>C'est agr\u00e9able de voir Haiku !<\/p>\n<p><\/p>\n<h2 id=\"s-haiku-vse-stanovitsya-potryasayusche-prostym\">Avec Haiku, tout devient incroyablement simple<\/h2>\n<p><\/p>\n<p>Bien que l'approche na\u00efve pour 'transf\u00e9rer' AppImage sur Haiku soit d'essayer simplement de compiler (principalement runtime.c et le service) ses composants (ce qui peut m\u00eame \u00eatre possible !), cela n'apportera pas beaucoup d'avantages pour Haiku. En effet, la plupart de ces probl\u00e8mes sont d\u00e9j\u00e0 r\u00e9solus sur Haiku et sont conceptuellement justifi\u00e9s. Haiku fournit exactement les briques pour l'infrastructure syst\u00e8me que je cherchais si longtemps dans les environnements de travail sous Linux et je ne pouvais pas croire qu'elles n'existaient pas. \u00c0 savoir :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/29f583bd24bd06cd67311a5087243639.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Que vous le croyiez ou non, mais cela est un d\u00e9fi pour de nombreux utilisateurs de Linux. Sur Haiku, tout se fait de mani\u00e8re automatique !<\/em><\/p>\n<p><\/p>\n<ul>\n<li>Les fichiers ELF, n'ayant pas de bit d'ex\u00e9cution, l'obtiennent automatiquement lorsqu'on double-clique dans le gestionnaire de fichiers.<\/li>\n<li>Les applications peuvent avoir des ressources int\u00e9gr\u00e9es, par exemple des ic\u00f4nes, qui s'affichent dans le gestionnaire de fichiers. Il n'est pas n\u00e9cessaire de copier une multitude d'images dans des r\u00e9pertoires sp\u00e9ciaux d'ic\u00f4nes, ce qui signifie qu'il n'est pas n\u00e9cessaire de les nettoyer apr\u00e8s la suppression ou le d\u00e9placement de l'application.<\/li>\n<li>Il existe une base de donn\u00e9es pour lier les applications aux documents, il n'est pas n\u00e9cessaire de copier des fichiers pour cela.<\/li>\n<li>Dans le r\u00e9pertoire lib\/ \u00e0 c\u00f4t\u00e9 de l'ex\u00e9cutable, les biblioth\u00e8ques sont recherch\u00e9es par d\u00e9faut.<\/li>\n<li>Il n'existe pas de nombreuses distributions et environnements de bureau, tout ce qui fonctionne \u2014 fonctionne partout.<\/li>\n<li>Il n'existe pas de module distinct pour l'ex\u00e9cution, diff\u00e9rent du r\u00e9pertoire Applications.<\/li>\n<li>Les applications n'ont pas de chemins absolus int\u00e9gr\u00e9s vers leurs ressources, il existe des fonctions sp\u00e9ciales pour d\u00e9terminer l'emplacement \u00e0 l'ex\u00e9cution.<\/li>\n<li>L'id\u00e9e des images compress\u00e9es de syst\u00e8mes de fichiers est int\u00e9gr\u00e9e : c'est n'importe quel paquet hpkg. Tous sont mont\u00e9s par le noyau.<\/li>\n<li>Chaque fichier est ouvert par l'application qui l'a cr\u00e9\u00e9, sauf indication contraire explicite. Comme c'est g\u00e9nial !<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/335fedea2cc70e9d9e0c8f3dbcd41560.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Deux fichiers png. Notez les diff\u00e9rentes ic\u00f4nes qui montrent qu'elles s'ouvriront avec diff\u00e9rentes applications par double-clic. Notez \u00e9galement le menu d\u00e9roulant 'Ouvrir avec :', o\u00f9 l'utilisateur peut choisir une application sp\u00e9cifique. Si simple !<\/em><\/p>\n<p><\/p>\n<p>Il semble que de nombreux ajustements et solutions de contournement n\u00e9cessaires pour AppImage sur Linux deviennent inutiles sur Haiku, qui se base sur la simplicit\u00e9 et l'\u00e9l\u00e9gance, ce qui lui permet de r\u00e9pondre \u00e0 la plupart de nos besoins.<\/p>\n<p><\/p>\n<h2 id=\"nuzhny-li-haiku-pakety-prilozheniy-v-konce-koncov\">Les paquets d'applications sont-ils finalement n\u00e9cessaires sur Haiku ?<\/h2>\n<p><\/p>\n<p>Cela soul\u00e8ve une grande question. Si cr\u00e9er un syst\u00e8me similaire \u00e0 AppImage sur Haiku s'av\u00e9rait beaucoup plus simple que sur Linux, faudrait-il s'y atteler ? Ou bien Haiku, avec son syst\u00e8me de paquets hpkg, a-t-elle effectivement \u00e9limin\u00e9 la n\u00e9cessit\u00e9 de d\u00e9velopper une telle id\u00e9e ? Eh bien, pour y r\u00e9pondre, il faut examiner la motivation derri\u00e8re l'existence des AppImages.<\/p>\n<p><\/p>\n<h3 id=\"vzglyad-so-storony-polzovatelya\">Un point de vue utilisateur<\/h3>\n<p><\/p>\n<p>Regardons notre utilisateur final :<\/p>\n<p><\/p>\n<ul>\n<li>Je veux installer une application sans demander le mot de passe administrateur (root). <em>Il n'y a pas de concept d'administrateur sur Haiku, l'utilisateur a un contr\u00f4le total, car c'est un syst\u00e8me personnel !<\/em> (En principe, cela pourrait \u00e9galement \u00eatre envisag\u00e9 en mode multi-utilisateur, j'esp\u00e8re que les d\u00e9veloppeurs conserveront la simplicit\u00e9)<\/li>\n<li>Je veux obtenir les derni\u00e8res et les meilleures versions des applications, sans attendre qu'elles apparaissent dans ma distribution (ce qui signifie le plus souvent 'jamais', du moins \u00e0 moins de mettre \u00e0 jour tout le syst\u00e8me d'exploitation). <em>Sur Haiku, cela est 'r\u00e9solu' gr\u00e2ce \u00e0 des versions flottantes. Cela signifie qu'il est possible d'obtenir les derni\u00e8res et meilleures versions des applications, mais cela n\u00e9cessite de mettre \u00e0 jour constamment le reste du syst\u00e8me, le transformant en 'cible mouvante'.<\/em>.<\/li>\n<li>Je veux avoir plusieurs versions de la m\u00eame application c\u00f4te \u00e0 c\u00f4te, car je ne peux pas savoir ce qui a \u00e9t\u00e9 cass\u00e9 dans la derni\u00e8re version, ou, par exemple, en tant que d\u00e9veloppeur web, je dois v\u00e9rifier mon travail sur diff\u00e9rentes versions de navigateur. <em>Haiku a r\u00e9solu le premier probl\u00e8me, mais pas le second. Les mises \u00e0 jour peuvent \u00eatre annul\u00e9es, mais seulement pour l'ensemble du syst\u00e8me, il n'est pas possible (autant que je sache) de lancer, par exemple, plusieurs versions de WebPositive ou de LibreOffice simultan\u00e9ment.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p>Un des d\u00e9veloppeurs \u00e9crit :<\/p>\n<p><\/p>\n<blockquote><p>En substance, le raisonnement est le suivant : le sc\u00e9nario d'utilisation est tellement rare que l'optimisation pour celui-ci n'a pas de sens ; le traiter comme un cas particulier dans HaikuPorts semble plus que raisonnable.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>J'ai besoin de garder des applications l\u00e0 o\u00f9 je le souhaite, et non sur le disque de d\u00e9marrage. Mon disque se remplit souvent, donc je dois brancher un disque externe ou un r\u00e9pertoire r\u00e9seau pour stocker des applications (toutes les versions que j'ai t\u00e9l\u00e9charg\u00e9es). Si je branche un tel disque, les applications doivent se lancer par double-clic. <em>Haiku conserve les anciennes versions des paquets, mais je ne sais pas comment les d\u00e9placer sur un disque externe, ni comment ensuite appeler les applications depuis l\u00e0-bas.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p>Commentaire du d\u00e9veloppeur :<\/p>\n<p><\/p>\n<blockquote><p>Techniquement, c'est d\u00e9j\u00e0 possible avec l'\u00e9quipe mount. Bien s\u00fbr, nous cr\u00e9erons une interface graphique pour cela d\u00e8s qu'il y aura suffisamment d'utilisateurs int\u00e9ress\u00e9s.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Je ne veux pas de millions de fichiers \u00e9parpill\u00e9s dans le syst\u00e8me de fichiers que je ne peux pas g\u00e9rer manuellement. Je veux un fichier par application, facilement t\u00e9l\u00e9chargeable, d\u00e9pla\u00e7able, supprimable. <em>Sur Haiku, ce probl\u00e8me est r\u00e9solu avec des paquets <code>.hpkg<\/code>, qui regroupent, par exemple, python, de milliers de fichiers en un seul. Mais si, par exemple, Scribus utilise python, je dois g\u00e9rer au moins deux fichiers. Et je dois m'assurer de conserver les versions qui fonctionnent ensemble.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/94ccb9d0b693b7411946b432f3d2f347.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>De nombreuses versions d'AppImages, ex\u00e9cut\u00e9es c\u00f4te \u00e0 c\u00f4te sur un Linux<\/em><\/p>\n<p><\/p>\n<h3 id=\"vzglyad-so-storony-razrabotchika-prilozheniy\">Perspective du d\u00e9veloppeur d'applications<\/h3>\n<p><\/p>\n<p>Voyons cela du point de vue du d\u00e9veloppeur d'applications :<\/p>\n<p><\/p>\n<ul>\n<li>Je veux contr\u00f4ler l'exp\u00e9rience utilisateur dans son ensemble. Je ne veux pas d\u00e9pendre du syst\u00e8me d'exploitation qui me dicte quand et comment je dois publier des applications. <em>Sur Haiku, les d\u00e9veloppeurs peuvent travailler avec leurs propres d\u00e9p\u00f4ts hpkg, mais cela signifie que les utilisateurs devront les configurer manuellement, ce qui rend cette id\u00e9e 'moins attrayante'.<\/em><\/li>\n<li>J'ai une page de t\u00e9l\u00e9chargement sur mon site web, o\u00f9 je distribue <code>.exe<\/code> pour Windows, <code>.dmg<\/code> pour Mac et <code>.AppImage<\/code> pour Linux. Et si je souhaitais mon\u00e9tiser l'acc\u00e8s \u00e0 cette page, c'est tout \u00e0 fait possible ? Que devrais-je y mettre pour Haiku ? <em>Un seul fichier <code>.hpkg<\/code> avec des d\u00e9pendances uniquement de HaikuPorts<\/em><\/li>\n<li>Mon logiciel n\u00e9cessite des versions sp\u00e9cifiques d'autres logiciels. Par exemple, il est connu que pour Krita, une version corrig\u00e9e de Qt est n\u00e9cessaire, ou un Qt pr\u00e9cis\u00e9ment configur\u00e9 pour une version sp\u00e9cifique de Krita, du moins jusqu'\u00e0 ce que les corrections soient int\u00e9gr\u00e9es dans Qt. <em>Il est possible d'emballer son propre Qt pour l'application dans le paquet <code>.hpkg<\/code>, mais cela ne sera probablement pas bien per\u00e7u.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/7dcb146d08ebd570899d0d73b6517faa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Page de t\u00e9l\u00e9chargement classique de l'application. Que devrais-je y mettre pour Haiku ?<\/em><\/p>\n<p><\/p>\n<p>Les bundles (existants sous forme de r\u00e9pertoires d'applications, comme AppDir ou <code>.app<\/code> au style Apple) et\/ou des images (sous forme d'AppImages fortement modifi\u00e9es ou <code>.dmg<\/code> Les applications d'Apple) sont-elles un compl\u00e9ment utile \u00e0 l'environnement de travail de Haiku ? Ou cela va-t-il diluer l'ensemble et conduire \u00e0 une fragmentation, ajoutant ainsi de la complexit\u00e9 ? J'h\u00e9site : d'un c\u00f4t\u00e9, la beaut\u00e9 et le raffinement de Haiku reposent sur le fait qu'il y a g\u00e9n\u00e9ralement une seule mani\u00e8re de faire les choses, plut\u00f4t que plusieurs. D'un autre c\u00f4t\u00e9, une grande partie de l'infrastructure pour les r\u00e9pertoires et\/ou les ensembles d'applications est d\u00e9j\u00e0 en place, donc le syst\u00e8me appelle \u00e0 l'int\u00e9gration des derniers pourcentages restants.<\/p>\n<p><\/p>\n<p>Selon le d\u00e9veloppeur <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/u\/f103a52f4b96?source=post_page-----1803a11f9748----------------------\">mr. waddlesplash<\/a><\/noindex><\/p>\n<p><\/p>\n<blockquote><p>Sur Linux, ils (<em>r\u00e9pertoires et ensembles d'applications, - note du traducteur<\/em>) sont probablement une solution technique aux probl\u00e8mes syst\u00e9miques. Sur Haiku, nous pr\u00e9f\u00e9rons simplement r\u00e9soudre les probl\u00e8mes syst\u00e9miques.<\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"a-vy-chto-dumaete\">Qu'en pensez-vous ?<\/h2>\n<p><\/p>\n<h3 id=\"prezhde-chem-otvetite\">Avant de r\u00e9pondre...<\/h3>\n<p><\/p>\n<p>Attendez, faisons un rapide \u00e9tat des lieux : en r\u00e9alit\u00e9 <em>les r\u00e9pertoires d'applications<\/em> sont d\u00e9j\u00e0 une partie de Haiku :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Encore quelques \u00e9l\u00e9ments : les paquets d&#039;applications Haiku ?\" src=\"\/wp-content\/uploads\/2019\/09\/b9d3c8ce130d256bc645bd2ee28905a7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Les r\u00e9pertoires d'applications existent d\u00e9j\u00e0 sur Haiku, mais ne sont pas encore pris en charge dans le gestionnaire de fichiers.<\/em><\/p>\n<p><\/p>\n<p>Ils ne sont tout simplement pas aussi bien pris en charge que, disons, dans le Finder de Macintosh. Qu'il serait g\u00e9nial si le r\u00e9pertoire de QtCreator affichait dans le coin sup\u00e9rieur gauche le nom et l'ic\u00f4ne \u00ab QtCreator \u00bb, lan\u00e7ant l'application par un double-clic ?<\/p>\n<p><\/p>\n<p>Un peu plus t\u00f4t, j'ai d\u00e9j\u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@probonopd\/historic-software-can-your-package-manager-handle-this-86563a46f8b5\">demand\u00e9<\/a><\/noindex>:<\/p>\n<p><\/p>\n<blockquote><p>\u00cates-vous s\u00fbr de pouvoir lancer vos applications d'il y a dix ans aujourd'hui, alors que tous les magasins d'applications et d\u00e9p\u00f4ts de distributions les oublieront ainsi que leurs d\u00e9pendances ? \u00cates-vous s\u00fbr de pouvoir toujours acc\u00e9der \u00e0 votre travail actuel \u00e0 l'avenir ?<\/p><\/blockquote>\n<p>Y a-t-il d\u00e9j\u00e0 une r\u00e9ponse de la part de Haiku, ou les r\u00e9pertoires et ensembles d'applications pourront-ils aider ici ? Je pense qu'ils le pourront.<\/p>\n<p><\/p>\n<p>Selon Mr. waddlesplash :<\/p>\n<p><\/p>\n<blockquote><p>Oui, nous avons une r\u00e9ponse \u00e0 la question : nous allons simplement prendre en charge ces applications aussi longtemps que n\u00e9cessaire, jusqu'\u00e0 ce que quelqu'un puisse lire leurs formats de fichiers correctement ou fournir une fonctionnalit\u00e9 \u00e9quivalente. Notre volont\u00e9 de faire fonctionner les applications BeOS R5 sur Haiku en est une preuve directe...<\/p><\/blockquote>\n<p>C'est exact !<\/p>\n<p><\/p>\n<h3 id=\"kakoy-plan-deystviy-dolzhna-prinyat-haiku\">Quel plan d'action Haiku devrait-il adopter ?<\/h3>\n<p><\/p>\n<p>Je peux imaginer une coexistence pacifique de hpkg, des r\u00e9pertoires et des images d'applications :<\/p>\n<p><\/p>\n<ul>\n<li>Le logiciel syst\u00e8me utilise <code>.hpkg<\/code><\/li>\n<li>Pour les logiciels les plus utilis\u00e9s (surtout ceux qui n\u00e9cessitent des versions flottantes programm\u00e9es), on utilise <code>.hpkg<\/code> (environ 80 % de tous les cas)<\/li>\n<li>Certains, install\u00e9s via <code>.hpkg<\/code>, les applications b\u00e9n\u00e9ficieront de la transition vers une infrastructure avec des catalogues d'applications (comme QtCreator) : elles seront diffus\u00e9es sous forme de <code>.hpkg<\/code>, comme avant.<\/li>\n<\/ul>\n<p><\/p>\n<p>mr. waddlesplash dit :<\/p>\n<p><\/p>\n<blockquote><p>Si tout ce dont vous avez besoin est de visualiser des applications dans <code>\/system\/apps<\/code>, il faudrait plut\u00f4t rendre les catalogues dans Deskbar plus g\u00e9rables pour les utilisateurs, car <code>\/system\/apps<\/code> il n'est pas pr\u00e9vu que les utilisateurs l'ouvrent et le regardent r\u00e9guli\u00e8rement (contrairement \u00e0 MacOS). Pour de telles situations, Haiku a une autre paradigme, mais cette option est, en th\u00e9orie, acceptable.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Haiku obtient une infrastructure pour ex\u00e9cuter des images d'applications, des versions de nuit, des builds continues et de test, ainsi que pour les cas o\u00f9 l'utilisateur souhaite \u00ab geler dans le temps \u00bb, pour des logiciels priv\u00e9s et internes, et d'autres cas d'utilisation particuliers (environ 20 % de tous). Ces images contiennent les fichiers n\u00e9cessaires pour ex\u00e9cuter l'application. <code>.hpkg<\/code>, mont\u00e9s par le syst\u00e8me, et apr\u00e8s la fin de l'application, d\u00e9mont\u00e9s. (Peut-\u00eatre que le gestionnaire de fichiers pourrait placer des fichiers <code>.hpkg<\/code> dans des images d'applications, automatiquement ou \u00e0 la demande de l'utilisateur \u2014 un peu comme lorsqu'on glisse une application vers un r\u00e9pertoire r\u00e9seau ou un disque externe. C'est tout simplement une m\u00e9lodie ! Ou plut\u00f4t une po\u00e9sie \u2014 un ha\u00efku.) D'un autre c\u00f4t\u00e9, l'utilisateur pourrait vouloir installer le contenu de l'image sous forme de fichiers<code>.hpkg<\/code>, apr\u00e8s quoi ils seraient mis \u00e0 jour et trait\u00e9s exactement de la m\u00eame mani\u00e8re que s'ils avaient \u00e9t\u00e9 install\u00e9s via HaikuDepot... Un brainstorming est n\u00e9cessaire).<\/li>\n<\/ul>\n<p><\/p>\n<p>Citation de mr. waddlesplash :<\/p>\n<p><\/p>\n<blockquote><p>Lancer des applications \u00e0 partir de disques externes ou de r\u00e9pertoires r\u00e9seau pourrait \u00eatre potentiellement utile. Et l'ajout de la capacit\u00e9 de configurer davantage de \u00ab zones \u00bb pour pkgman serait d\u00e9finitivement une bonne fonctionnalit\u00e9.<\/p><\/blockquote>\n<p>Un tel syst\u00e8me tirerait parti de hpkg, des catalogues et des images d'applications. Ils sont bons s\u00e9par\u00e9ment, mais ensemble, ils deveniront imbattables.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Conclusion<\/h2>\n<p><\/p>\n<p>Haiku dispose d'une infrastructure fournissant une interface utilisateur simple et raffin\u00e9e pour PC, allant bien au-del\u00e0 de ce qui est g\u00e9n\u00e9ralement propos\u00e9 pour les PC sous Linux. Le syst\u00e8me de paquets <code>.hpkg<\/code> \u2014 un exemple parmi d'autres, mais les autres parties du syst\u00e8me sont \u00e9galement impr\u00e9gn\u00e9es de sophistication. N\u00e9anmoins, un bon support des catalogues et des images d'application b\u00e9n\u00e9ficierait \u00e0 Haiku. La meilleure fa\u00e7on de proc\u00e9der serait d'en discuter avec des personnes qui connaissent Haiku, sa philosophie et son architecture bien mieux que moi. Apr\u00e8s tout, je n'utilise Haiku que depuis un peu plus d'une semaine. Cela dit, je pense que ce nouveau regard sera utile aux concepteurs, d\u00e9veloppeurs et architectes de Haiku. Au minimum, je serais ravi d'\u00eatre leur 'partenaire d'entra\u00eenement'. J'ai plus de 10 ans d'exp\u00e9rience pratique avec des catalogues et des ensembles d'applications pour Linux, et j'aimerais leur trouver une application pour Haiku, dont la conception, selon moi, leur convient parfaitement. Les solutions potentielles que je propose ne sont certainement pas les seules bonnes pour les probl\u00e8mes que j'ai d\u00e9crits, et si l'\u00e9quipe de Haiku d\u00e9cide de trouver d'autres solutions plus \u00e9l\u00e9gantes, je ne peux qu'applaudir. En principe, je r\u00e9fl\u00e9chis d\u00e9j\u00e0 \u00e0 des id\u00e9es sur la fa\u00e7on de faire fonctionner le syst\u00e8me. <code>hpkg<\/code> encore plus \u00e9tonnante, sans changer la fa\u00e7on dont elle fonctionne. Il s'av\u00e8re que l'\u00e9quipe de Haiku a longtemps r\u00e9fl\u00e9chi aux packs d'applications lors de la mise en place du syst\u00e8me de gestion de paquets, mais malheureusement, (il me semble) l'id\u00e9e a \u00e9t\u00e9 \u00ab obsol\u00e8te \u00bb. Peut-\u00eatre est-il temps de la raviver ?<\/p>\n<p><\/p>\n<p>Essayez par vous-m\u00eame ! En effet, le projet Haiku fournit des images \u00e0 t\u00e9l\u00e9charger sur DVD ou USB, g\u00e9n\u00e9r\u00e9es <noindex><a rel=\"nofollow\" href=\"https:\/\/download.haiku-os.org\/?source=post_page---------------------------\">quotidiennement<\/a><\/noindex>.<br \/>\nVous avez des questions ? Nous vous invitons sur notre <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/HaikuOS_RU_chat\">canal Telegram en russe<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Revue des erreurs : <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/pvs-studio\/blog\/461255\/\">Comment se tirer une balle dans le pied en C et C++. Recueil de recettes Haiku OS<\/a><\/noindex><\/p>\n<p><\/p>\n<p>De <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/Finnix\/\">l'auteur<\/a><\/noindex> de traduction : c'est le huiti\u00e8me et dernier article d'une s\u00e9rie sur Haiku.<\/p>\n<p><\/p>\n<p>Liste des articles : <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461141\/\">Premier<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461451\/\">Deuxi\u00e8me<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/462815\/\">Troisi\u00e8me<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/463105\/\">Quatri\u00e8me<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/463803\/\">Cinqui\u00e8me<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/464819\/\">Sixi\u00e8me<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/465241\/\">Septi\u00e8me<\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Seuls les utilisateurs enregistr\u00e9s peuvent participer au sondage. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Connectez-vous<\/a><\/noindex>, s'il vous pla\u00eet.<\/p>\n<h2 class=\"default-block__polling-title\">Y a-t-il un sens \u00e0 porter le syst\u00e8me hpkg pour Linux ?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Oui<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Non<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    D\u00e9j\u00e0 r\u00e9alis\u00e9, j'\u00e9crirai dans les commentaires<\/p>\n<\/li>\n<\/ul>\n<p>    20 utilisateurs ont vot\u00e9. 5 utilisateurs se sont abstenus.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/466301\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043a\u0430\u043a .app \u0432 Mac) \u0438\/\u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (Linux AppImage)? \u041c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043d\u0435\u0434\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0443\u0436\u0435 \u0435\u0441\u0442\u044c. \u041d\u0435\u0434\u0435\u043b\u044e \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u0442\u043a\u0440\u044b\u043b \u0434\u043b\u044f \u0441\u0435\u0431\u044f Haiku, \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u041d\u0443 \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37830","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0435: \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Haiku? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Autre chose : les paquets d'applications Haiku ? | ProHoster","description":"TL;DR : Haiku peut-il.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0435: \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Haiku? | ProHoster","og:description":"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:00+00:00","article:modified_time":"2019-10-31T19:20:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37830","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:26:35","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:20:22","updated":"2026-01-23 19:26:35","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=37830"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37830\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/28393"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=37830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=37830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=37830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}