Parmi les différentes API de Firefox, c’est un peu le bordel. Il y a : — XPCOM, c’est l’API bas niveau, deprecated(?) mais utilisable (il y a beaucoup choses là-dedans, semble-t-il). — Overlay-XUL, ancienne manière de concevoir une interface. Deprecated. — Bootstrapped, je ne sais pas trop ce que c’est, je n’y ai pas mis le nez. Deprecated. — SDK, haut niveau et bas niveau, l’API actuelle. — WebExtension, la nouvelle API, en cours de construction, non finalisée.
Grammalecte n’utilise quasiment que l’API SDK haut niveau, qui sera maintenue même quand WebExtension sera finalisée. J’utilise peut-être une chose ou deux de l’API SDK bas niveau, qui sera abandonnée, sauf ce qui est le plus utilisé (Mozilla a demandé aux dévs d’extensions ce qu’ils voulaient voir maintenu hors de l’API SDK haut niveau). Ce point ne posera pas de problème, je pense. Grammalecte utilise aussi, un peu mais c’est essentiel, l’API XPCOM. On n’est plus censé l’utiliser, mais il y a là-dedans un peu tout ce qu’on ne trouve pas ailleurs, puisque c’est l’API bas niveau. Mozilla voudrait qu’on ne l’utilise plus pour des questions de sécurité, je crois. Bref… Ce que Grammalecte utilise de cette API, c’est un accès vers Hunspell : — pour ajouter/ôter les dictionnaires orthographiques, — pour récupérer les suggestions orthographiques des mots inconnus. On peut arriver à s’en passer, et on va essayer de le faire dans la durée. Grammalecte utilise aussi ce qu’on appelle un PromiseWorker (dérivé de ChromeWorker), qui est en gros un moyen de faire tourner du code en tâche de fond. Ce qu’utilise Grammalecte pour la correction grammaticale. C’est indispensable à la fois parce que ça évite de bloquer Firefox pendant que le correcteur travaille et parce que l’exécution du code y est 20 fois plus rapide. J’utilise aussi un bout d’API qui s’appelle “Tasks” qui permet de chaîner les promesses (Promises) et d’envoyer le résultat au fur et à mesure que la correction avance (grâce à cela, on n’est pas obligé d’attendre que tout le texte soit corrigé pour afficher le résultat). “Tasks” ne sera plus nécessaire avec l’arrivée de JavaScript ES7 qui apportera, je crois, les instructions async/await qui permettront de faire la même chose. Quant au PromiseWorker, je présume que ce ne sera pas abandonné sans être remplacé par une chose équivalente. Espérons-le, sinon Grammalecte va connaître un gros problème. Olivier -- View this message in context: http://nabble.documentfoundation.org/Grammalecte-v0-5-tp4183712p4183826.html Sent from the Discuss mailing list archive at Nabble.com. -- Envoyez un mail à discuss+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/discuss/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés