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 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.  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).  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.  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. [](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. [](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.