Vue normale

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

Faites tourner les Cloudflare Workers directement chez vous

Par : Korben
18 mars 2026 à 17:17

Pour faire tourner du JavaScript côté serveur, y'a pas que Node.js dans la vie. Y'a maintenant workerd (prononcez "worker-dee"), qui est le runtime open source de Cloudflare, celui-là même qui fait tourner les Workers en prod (le service tourne depuis 2017, le runtime est open source depuis 2022), et que vous pouvez l'installer sur votre Debian, votre Mac ou même votre PC Windows avec un simple npx.

Mais alors pourquoi s'embêter avec un énième runtime JS ?

Hé bien parce que celui-ci n'est pas un runtime généraliste. C'est un vrai serveur HTTP pur et dur, basé sur le moteur V8 de Chrome, conçu pour recevoir des requêtes et y répondre. Pas de filesystem, pas d'accès disque sauvage... ici, votre code vit dans un isolate V8, bien cloisonné, et communique avec l'extérieur uniquement via des bindings explicites qu'on appelle des "capabilities". En gros, votre Worker ne peut accéder qu'aux ressources qu'on lui a branchées dans son fichier de config Cap'n Proto .

Et cela a plein d'avantages ! Par exemple, les attaques SSRF classiques c'est mort ! Et n'oubliez pas que c'est du JavaScript pur, donc y'a pas d'affreux require('fs') ni de child_process qui traîne.

Et le concept qui tue, ce sont les nanoservices. En fait, faut imaginer des microservices, mais qui tournent tous dans le même processus Linux, sur le même thread. Comme ça quand un nanoservice en appelle un autre, y'a zéro latence TCP, c'est un juste appel de fonction local !

Et vous pouvez en faire tourner des centaines sur un seul serveur parce que les API sont implémentées en C++ natif et tous les isolates V8 partagent le même code compilé en mémoire. C'est carrément pas intuitif, mais visiblement, ça tient la route.

Côté rétrocompatibilité, c'est cool puisque chaque Worker déclare une "date de compatibilité" dans son fichier .capnp. Comme ça, vous fixez compatibilityDate = "2024-06-15" et le runtime vous garantit que les API fetch() et WebCrypto se comporteront toujours comme à cette date-là, même si le binaire a été recompilé 200 fois depuis. Des releases sortant tous les jours, cette garantie n'est pas anecdotique !

Cap'n Proto, un format de sérialisation binaire créé par Kenton Varda, le même gars qui est derrière Protocol Buffers chez Google (excusez du peu). C'est un poil déroutant au début si vous êtes habitués au YAML ou au JSON, mais c'est très efficace et hyper rapide. Et pour ceux qui bossent déjà avec l'écosystème Cloudflare parce que vous avez l'Amérique qui coule dans les veines, sachez le runtime s'intègre nickel avec l'outil CLI Wrangler pour le dev local.

Par contre, attention, ce n'est PAS un sandbox sécurisé. Cloudflare le dit cash : si vous faites tourner du code potentiellement malveillant, faudra l'isoler dans une VM KVM ou un conteneur Docker. Hé oui les amis, en prod chez Cloudflare, y'a des couches de sécurité supplémentaires (isolation kernel Linux, patching V8 en urgence, segmentation par profil de risque) que le runtime seul ne fournit pas.

Le problème, c'est surtout Spectre et les bugs du moteur V8... car ça reste du code C++ compilé avec clang derrière. Après, pour du self-hosting de vos propres Workers sur votre VPS Ubuntu, c'est largement suffisant.

Maintenant pour tester concrétement c'est mui rapido.

npx workerd serve config.capnp

Vous écrivez un petit hello.js avec un addEventListener("fetch"), et hop, vous avez un serveur HTTP prêt à répondre sur le port 8080 de votre localhost. Et le truc sympa, c'est qu'on peut aussi l'utiliser comme proxy HTTP programmable !

Comme ça, au lieu de configurer des règles nginx ou Apache absconses, vous écrivez du JavaScript standard avec des Request et Response pour intercepter et router vos requêtes. Franchement, pour du reverse proxy avec de la logique métier, c'est quand même plus lisible que du location ~ ^/api/(.*)$. ^^

D'ailleurs, côté API, tout est basé sur les standards W3C : fetch(), URL, WebCrypto, TextEncoder, les classiques quoi. Donc si vous savez écrire du JS pour Firefox ou Chrome, vous savez écrire pour le moteur des Workers. Pas de modules propriétaires bizarres, contrairement à Node.js et tous ses packages http, net, stream...

Bref, c'est costaud, c'est gratuit, et ça tourne partout, avec un dossier samples/ plein de configs prêtes à l'emploi.

Allez, je vous libère, vous pouvez foncer tester ça !!

Ligue des Champions, Top 14 : Canal+ sait où frapper pour contrer le piratage des matchs par IPTV et streaming

17 mars 2026 à 18:45

boxe combat bagarre

La justice française a ordonné une nouvelle vague de blocages ciblant une cinquantaine de sites illégaux de streaming et d'IPTV. Cette fois, Canal+ a ciblé un géant américain de l'infrastructure web, Cloudflare, dont certains services peuvent servir à contourner les blocages de sites illicites.

Ligue des Champions, Top 14 : Canal+ sait où frapper pour contrer le piratage des matchs par IPTV et streaming

17 mars 2026 à 15:45

boxe combat bagarre

La justice française a ordonné une nouvelle vague de blocages ciblant une cinquantaine de sites illégaux de streaming et d'IPTV. Cette fois, Canal+ a ciblé un géant américain de l'infrastructure web, Cloudflare, dont certains services peuvent servir à contourner les blocages de sites illicites.

Canal+ maintient la pression sur le piratage : la chaîne fait bloquer plus de 50 sites d’IPTV en France

17 mars 2026 à 12:31

La justice française a ordonné une nouvelle vague de blocages ciblant une cinquantaine de sites illégaux de streaming et d'IPTV. Cette fois, Canal+ a ciblé un géant américain de l'infrastructure web, Cloudflare, dont certains services peuvent servir à contourner les blocages de sites illicites.

« Vérifiez que vous êtes humain », comment des hackers ont rendu leur piège invisible grâce à cet outil incontournable

13 mars 2026 à 09:31

Dans un article de blog publié le 11 mars 2026, les chercheurs de DomainTools ont mis au jour une campagne de phishing particulièrement fourbe, visant à dérober les identifiants Microsoft 365 de ses victimes. Sa particularité ? Détourner un outil de protection légitime de Cloudflare pour se rendre invisible aux scanners de sécurité.

« Vérifiez que vous êtes humain », comment des hackers ont rendu leur piège invisible grâce à cet outil incontournable

13 mars 2026 à 09:31

Dans un article de blog publié le 11 mars 2026, les chercheurs de DomainTools ont mis au jour une campagne de phishing particulièrement fourbe, visant à dérober les identifiants Microsoft 365 de ses victimes. Sa particularité ? Détourner un outil de protection légitime de Cloudflare pour se rendre invisible aux scanners de sécurité.

Cloudflare /crawl - Aspirez un site entier en un seul appel API

Par : Korben
11 mars 2026 à 14:47

Crawler un site entier, ça devrait pas être aussi compliqué. Et pourtant, entre les scripts maison qui cassent tous les 2 jours et les headless browsers qui bouffent de la RAM comme pas permis, c'est assez la galère ! Du coup, Cloudflare, dans sa grande bonté (lol) vient de sortir un endpoint /crawl (en open beta) dans la section Browser Rendering qui simplifie tout ça... vous balancez une URL dessus et hop, ça ASPIRE tout le site (oui oui).

En gros, vous envoyez une requête POST avec l'URL de départ, et le service se charge de découvrir les pages (via le sitemap, les liens internes, ou les deux), de les générer dans un navigateur headless, et de vous renvoyer le contenu en HTML, Markdown ou même en JSON structuré grâce à Workers AI. Le tout de manière asynchron ! Vous, vous récupérez juste un job ID et vous revenez plus tard chercher les résultats quand c'est prêt.

Créer votre token API

Avant toute chose, il vous faut un token API Cloudflare avec la permission "Browser Rendering - Edit". Rendez-vous dans votre dashboard Cloudflare, section API Tokens, et créez-en un nouveau. Notez aussi votre Account ID (visible dans l'URL du dashboard ou dans la section Overview de n'importe quel domaine).

Lancer un crawl

Là, ensuite c'est hyper simple. Un seul appel curl suffit :

curl -X POST "https://api.cloudflare.com/client/v4/accounts/VOTRE_ACCOUNT_ID/browser-rendering/crawl" \
 -H "Authorization: Bearer VOTRE_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"url": "https://example.com"}'

Et là, vous récupérez un job ID en retour (genre c7f8s2d9-a8e7-4b6e-...). Par défaut, le crawler va explorer 10 pages max avec une profondeur quasi illimitée. Mais bon, 10 pages c'est vite limité, du coup vous pouvez ajuster tout ça comme ceci :

curl -X POST "https://api.cloudflare.com/client/v4/accounts/VOTRE_ACCOUNT_ID/browser-rendering/crawl" \
 -H "Authorization: Bearer VOTRE_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
 "url": "https://example.com/docs",
 "limit": 50,
 "depth": 3,
 "formats": ["markdown"],
 "render": false,
 "options": {
 "includePatterns": ["https://example.com/docs/**"],
 "excludePatterns": ["**/changelog/**"]
 }
 }'

Le paramètre render: false permet de récupérer le HTML brut sans lancer de navigateur headless, c'est carrément plus rapide pour les sites statiques. Sachez quand même que pendant la beta, ce mode n'est pas facturé ! Youpi !

Récupérer les résultats

Une fois le crawl lancé, vous interrogez le job avec un GET :

curl "https://api.cloudflare.com/client/v4/accounts/VOTRE_ACCOUNT_ID/browser-rendering/crawl/VOTRE_JOB_ID" \
 -H "Authorization: Bearer VOTRE_TOKEN"

Vous obtenez alors le statut (running, completed, errored...) et la liste des pages crawlées avec leur contenu dans le format demandé. Si le résultat dépasse 10 Mo, un curseur de pagination est inclus pour récupérer la suite.

Les options qui tuent

Y'a quelques paramètres bien pensés pour les cas plus avancés :

  • modifiedSince et maxAge pour du crawling incrémental (ne re-crawler que les pages modifiées récemment)
  • source: "sitemaps" pour ne suivre que le sitemap au lieu de parser tous les liens
  • jsonOptions avec un prompt Workers AI pour extraire des données structurées automatiquement (genre récupérer le nom, le prix et le stock de 500 fiches produit d'un e-commerce en une seule passe)
  • rejectResourceTypes pour bloquer images, fonts et CSS et accélérer le crawl
  • authenticate pour les sites protégés par une auth HTTP basique

Attention quand même, y'a quelques subtilités à savoir. Un job peut tourner 7 jours max et les résultats sont conservés 14 jours seulement, du coup pensez à les récupérer vite. Le crawler respecte le robots.txt (y compris le crawl-delay), et si un site vous bloque, les URLs apparaissent comme "disallowed" dans les résultats. Sauf que ça ne vous dit pas pourquoi, faudra aller checker le robots.txt vous-même.

Voilà, cette "merveille" pour les scrappeurs fous est dispo sur les plans Free et Paid de Workers , et si vous voulez aller plus loin, Cloudflare propose aussi des endpoints pour les screenshots, les PDF et le scraping ciblé .

Voilà, un petit crawler inclus dans le plan Free de Workers, qui respecte le robots.txt et qui sort du Markdown ou du JSON structuré... je vais surveiller ça de près !

Cloudflare lance le crawl automatique de sites web, voici ce que ça change vraiment

11 mars 2026 à 09:36

Le 10 mars 2026, Cloudflare a annoncé le lancement d'un outil capable d'aspirer l'intégralité d'un site web en une seule commande. Une annonce qui surprend de la part d'une entreprise dont le cœur de métier a longtemps consisté à protéger les sites précisément contre ce type d'opération.

Cloudflare lance le crawl automatique de sites web, voici ce que ça change vraiment

11 mars 2026 à 09:36

Le 10 mars 2026, Cloudflare a annoncé le lancement d'un outil capable d'aspirer l'intégralité d'un site web en une seule commande. Une annonce qui surprend de la part d'une entreprise dont le cœur de métier a longtemps consisté à protéger les sites précisément contre ce type d'opération.

Des bots OpenClaw sont-ils en train de scraper tout le web ? L’outil Scrapling fait courir Cloudflare

26 février 2026 à 10:26

Depuis quelques jours, un outil open-source retient l’attention sur les réseaux sociaux. Son nom : Scrapling. Piloté par des agents IA OpenClaw, il serait capable de contourner toutes les protections anti-scraping du web. Alors, nouvelle crainte disproportionnée ? Cloudflare, en tout cas, prend le sujet très au sérieux.

« J’en ai marre de leurs conneries » : que se passe-t-il entre Cloudflare et Downdetector ?

17 février 2026 à 16:25

Le lundi 16 février 2026 a été marqué par une panne mondiale de X, survenue par à-coups au fil de la journée. Un incident qui a provoqué un accrochage entre deux acteurs collatéraux : Cloudflare, suspecté un temps d’être la cause, et Downdetector, le site de référence pour signaler et estimer les perturbations sur les plateformes web.

« Qui sème le vent récolte la tempête », Cloudflare menace ouvertement la cybersécurité des JO d’hiver 2026 en Italie

12 janvier 2026 à 16:33

Dans une publication sur X le 9 janvier 2026, le PDG de Cloudflare a menacé de supprimer les services que son entreprise devait fournir pour les Jeux olympiques d'hiver 2026. La raison ? Une amende que l'autorité de régulation des communications d'Italie, le pays hôte, a infligée au géant américain pour violation des réglementations anti-piratage.

« Faille de gravité maximale » : comment Cloudflare a provoqué une panne mondiale du web en voulant se protéger

8 décembre 2025 à 11:57

Les équipes techniques de Cloudflare sont revenues plus en détail sur les causes de l'immense panne qui a frappé une partie du net le 5 décembre 2025. C'est en cherchant à se protéger de la faille baptisée React2shell que l'entreprise américaine a provoqué ce nouvel incident.

❌
❌