Vue lecture

Web Flight Simulator - Pilotez un F-15 dans votre navigateur

Survoler la Terre entière depuis son navigateur web, sans RIEN installer, c'est possible et en plus c'est gratuit !

Web Flight Simulator c'est un simulateur de vol qui tourne directement dans votre browser, et qui vous colle aux commandes d'un F-15 au-dessus de la planète entière. Un vrai terrain 3D avec des données satellites, du relief, des textures... le tout grâce à CesiumJS pour la partie géospatiale et Three.js pour le rendu 3D. Du coup vous pouvez survoler n'importe quel coin du monde, que ce soit les Alpes, Manhattan ou le désert australien.

Le cockpit du F-15 avec HUD, minimap et terrain satellite en temps réel

Et contrairement à un Microsoft Flight Simulator où faut limite un brevet de pilote pour décoller, là c'est ARCADE à fond. Flèches directionnelles pour piloter, W/S pour les gaz, Espace pour l'afterburner... hop, vous êtes en l'air en 10 secondes. Pas de checklist de 45 items avant le décollage (oui oui, les vrais pilotes comprendront).

D'ailleurs le F-15 est équipé d'un canon Vulcan et de missiles Sidewinder. Y'a même des leurres thermiques si vous vous sentez d'humeur Top Gun. Les ennemis IA sont encore en développement, mais le système de combat est déjà fonctionnel. Perso, j'aime bien mitrailler dans le vide au-dessus de la Tour Eiffel, chacun ses hobbies...

Le HUD est pas mal foutu avec l'altitude, la vitesse, un compas et même une minimap satellite. Côté son, le moteur réagit aux gaz, y'a du vent aérodynamique et surtout l'alarme GPWS qui vous gueule "PULL UP" quand vous foncez dans une montagne.

Si vous êtes curieux de savoir comment ça marche sous le capot, c'est un mix assez malin de CesiumJS qui gère le streaming du terrain à l'échelle planétaire et de Three.js qui s'occupe de l'avion, des particules et des effets visuels. Le tout tourne avec Vite en dev, du JavaScript pur, et c'est open source avec une licence non commerciale. J'ai préféré tester sur Firefox plutôt que sur Chrome, parce que le WebGL y est mieux géré, et ça tourne nickel sur mon MacBook Air M2.

Attention quand même, sauf si vous avez une machine un peu costaud, ça peut ramer dans les zones urbaines denses. Sur un vieux laptop avec une carte graphique intégrée... ça plantera pas, mais ce sera plus un diaporama.

Pour ceux qui connaissent FlightGear qui est un des simulateurs de vol libres les plus connus, là on est sur un truc complètement différent. FlightGear c'est pour les passionnés qui veulent apprendre le vrai pilotage, alors que Web Flight Simulator c'est pour se marrer 5 minutes (ou 2 heures, je juge pas ^^). Et si vous voulez un peu de nostalgie, allez voir l'histoire des premiers Microsoft Flight Simulator de 1982 à 1989... on a fait du chemin depuis.

Une version Lune et Mars ce serait le pied. D'ailleurs CesiumJS propose déjà des datasets Moon Terrain et Mars depuis 2024-2025... donc affaire à suivre côté Web Flight Simulator.

Bref, allez tester , c'est gratuit et ça marche sur n'importe quel navigateur qui gère le WebGL.

  •  

Node.js Path Traversal: Prevention & Security Guide

Un excellent et relativement long article (mais très complet) qui détaille comment limiter le risque qu'un attaquant accède à tout le système de fichier de votre serveur Node.js lors de l'upload d'un fichier.

Les conseils prodigués sont validé de manière générale, pas uniquement pour Node.


Permalink
  •  

Node.js Path Traversal: Prevention & Security Guide

Un excellent et relativement long article (mais très complet) qui détaille comment limiter le risque qu'un attaquant accède à tout le système de fichier de votre serveur Node.js lors de l'upload d'un fichier.

Les conseils prodigués sont validé de manière générale, pas uniquement pour Node.


Permalink
  •  

Webhooks Proxy Tunnel – Vos webhooks en local sans payer Ngrok

Ce matin, je cherchais un moyen simple de tester des webhooks en local sans passer par ce bon vieux Ngrok qui est devenu un peu relou avec ses limites en version gratuite. J'ai d'abord pensé à monter mon propre serveur VPN (coucou Tailscale), mais franchement flemme.

Et puis tout à fait par hasard (aaah les joies de la sérendipité) je suis tombé sur cet outil qui devrait vous plaire, surtout si vous développez des applis qui doivent recevoir des notifications HTTP (GitHub, Stripe, Slack...). Ben oui vous connaissez la galère... votre serveur de dev est sur "localhost", donc inaccessible depuis l'extérieur, du coup, impossible de recevoir ces fameux webhooks sans ouvrir votre routeur ou utiliser un tunnel.

C'est là qu'intervient Webhooks Proxy Tunnel !

Grâce à cet outil, au lieu de multiplier les intermédiaires, vous déployez votre propre tunnel... directement sur l'infrastructure de Cloudflare. Et le meilleur c'est que ça tourne généralement très bien sur leur offre gratuite (dans la limite des quotas Workers évidemment, donc attention si vous bourrinez comme un fifou).

L'outil utilise un Cloudflare Worker couplé à un Durable Object (une sorte de mini-serveur d'état). Le Worker reçoit alors les requêtes publiques sur une URL en HTTPS (genre "truc.workers.dev") et les transmet via une WebSocket à un petit client Node.js qui tourne sur votre machine. Et hop, le trafic arrive sur votre port local.

Perso, je trouve ça brillant car même si le trafic passe techniquement par Cloudflare (puisque c'est leur infra), vous gardez la main sur le code qui s'exécute et vous évitez d'envoyer vos données à un service tiers supplémentaire dont vous ignorez tout.

Pour l'installer, ne plus c'est hyper fastoche. Il vous faut juste un compte Cloudflare et Node.js. J'ai testé l'install en moins de 5 minutes, vous clonez le dépôt, vous installez les dépendances et vous lancez le déploiement (qui vous demandera de vous authentifier) :

git clone https://github.com/peter-leonov/webhooks-proxy-tunnel.git
cd webhooks-proxy-tunnel/worker
npm install
npm run deploy

Une fois déployé, le script vous donne une URL et il ne vous reste plus alors qu'à lancer le client local en lui disant où taper (par exemple votre port 3000) et le tour est joué !! Vous pouvez même gérer plusieurs tunnels en parallèle si vous bossez sur plusieurs projets, chaque tunnel ayant son ID unique.

Attention quand même, c'est conçu pour du développement hein, pas pour streamer de la 4K. Les requêtes doivent tenir en mémoire (limite de 100 Mo environ) donc sauf si vous transférez des fichiers énormes via vos webhooks, ça passera crème pour du JSON ou des petits payloads binaires.

Voilà, si vous cherchiez une alternative self-hosted et gratuite pour vos tests, c'est clairement un outil à garder sous le coude. Et si vous avez besoin de trucs plus costauds pour du réseau d'entreprise, jetez un œil à Tailscale ou Octelium .

Source

  •  

LibPDF - The PDF library TypeScript deserves

Une nouvelle lib TypeScript pour travailler avec les PDF en Node.js ou Bun. Elle permet notamment de gérer les formulaires, les signatures, etc.

Elle ambitionne également de générer des PDF à partir de HTML dans le futur.


Permalink
  •  

LibPDF - The PDF library TypeScript deserves

Une nouvelle lib TypeScript pour travailler avec les PDF en Node.js ou Bun. Elle permet notamment de gérer les formulaires, les signatures, etc.

Elle ambitionne également de générer des PDF à partir de HTML dans le futur.


Permalink
  •  
❌