URL: https://linuxfr.org/news/servo-fin-2015-ou-en-est-on Title: Servo fin 2015 : où en est-on ? Authors: ariasuni M5oul, Nÿco, BAud, palm123, Lucas, ZeroHeure, Bruno Michel, claudex et antistress Date: 2015年09月17日T13:51:04+02:00 License: CC By-SA Tags: servo, web, rust, mozilla, firefox, lwn et gestion_de_l'énergie Score: 60 [Servo](https://github.com/servo/servo), le moteur de rendu de page web moderne, parallèle et sûr développé en [langage Rust](https://www.rust-lang.org/), continue d’avancer à grands pas ! Rappel ou information, Servo, publié sous licence MPL 2.0, est développé sur OS X, GNU/Linux, Android, et Firefox OS. ![Servo](https://pbs.twimg.com/profile_images/621055164510658560/Cj-wqR55_400x400.png) ---- [Page Github du projet](https://github.com/servo/servo) [Page Wikipédia anglophone sur Servo](https://en.wikipedia.org/wiki/Servo_%28layout_engine%29) [Page Wikipédia francophone sur Servo](https://fr.wikipedia.org/wiki/Servo_%28moteur_de_rendu%29) [Blog de Servo](http://blog.servo.org/) [Profil Twitter de l’équipe de développement de Rust](https://twitter.com/servodev) ---- Plus de 120 propriétés CSS sont prises en charge ([tableau récapitulatif](https://docs.google.com/spreadsheets/d/1CxLS8w8GwK-2euVErrqpUUb76PiZa6w5h5EnGsL9KFs/edit?pli=1#gid=555855884)). Ces propriétés suffisent pour que Servo soit essentiellement opérationnel sur des sites statiques comme Wikipédia et GitHub, avec une base de code étonnamment réduite : seulement 126 000 lignes (environ) de code Rust. En comparaison, en 2014, Blink fait à peu près 700 000 lignes de code C++, et WebKit 1,3 millions de lignes. Le nouveau projet servo-shell est très intéressant car il permet d’implémenter et de personnaliser un navigateur web uniquement en JavaScript et CSS. C’est principalement une interface qui utilise les API `mozbrowser` (c’est-à-dire des extensions d’_iFrame_) tournant sur Servo et permettant d’isoler l’interface des pages chargées, et cela a donné de bonnes performances jusqu’à maintenant. - Servo a été porté vers [Gonk](https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gonk) (la couche bas niveau de Firefox OS). - Le travail sur WebGL a commencé, pour l’instant on ne peut dessiner que [des choses très basiques](https://github.com/servo/servo/pull/5820). - Une autre fonctionnalité intéressante est la visualisation du rendu parallèle. Dans ce mode, Servo ajoute à chaque tuile une surcouche indiquant le fil d'exécution par lequel le rendu a été fait. - Affichage d’une image de remplacement lorsque le lien d’une image est cassé. - Les cookies et la vérification SSL sont pris en charge. Cela permet de se connecter à la plupart des sites web qui ont un système de comptes. - La possibilité d’intégrer Servo dans des applications est très importante pour le futur. La communauté a décidé d’implémenter l’API [Chromium Embedded Framework](https://bitbucket.org/chromiumembedded/cef) car elle est populaire et stable. Plus de détails sur [le blog du groupe Open Source de Samsung](http://blogs.s-osg.org/servo-the-embeddable-browser-engine/). Vous pouvez la voir en action avec Miniservo sur [Mac OS](https://github.com/pcwalton/miniservo-mac) et [GNU/Linux (GTK)](https://github.com/glennw/miniservo-gtk). - L’API `canvas` s’améliore, avec la [manipulation de pixels](https://github.com/servo/servo/pull/5020), [`arc()`](https://github.com/servo/servo/pull/5185), [`drawImage`](https://github.com/servo/servo/pull/5433/), les [rotations](https://github.com/servo/servo/pull/5945) et les [animations](https://github.com/servo/servo/pull/5949) et [autres](https://github.com/servo/servo/pull/5016). [Afficher des SVG basiques](https://github.com/servo/servo/pull/4623) tels que le [tigre SVG](https://i.imgur.com/K2Gwkh2.png) est possible. - Prise en charge basique de [WebSockets](https://github.com/servo/servo/pull/5939). - Prise en charge de [WebDriver](http://www.seleniumhq.org/projects/webdriver/), un projet de [Selenium](http://www.seleniumhq.org/) qui permet d’automatiser les tests d’un navigateur web. - Et bien sûr, de nombreux ajouts de fonctionnalités mineures, améliorations de performances et corrections de bugs. On peut voir trois exemples de pages au rendu quasi-parfait : - [Github](https://twitter.com/pcwalton/status/633411771617832961) - [Ars Technica](https://twitter.com/pcwalton/status/631961638304804864) - [Phoronix](https://www.phoronix.com/scan.php?page=news_item&px=phoronix-servo-rendering) Le blog de développement publie régulièrement des articles très intéressants comme [celui-ci sur l’environnement de développement de Servo](http://blog.servo.org/2015/07/22/environment/), ou [celui-ci sur le profilage et la consommation d’énergie](http://blog.servo.org/2015/09/11/timing-energy/). Dans l’article sur l’environnement de développement de Servo, on apprend que 2/3 du code tournant dans Servo est en C/C++. Cela compte le moteur JavaScript SpiderMonkey, les [pipelines 3D](https://en.wikipedia.org/wiki/Graphics_pipeline) Skia et Azure/Moz2D, WebRTC, la prise en charge de DRM ([MSE](https://en.wikipedia.org/wiki/Media_Source_Extensions) et [EME](https://en.wikipedia.org/wiki/Encrypted_Media_Extensions)) et les codecs vidéos non-libres : une immense partie du navigateur est intégrée et liée en Rust plutôt que réécrite. Dans l’autre sens, l’intégration de bibliothèques Rust utilisées dans Servo pourra à terme se retrouver dans Firefox. [Firefox peut intégrer du code Rust](https://bugzilla.mozilla.org/show_bug.cgi?id=1135640), [un rapport de bug demande l’intégration du parseur rust-url](https://bugzilla.mozilla.org/show_bug.cgi?id=1151899), et la bibliothèque [mp4parse-rust](https://notabug.org/rillian/mp4parse-rust) a été intégrée dans Firefox 41 (mais n’est pas encore utilisée). Utiliser des bibliothèques Rust permettra d’améliorer la sécurité du navigateur et d’en faciliter la maintenance. Vous pouvez voir que Servo a très bien avancé ces derniers mois en implémentant plein de nouvelles fonctionnalités qui bénéficient aussi bien aux développeurs de Servo qu’aux futurs utilisateurs. Le projet avance vite, il implémente les fonctionnalités nécessaires aux moteurs de navigateur modernes et montre que Rust, en tant que langage de programmation système, est adapté à l’écriture d’un moteur web à partir de rien. Samsung et Mozilla ont fait une [présentation de Servo à la LinuxCon Japan](https://lwn.net/Articles/647969/). De plus, [le support de présentation](https://events.linuxfoundation.org/sites/events/files/slides/LinuxConJP2015.pdf) est disponible en ligne et est très intéressant : il explique l’historique, les buts et l’état du projet. Si vous souhaitez contribuer ou tester Servo, venez voir la [page GitHub](https://github.com/servo/servo) ou discuter avec les développeuses et développeurs sur le canal IRC `#servo` sur le [serveur IRC Mozilla](https://wiki.mozilla.org/IRC#Project_Channels). Vous pouvez suivre le [blog de Servo](http://blog.servo.org), qui publie régulièrement des articles mais surtout, chaque semaine, un récapitulatif de l’avancement du développement appelé « This week in Servo », ainsi que le [compte Twitter ServoDev](https://twitter.com/servodev).

AltStyle によって変換されたページ (->オリジナル) /