Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierKorben

Monolith – L’outil parfait pour sauvegarder le web

Par : Korben
22 juin 2024 à 07:00

Je vais vous parler aujourd’hui d’un outil vraiment cool pour faire de l’archivage de pages web. Alors oui, je sais, on peut déjà enregistrer une page web avec le navigateur, mais cet outil baptisé Monolith permet de faire 1000 fois mieux que ça. Il va non seulement sauvegarder la page cible, mais aussi embarquer d’un coup tous les éléments CSS, images et JavaScript dans un seul et unique fichier HTML5.

Et contrairement à une sauvegarde classique ou même avec wget, Monolith intègre tous les assets en URLs de données. Ça veut dire que votre navigateur va pouvoir afficher la page exactement comme elle était sur le web, même sans connexion Internet !

Pour l’installer, c’est ultra simple. Que vous soyez sur Windows, macOS, GNU/Linux ou même sur des devices exotiques avec des processeurs ARM, ça marchera forcement :

  • Avec Cargo (cross-platform) : cargo install monolith
  • Via Homebrew (macOS et GNU/Linux) : brew install monolith
  • Avec Snapcraft (GNU/Linux) : snap install monolith
  • Et plein d’autres options encore…

Ensuite, pour sauvegarder par exemple cet article de mon site, il vous suffit d’entrer la commande suivante :

monolith https://korben.info/monolith-archivage-web-html-autonome.html -o monolith.html

Et paf, ça vous génère direct un fichier monolith.html avec tout ce qu’il faut dedans. Vous pouvez l’ouvrir tranquillou dans votre navigateur même sans accès internet, c’est magique.

Mais Monolith a encore plein d’autres tours dans son sac. Vous pouvez par exemple l’utiliser directement avec une entrée STDIN :

cat index.html | monolith -aMcIiFfv -b https://site.com/ - > result.html

Ici, on lui passe le contenu HTML via l’entrée standard, avec quelques options en plus :

  • -a pour virer les audios
  • -M pour ne pas ajouter les infos de date et d’URL
  • -c pour exclure les CSS
  • -I pour isoler le document
  • -i pour retirer les images
  • -F pour exclure les web fonts
  • -f pour zapper les frames
  • -v pour virer les vidéos

Bref, vous avez un contrôle total sur ce que vous voulez garder ou non.

Vous pouvez aussi spécifier les domaines autorisés ou interdits pour récupérer les assets, genre :

monolith -I -d example.com -d www.example.com https://example.com -o example-only.html

Là on autorise uniquement les domaines example.com et www.example.com. Tout ce qui vient d’ailleurs sera zappé. Ou à l’inverse, on peut dégager des domaines, typiquement ceux qui servent de la pub :

monolith -I -B -d .googleusercontent.com -d googleanalytics.com -d .google.com https://example.com -o example-no-ads.html

Après, faut savoir que Monolith n’embarque pas de moteur JavaScript. Donc pour les pages web un peu complexes qui vont chercher des données après le chargement initial, ça peut être limité. Mais pas de panique ! On peut utiliser un navigateur headless comme Chromium en amont, pour pré-processer la page avant de la passer à Monolith :

chromium --headless --incognito --dump-dom https://github.com | monolith - -I -b https://github.com -o github.html

Et hop, problème réglé !

Parfait donc pour les archivistes du web ou les data hoarders qui veulent garder une trace de tout, voire automatiser tout ça dans leurs scripts.

WebNN – L’IA s’invite dans votre navigateur avec DirectML

Par : Korben
28 mai 2024 à 12:49

Ça y est, les amis, l’API WebNN débarque enfin en preview pour les développeurs, et croyez-moi, ça va changer totalement la manière dont on fait tourner de l’IA dans nos navigateurs web !Grâce à cette techno, on va pouvoir profiter de la puissance de nos GPU et autres accélérateurs matériels directement depuis nos pages web, sans avoir à installer le moindre plugin ou logiciel supplémentaire.

Concrètement, WebNN est une API JavaScript qui va permettre aux applications web d’exécuter des tâches d’inférence de réseaux neuronaux de manière super efficace, en exploitant à fond les capacités des CPU, GPU et autres processeurs dédiés à l’IA (les fameux NPU et TPU). Fini les calculs qui rament, bonjour la fluidité et la réactivité, même pour les modèles les plus gourmands !

WebNN est complètement agnostique côté matériel et côté modèles. Quel que soit le hardware qu’on a sous le capot (Intel, AMD, NVIDIA, Qualcomm…) et le format des modèles (ONNX, TensorFlow…), cette API va nous permettre de tirer parti un maximum des ressources disponibles, tout ça de manière transparente, sans avoir à se prendre la tête avec des lignes de code spécifiques à chaque plateforme.

Cette API suit un modèle de programmation super simple en deux grandes étapes :

  • 1. La construction du modèle : on utilise l’API MLGraphBuilder pour définir notre réseau de neurones, ses opérations, ses entrées et ses sorties et une fois que c’est fait, on peut le compiler en un graphe exécutable.
  • 2. L’exécution du modèle : maintenant qu’on a notre super graphe optimisé, il ne reste plus qu’à lui envoyer nos données d’entrée, et il va nous fournir ses prédictions et classifications à toute vitesse !

Grâce à WebNN, les tâches d’inférence de machine learning sont accélérées par le matériel local, ce qui offre des performances améliorées et une faible latence, même sans connexion internet ou avec une connexion non fiable. De plus, les données restent sur la machine de l’utilisateur, ce qui préserve ainsi sa vie privée.

WebNN est conçu pour fonctionner avec DirectML sur Windows, lequel assure des performances optimales sur divers matériels, notamment les RTX GPUs de NVIDIA, les Intel Core Ultra avec Intel AI Boost, et les Copilot+ PC avec des NPU Qualcomm Hexagon. Ça ouvre la porte à des applications évoluées de génération d’IA, de reconnaissance d’images, de traitement du langage naturel, et bien d’autres cas d’utilisation tout à fait passionnants.

Si vous voulez vous lancer dès maintenant avec WebNN, je vous conseille fortement de visiter le dépôt WebNN Developer Preview sur GitHub. Vous y trouverez plein de démos et d’exemples de code pour vous familiariser avec l’API et ses fonctionnalités. Par contre, vous devrez télécharger Edge en version Canary et la dernière Insider de Windows 11 puis dans la barre d’URL, tapez edge://flags/ pour pouvoir ensuite activer WebNN.

Pour plus de détails, vous pouvez consulter le tutoriel officiel de Microsoft.

Un grand merci au super neurone NexusSeven pour les sources de cet article !

Source

❌
❌