Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Donc ils se lancent là-dessus et quelques années après, ils se disent, vu qu'on travaille dans une boîte qui fait des navigateurs, on va nous-mêmes faire des navigateurs codés en Rust.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Donc ça s'appelle Servo.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Tout très très tôt ?
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Pour revenir un peu à l'histoire de Rust, il y a 7-8 ans, on se dit, voilà, c'est bon, c'est prêt, on y va.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
On voyait que le cerveau était mature et que ça était vraiment fonctionnel.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
On voyait que l'écosystème Rust fonctionnait.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Et donc, on commence à intégrer ce qu'on appelle la toolchain, la série d'outils pour pouvoir, dans Firefox, commencer à pouvoir compiler du Rust.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Parce que tu as des problématiques de gestion mémoire.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Tu as la mémoire d'un monolithe qui est Firefox.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Comment est-ce que le programme Rust peut réussir à lire la mémoire du C et du C++ ?
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Donc, on commence à développer des outils pour faire ça.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Et on se dit, maintenant, c'est bon, c'est prêt.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
On a ça dans la toolchain.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
On est capable d'avoir du Rust qui parle du C et du C++ dans Firefox.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
mais il faut quand même se convaincre nous-mêmes et convaincre le leadership, la direction, que ça va fonctionner.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Donc on part sur un petit proto qui est de la vidéo.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Un des principaux vecteurs d'attaque dans les sites web, c'est ce qu'on appelle le parsing, la lecture de fichiers, soit fichiers textes, soit vidéos.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
C'est vraiment quelque chose de très compliqué à développer en C++, tout ce qui est parseur.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Et un des vecteurs, c'est H.264, donc le codec de vidéo.
Underscore_
Pourquoi les devs réécrivent tout avec ce langage ? — Sylvestre Ledru (Mozilla)
Et donc l'équipe qui travaille là-dessus se dit, on va faire le parsing à la fois, on va garder le parsing qu'on a à l'heure actuelle, qui était codé en C et C++, et on va intégrer le parsing en REST.