Vue lecture

Éditer des documents Word en local dans votre navigateur

Si vous avez déjà essayé d'intégrer une fonction d'édition de documents Word dans une application web, vous savez que c'est souvent la croix et la bannière. En fait, pour obtenir un truc correct, on finit souvent par s'appuyer sur des solutions lourdes côté serveur ou des APIs propriétaires qui coûtent un bras. Mais ça, c'était avant que je tombe sur docx-js-editor.

Ce petit bijou open source est un éditeur WYSIWYG conçu spécifiquement pour l'écosystème React qui permet d'ouvrir, de modifier et d'enregistrer des fichiers .docx directement dans le navigateur. Le gros point fort revendiqué par le projet, c'est l'absence de dépendance serveur pour toute la partie édition. Tout le boulot se fait donc en local chez le client, ce qui est plutôt classe côté confidentialité des données puisque vos documents ne transitent pas par un backend obscur.

Techniquement, l'outil s'appuie sur un système qui semble proche de ProseMirror (il permet d'ailleurs d'y injecter des plugins ProseMirror). Perso, j'ai choisi de vous en parler parce que la gestion native du format DOCX est ici au cœur du moteur, et pas juste une couche d'export rajoutée à l'arrache. Le rendu est assez propre d'ailleurs et le projet vise une compatibilité maximale avec Microsoft Word.

On y retrouve l'essentiel évidemment : formatage de texte (gras, italique, polices, couleurs), gestion des tableaux, des images et des hyperliens. Bref, tout ce qu'il faut pour faire un vrai traitement de texte sans avoir à sortir l'artillerie lourde. (et c'est pas peu dire !)

Pour l'installer, c'est hyper fastoche : un petit npm install @eigenpal/docx-js-editor et hop, le dossier débarque dans votre node_modules/ et c'est réglé. D'ailleurs, l'architecture est extensible. Y'a même un plugin pour le surlignage syntaxique des tags docxtemplater, ce qui facilite grandement la vie si vous bossez sur des modèles de documents complexes. C'est très pratique pour les applis métier qui génèrent par exemple des factures ou des contrats à la volée !

Du coup, si vous cherchez une solution open source (licence MIT) pour manipuler des documents Word sans passer par une usine à gaz, allez jeter un œil à ce projet. C'est aussi un bon complément pour ceux qui utilisent déjà des scripts pour organiser leurs fichiers et qui ont besoin d'une interface d'édition rapide.

Ah et y'a une démo live qui tourne et le code est dispo sur GitHub .

Amusez-vous bien !

  •  

Windows a enfin sa CLI pour les développeurs d'apps

Développer une application pour Windows quand on n'utilise pas Visual Studio, c'est un peu comme essayer de monter un meuble Conforama sans la notice et avec des outils en plastique.

Faut jongler avec les SDK, se battre avec des manifestes XML (l'enfer sur Terre ces trucs), générer des certificats dans tous les sens... Bref, c'est souvent la croix et la bannière. Et Microsoft, dans sa grande bonté (si si, ça arrive), s'est dit qu'il était temps d'arrêter de torturer les développeurs.

Du coup, ils viennent d'annoncer en petite pompe la sortie en preview publique de winapp, un nouveau CLI open source conçu pour simplifier tout ce bazar.

Avouez que vous avez lu Winamp ? Ahahah, hé bien non !

Avec ce truc, que vous soyez un développeur Web à fond dans Electron, un vétéran du C++ qui vit dans CMake, ou que vous bossiez en Rust ou Dart, cet outil va grave vous mâcher le travail.

Exit la configuration manuelle de l'environnement qui prend trois plombes, notamment grâce à la commande winapp init.

Cet outil s'occupe de tout, c'est fou : il télécharge les SDK nécessaires, génère les projections (C++/WinRT pour commencer) et configure votre projet. Hop, c'est réglé. Je trouve ça quand même plus sympa que de se taper toutes les étapes à la main avec le risque de se foirer tous les deux clics.

Mais là où c'est vraiment cool, c'est pour le débogage.

Vous savez ces API modernes de Windows telles que les notifications ou les fonctions IA qui nécessitent que votre application ait une "identité de paquet" (ça me rappelle une blague de Bigard, tiens..) ? Hé bien avant, pour tester ça, il fallait empaqueter et installer l'application complète. C'était une perte de temps monumentale.

Mais maintenant, avec winapp create-debug-identity, vous injectez cette identité directement dans votre exécutable. Ça vous permet de continuer à coder et de déboguer votre code spaghetti normalement, sans casser votre boucle de développement. Rien que pour ça, ça vaut le détour !

Bienvenue au XXIe siècle les dev M$ !

L'outil gère aussi la création des manifestes et des certificats de développement. Plus besoin de chialer durant des heures devant un fichier appxmanifest.xml invalide. Vous pouvez même générer un certificat auto-signé en une commande pour tester vos paquets localement.

Et pour les amis qui font de l'Electron, Microsoft a pensé à vous avec un paquet npm dédié.

npm install --save-dev @microsoft/winappcli

Ça permet d'intégrer des fonctionnalités natives ou de l'IA directement dans votre app Electron, et de lancer le tout avec un simple npm start qui gère l'identité du paquet via winapp node add-electron-debug-identity. C'est propre, hein ?

Maintenant, pour installer la bête sur votre machine, un petit coup de WinGet :

winget install microsoft.winappcli

Et vous m'en direz des nouvelles. Alors bien sûr, c'est encore en preview ET c'est dev par Microsoft, donc il y a sûrement des petits bugs qui traînent, mais l'intention est là et ça fait plaisir de les voir s'ouvrir un peu plus aux workflows qui sortent de leur écosystème fermé habituel.

Voilà, si vous voulez tester, le code est dispo sur GitHub et ils attendent vos retours.

Amusez-vous bien !

Source

  •