URL: https://linuxfr.org/news/haiku-r1-beta-2 Title: Haiku R1 bĂȘta 2 Authors: pulkomandy ZeroHeure, zurvan, Davy Defaud, palm123, Ysabeau đŸ§¶, Thomas Debesse et bubarđŸŠ„ Date: 2020ćčŽ05月18æ—„T09:35:42+02:00 License: CC By-SA Tags: haiku, libreoffice et firefox Score: 70 Vingt mois aprĂšs la premiĂšre version bĂȘta de Haiku, il Ă©tait plus que temps pour une mise Ă  jour ! La deuxiĂšme version bĂȘta vient d’ĂȘtre publiĂ©e. Cette dĂ©pĂȘche fait le tour des principaux changements et nouveautĂ©s. ![Haiku, lĂ©ger comme une plume](https://raw.githubusercontent.com/haiku/haiku/master/data/artwork/HAIKU%20logo%20-%20black%20on%20transparent%20-%20big.png) Haiku est un systĂšme d’exploitation pour les ordinateurs de bureau dont le dĂ©veloppement a commencĂ© en 2001. Il reprend les idĂ©es de [BeOS]( https://fr.wikipedia.org/wiki/BeOS) et assure une certaine compatibilitĂ© avec les applications Ă©crites pour ce dernier. ---- [DĂ©pĂȘche LinuxFr.org prĂ©sentant la version prĂ©cĂ©dente](https://linuxfr.org/news/haiku-r1-beta-1) [Site officiel du projet](https://www.haiku-os.org) [Manuel de l’utilisateur de Haiku](https://www.haiku-os.org/docs/userguide/fr/contents.html) [Page de tĂ©lĂ©chargement](https://www.haiku-os.org/get-haiku/) [Notes de version](https://www.haiku-os.org/get-haiku/r1beta2/release-notes/) ---- Encore une version bĂȘta ? ========================= Il semble utile de rappeler la feuille de route du projet Haiku, qui a des dĂ©finitions un peu inhabituelles des versions Alpha et BĂȘta. L’objectif de Haiku est de fournir un systĂšme d’exploitation complet au moins iso‐fonctionnel avec BeOS R5.0.3 (la derniĂšre version officielle de BeOS). Cette version sera la version R1. Il y a actuellement un flou assez important sur ce qui vient aprĂšs cette version R1. Probablement une rupture de compatibilitĂ©, rendue nĂ©cessaire par l’obsolescence des outils ou la nĂ©cessitĂ© de corriger des erreurs de conception dans l’API. Par exemple, la compatibilitĂ© avec BeOS nĂ©cessite de compiler une partie de Haiku avec la version 2 de gcc, qui est largement obsolĂšte (elle ne permet pas de compiler du code conforme Ă  la norme C99 ni aucune des versions suivantes de C ou de C++). Avant la version R1, sont prĂ©vues deux phases : 1. les versions Alpha, dont la premiĂšre a Ă©tĂ© publiĂ©e en 2009, ont Ă©tĂ© publiĂ©es Ă  partir du moment oĂč il est devenu possible de compiler Haiku depuis Haiku (« _self hosting_ ») ; cette Ă©tape permettant aux dĂ©veloppeurs de commencer Ă  utiliser eux‐mĂȘmes le systĂšme ; 1. les versions BĂȘta, dont la premiĂšre a Ă©tĂ© publiĂ©e en 2018, ont dĂ©marrĂ© Ă  partir du moment oĂč toutes les fonctionnalitĂ©s de BeOS R5.0.3, augmentĂ©e d’[objectifs supplĂ©mentaires dĂ©cidĂ©s en 2010](https://dev.haiku-os.org/wiki/FutureHaiku/Features), ont Ă©tĂ© disponibles. Le systĂšme restera encore quelque temps en bĂȘta, phase pendant laquelle l’équipe a choisi de se concentrer sur les corrections de bogues, les amĂ©liorations des performances et la simplification de l’expĂ©rience utilisateur. En parallĂšle, il faut essayer d’attirer les dĂ©veloppeurs d’applications natives, sans lesquelles le systĂšme n’a pas de raison d’ĂȘtre (si c’est seulement pour lancer des applications conçues pour GNU/Linux, autant rester sous Linux). À ces aspects s’ajoutent la nĂ©cessitĂ© de suivre l’évolution de l’informatique, par exemple au niveau des pilotes matĂ©riels ou du navigateur Web. C’est la partie qui demande probablement le plus de travail, suite au choix de ne pas rĂ©utiliser le noyau Linux qui aurait permis d'utiliser directement la plupart des pilotes nĂ©cessaires. En consĂ©quence, cette nouvelle version comporte peu de nouvelles fonctionnalitĂ©s visibles. Il y en a tout de mĂȘme quelques‐unes, car personne ne peut empĂȘcher les contributeurs de faire ce qu’ils veulent, malgrĂ© tout. L’objectif pour l’instant est de tenir un rythme d’une nouvelle version par an. Objectif encore manquĂ© cette fois, puisque la version prĂ©cĂ©dente date de septembre 2018 (1 an et 8 mois). C’est dĂ©jĂ  beaucoup mieux que le trou de six ans entre la version alpha 4 et la bĂȘta 1. Configuration nĂ©cessaire ======================== Haiku n’est pas trĂšs exigeant quant au matĂ©riel nĂ©cessaire, n’importe quel ordinateur ĂągĂ© de moins de quinze ans fera probablement l’affaire. Cependant, le systĂšme saura sans problĂšme tirer parti d’une configuration plus performante : - un ordinateur avec un processeur x86 (64 bits ou 32 bits) pouvant exĂ©cuter les instructions MMX ; - une carte graphique compatible VESA et un Ă©cran d’au moins 800 ×ば぀ 480 pixels ; - un clavier et/ou une souris ; - environ 300 Mo de mĂ©moire vive ; - 2 Gio d’espace libre sur un disque dur ou une clĂ© USB (ou choisir une utilisation autonome depuis un DVD). Si votre processeur ne sait pas exĂ©cuter les instructions SSE2 vous ne pourrez pas utiliser le navigateur natif WebPositive (il s’agit d’une limitation du moteur HTML WebKit). Les dĂ©veloppeurs de Haiku conseillent dans ce cas d’utiliser [NetSurf](https://netsurf-browser.org) en remplacement. Principales nouveautĂ©s ====================== Il est difficile de lister tous les changements, puisque prĂšs de [900 tickets ont Ă©tĂ© corrigĂ©s](https://dev.haiku-os.org/milestone/R1/beta2) depuis la version prĂ©cĂ©dente. Voici cependant quelques-uns des points les plus intĂ©ressants. PĂ©riphĂ©riques d’entrĂ©e ---------------------- Les diffĂ©rentes fenĂȘtres pour la configuration des souris, claviers et pavĂ©s tactiles sont maintenant regroupĂ©es dans une unique fenĂȘtre de configuration. Les boutons au‐delĂ  du troisiĂšme ainsi que la molette horizontale sur les souris USB peuvent ĂȘtre utilisĂ©s. ![La nouvelle fenĂȘtre de configuration avec une souris Ă  cinq boutons](https://oshi.at/jUoeJP/mouse.png) MatĂ©riel gĂ©rĂ© ------------- Le pilote XHCI (USB 3) a Ă©tĂ© largement retravaillĂ© et nettoyĂ© pour rĂ©soudre la plupart des problĂšmes de compatibilitĂ©. Il est maintenant possible d’utiliser les supports de stockage NVMe qui remplacent de plus en plus le SATA dans le matĂ©riel moderne. Le travail sur le pilote Intel Extreme pour les contrĂŽleurs vidĂ©o Intel continue, avec une amĂ©lioration du fonctionnement sur les machines de gĂ©nĂ©ration _Sandy Bridge_ et prĂ©cĂ©dentes. Les premiĂšres Ă©tapes pour l’affichage sur plusieurs Ă©crans (en mode clone, pour le moment) ont Ă©tĂ© franchies. Les pilotes rĂ©seau ont Ă©tĂ© synchronisĂ©s avec FreeBSD 12, permettant l’utilisation de l’Ethernet et du Wi‐Fi sur la plupart des ordinateurs. D’autre part, la dĂ©sactivation d’une vĂ©rification de cohĂ©rence (_sanity check_) dans la pile rĂ©seau permet de multiplier par cinquante les performances de cette derniĂšre. Le pilote pour les cartes audio compatibles Intel HDA a Ă©galement reçu quelques amĂ©liorations, mais il reste encore fort Ă  faire pour avoir une sortie son fonctionnelle sur toutes les machines concernĂ©es. AmĂ©lioration du processus d’installation ---------------------------------------- L’intĂ©gration du gestionnaire d’amorçage EFI se poursuit, il est maintenant automatiquement inclus dans l’image amorçable _anyboot_ (pour la version bĂȘta 1, il avait Ă©tĂ© ajoutĂ© manuellement dans l’image disque publiĂ©e). Son installation reste manuelle mais est plus facile Ă  rĂ©aliser car la partition EFI peut ĂȘtre montĂ©e depuis Haiku. D’autre part, divers bogues dans le gestionnaire d’amorçage ont Ă©tĂ© corrigĂ©s pour amĂ©liorer la compatibilitĂ© avec toutes les configurations. L’installateur de Haiku permet d’activer ou de dĂ©sactiver un certain nombre de paquets optionnels. Ces paquets (principalement des outils et bibliothĂšques de dĂ©veloppement) sont maintenant dĂ©sactivĂ©s par dĂ©faut en mode autonome (_live CD_), ce qui permet d’utiliser et d’installer le systĂšme sans problĂšme sur les ordinateurs avec peu de mĂ©moire (environ 300 Mo sont nĂ©cessaires). ![L’installateur montrant la liste des paquets optionnels](https://oshi.at/dTtrsh/installer.png) DriveSetup, l’outil de partitionnement de disques, a reçu lui aussi plusieurs amĂ©liorations et peut afficher l’espace disponible sur chaque partition et dĂ©tecter les volumes chiffrĂ©s. Paquets disponibles ------------------- Le projet HaikuPorts continue son travail pour fournir un ensemble de paquets prĂȘts Ă  installer sur Haiku. Citons par exemple l’arrivĂ©e de Rust et de Node.js. Le dĂ©pĂŽt _haikuports_ comporte 2 761 paquets dont 355 propres Ă  Haiku. Interface utilisateur --------------------- La « Deskbar » (similaire Ă  la barre des tĂąches de Windows) se dote d’un nouveau mode « miniature » qui occupe moins de place Ă  l’écran. Elle s’adapte Ă©galement beaucoup mieux aux Ă©crans Ă  haute rĂ©solution (avec des icĂŽnes dans les menus et le cartouche plus ou moins large selon le besoin) et peut ĂȘtre redimensionnĂ©e Ă  la largeur souhaitĂ©e. Le mode « _auto‐raise_ » qui permet Ă  la Deskbar de passer automatiquement en avant‐a Ă©tĂ© retravaillĂ© pour Ă©viter son activation intempestive. C’est maintenant le mode configurĂ© par dĂ©faut sur les nouvelles installations. ![La Deskbar dans son nouveau mode compact](https://raw.githubusercontent.com/haiku/website/755767c1dd39e9124f72fadb4ce13a48136f6045/static/files/get-haiku/deskbar_minimode.png) Tracker (le navigateur de fichiers) permet maintenant de faire une sĂ©lection « multi‐plage ». L’affichage a Ă©tĂ© optimisĂ© pour corriger un problĂšme de lenteur lors de l’affichage d’un dossier avec beaucoup de fichiers. La fenĂȘtre d’information sur les fichiers liste leurs attributs Ă©tendus, qui auparavant n’étaient visibles que depuis la ligne de commande. Un modĂšle de fichier « contact » (pour l’application People) a Ă©tĂ© ajoutĂ© dans le menu afin de permettre de crĂ©er de nouveaux fichiers. L’application SoftwareUpdater qui permet la mise Ă  jour des paquets indique maintenant si un redĂ©marrage est nĂ©cessaire aprĂšs mise Ă  jour. Le magasin de paquets logiciels _HaikuDepot_ a aussi Ă©tĂ© retravaillĂ© et optimisĂ©, avec par exemple l’affichage de plusieurs captures d’écran par application, la liste des paquets en attente de tĂ©lĂ©chargement, un indicateur clair pour savoir quand l’application est en train de tĂ©lĂ©charger des informations depuis le serveur de paquets, et une interface utilisateur un peu plus claire et comprĂ©hensible (bien que ce soit encore loin d’ĂȘtre parfait). Le dock « LaunchBox » peut ĂȘtre lancĂ© automatiquement au dĂ©marrage, et afficher de trĂšs grosses icĂŽnes en 96 x 96 ou 128 x 128 pixels. Le Terminal dispose maintenant d’une touche MĂ©ta, indispensable entre autres pour les utilisateurs d’Emacs. D’autre part, la commande `uname` affiche la version exacte de Haiku en cours d’utilisation (numĂ©ro de rĂ©vision « hrev »). Le lecteur de mĂ©dias peut se souvenir de l’emplacement oĂč la lecture d’un fichier s’était arrĂȘtĂ©e, et reprendre la lecture Ă  cet endroit. Navigateur Web -------------- Haiku fournit le navigateur WebPositive, utilisant le moteur WebKit (partagĂ© avec Safari chez Apple, Epiphany et les consoles Sony PlayStation, par exemple). L’adaptation du moteur pour Haiku se fait petit Ă  petit, et il reste encore de nombreux problĂšmes de compatibilitĂ© et de stabilitĂ©. Cependant, les choses s’amĂ©liorent, cette nouvelle version bĂȘta 2 vient avec une grosse mise Ă  jour de WebKit (prĂšs de deux ans de travail) et de nombreuses corrections sur la couche rĂ©seau ([[WebSockets]]...) et le rendu graphique. Le navigateur permet Ă©galement de choisir une taille de police de base plus grande que 18 points si nĂ©cessaire. SĂ©curitĂ© -------- Une revue de tous les appels systĂšme est en cours pour dĂ©tecter et corriger les plus gros problĂšmes de sĂ©curitĂ© et possibilitĂ©s de « planter » tout le systĂšme par un appel avec des paramĂštres incorrects (de façon volontaire ou pas). L’ajout de SMAP et SMEP permet de vĂ©rifier au niveau matĂ©riel qu’il n’y a pas de confusion entre les espaces mĂ©moire noyau et utilisateur. Cela nĂ©cessite d’expliciter dans le noyau tous les accĂšs Ă  l’espace mĂ©moire utilisateur (remplacement des appels Ă  `memcpy()` par `user_memcpy()`). Le client FTP hĂ©ritĂ© de BSD, et qui n’était plus maintenu, a Ă©tĂ© remplacĂ© par _tnftp_, une implĂ©mentation plus propre et avec moins de trous de sĂ©curitĂ©. Traducteurs de fichiers ----------------------- Les traducteurs permettent aux applications de lire et Ă©crire des fichiers sans avoir Ă  se soucier du format utilisĂ©. Le traducteur WebP traite maintenant les images avec un canal alpha (transparence). La _libjpeg_ a Ă©tĂ© remplacĂ©e par la _libjpeg-turbo_, une divergence simplifiĂ©e et optimisĂ©e qui gagne en popularitĂ©, car la _libjpeg_ ajoute de plus en plus d’extensions non standardisĂ©es au format JPEG standard. Localisation ------------ La version corĂ©enne a malheureusement dĂ» ĂȘtre supprimĂ©e car elle n’était plus maintenue. Cependant, les traductions en danois, espĂ©ranto, frioulan, portugais europĂ©en, thaĂŻ et turc sont maintenant disponibles. Haiku peut ĂȘtre utilisĂ© dans vingt‐neuf langues diffĂ©rentes. Le manuel d’utilisation est, quant Ă  lui, disponible dans vingt de ces langues. Informations pour les dĂ©veloppeurs ================================== S’agissant d’une version bĂȘta, il y a relativement peu de nouveautĂ©s, l’objectif Ă©tant d’abord de stabiliser les interfaces de programmation (API) existantes et de corriger les dysfonctionnements. Cependant, des ajouts sont toujours possibles. CompatibilitĂ© POSIX ------------------- POSIX est un standard dĂ©crivant les API de systĂšmes de type UNIX. ImplĂ©menter les API POSIX permet de porter facilement un trĂšs grand nombre de programmes Ă©crits pour fonctionner sur ces systĂšmes. Le standard Ă©volue assez peu, mais il est assez vaste puisqu’il couvre de nombreux aspects : allocation mĂ©moire, fils d’exĂ©cution, processus, rĂ©seau... Haiku complĂšte petit Ă  petit son implĂ©mentation, en priorisant les parties nĂ©cessaires au portage de certaines applications : - la fonction `posix_fadvice()` a Ă©tĂ© ajoutĂ©e, elle est sans effet pour l’instant (cette fonction est utilisĂ©e Ă  titre indicatif Ă  des fins d’optimisation) mais permet de simplifier l’adaptation de logiciels Ă©crits pour d’autres systĂšmes POSIX ; - une couche de compatibilitĂ© avec les pĂ©riphĂ©riques rĂ©seau virtuels [TUN et TAP](https://en.wikipedia.org/wiki/TUN/TAP) de Linux a Ă©tĂ© ajoutĂ©e ; - les fonctions `pthread_attr_getstack()`, `pthread_attr_setstack()`, `getpriority()`, `setpriority()` et `nice()` sont disponibles ; - ​la constante `POSIX_SPAWN_SETSID` est ajoutĂ©e et son utilisation est possible dans `posix_spawn()` ; - correction d’une dĂ©viation du comportement de `putenv()` par rapport Ă  ce qui est spĂ©cifiĂ© dans POSIX ; - la fonction `sysconf()` peut rĂ©pondre aux demandes sur `_SC_HOST_NAME_MAX`, `_SC_REGEXP`, `_SC_SYMLOOP_MAX` et `_SC_SHELL`. Game Kit -------- Les API de Haiku sont dĂ©coupĂ©es en « kits » regroupant un ensemble de fonctionnalitĂ©s. Le « _game kit_ » regroupe des fonctions destinĂ©es Ă  l’origine aux dĂ©veloppeurs de jeux vidĂ©o. Une partie de ce kit est dĂ©diĂ©e au son, avec la possibilitĂ© de lire de la musique ou de dĂ©clencher des effets sonores, en utilisant la classe [`BFileGameSound`](https://www.haiku-os.org/docs/api/classBFileGameSound.html). Jusqu’à prĂ©sent, cette classe chargeait forcĂ©ment le son Ă  partir d’un fichier. Il est dĂ©sormais possible d’utiliser n’importe quelle classe implĂ©mentant l’interface [`BDataIO`](https://www.haiku-os.org/docs/api/classBDataIO.html) : tampon en mĂ©moire, _[socket](https://fr.wikipedia.org/wiki/Berkeley_sockets)_, ressources stockĂ©es dans le binaire de l’application...). Interface Kit ------------- Il est possible de crĂ©er une vue (BView) avec une couleur de fond transparente, permettant Ă  la vue parente de rester visible. Une nouvelle fonction permet de remplir un rectangle avec une image matricielle rĂ©pĂ©tĂ©e en tuiles de façon optimisĂ©e. Est‐ce que c’est l’annĂ©e de Haiku sur le desktop ? ================================================== À vous de voir ! Aujourd’hui, il est possible d’utiliser Haiku comme systĂšme d’exploitation principal. Le systĂšme est stable, de nombreuses applications Qt sont disponibles (et un portage de GTK est en cours), ainsi qu’un bon nombre d’outils en ligne de commande, dont l’adaptation depuis GNU/Linux se fait en gĂ©nĂ©ral sans trop de problĂšmes. On pourra par exemple Ă©diter des documents avec LibreOffice, versionner du code source avec Git et l’éditer avec Vim. Certaines applications intĂ©ressantes de KDE sont portĂ©es : l’[EDI](https://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement_int%C3%A9gr%C3%A9 "Environnement de dĂ©veloppement intĂ©grĂ©") KDevelop, Calligra Suite, Krita, etc. — mais GIMP n’est pas encore disponible. [![Tout plein d’applications](https://user-images.githubusercontent.com/2559260/84137217-b6ac1e80-aa8f-11ea-8361-2ea9bcb7f8a4.png)](https://user-images.githubusercontent.com/2559260/84137217-b6ac1e80-aa8f-11ea-8361-2ea9bcb7f8a4.png) Cependant, il reste encore beaucoup de choses Ă  amĂ©liorer ou Ă  complĂ©ter. Les navigateurs Web les plus connus ne sont pas disponibles : pas de Chromium, pas mĂȘme de Firefox en vue. Il faut se contenter d’[Otter](https://en.wikipedia.org/wiki/Otter_Browser) ou du navigateur natif WebPositive (et parfois jongler entre les deux pour contourner les problĂšmes de compatibilitĂ©). Pour les joueurs, il faut garder en tĂȘte qu’il n’y a pas encore d’accĂ©lĂ©ration 3D, et pas non plus de version de [Wine](https://fr.wikipedia.org/wiki/Wine) qui permettrait de lancer les jeux Windows (QEMU fonctionne, mais sans accĂ©lĂ©ration processeur, ce qui limite rapidement les possibilitĂ©s). Il faudra donc se contenter de jeux sur Ă©mulateurs (la suite RetroArch est disponible) ou de jeux pouvant fonctionner correctement sans accĂ©lĂ©ration. [![Des jeux qui fonctionnent tout de mĂȘme trĂšs bien sans accĂ©lĂ©ration 3D](https://user-images.githubusercontent.com/2559260/84137387-fa9f2380-aa8f-11ea-9b8a-5d161231b803.png)](https://user-images.githubusercontent.com/2559260/84137387-fa9f2380-aa8f-11ea-9b8a-5d161231b803.png) _A priori_, il vaut mieux rĂ©server Haiku aux utilisateurs les plus enthousiastes et prĂȘts Ă  accepter ces limitations, ainsi qu’aux dĂ©veloppeurs dont les applications pourraient venir utilement complĂ©ter l’offre disponible.

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /