ITSkillsCenter
Développement Web

Cloudflare Workers : tutoriel edge compute 2026

2 min de lecture

Les Cloudflare Workers permettent d’exécuter du code JavaScript ou Wasm à l’edge, à chaque requête, sans gérer de serveur. 100 000 requêtes/jour gratuit. Cas d’usage : redirections intelligentes, A/B testing, transformations de réponse, géo-routing, edge auth.

Voir notre guide Cloudflare.

Premier Worker

# Installer wrangler CLI
npm install -g wrangler
wrangler login

# Créer un projet
wrangler init mon-worker
cd mon-worker
// src/index.ts
export default {
  async fetch(request: Request): Promise<Response> {
    const url = new URL(request.url);
    
    // Géo-routing simple
    const country = request.headers.get("CF-IPCountry") ?? "XX";
    if (country === "SN" || country === "CI") {
      url.hostname = "afrique.exemple.sn";
      return Response.redirect(url.toString(), 302);
    }
    
    return fetch(request);
  },
};
# Tester
wrangler dev

# Déployer
wrangler deploy

Cas d’usage : A/B testing

export default {
  async fetch(request: Request): Promise<Response> {
    const url = new URL(request.url);
    const cookie = request.headers.get("Cookie") ?? "";
    let variant = cookie.match(/ab_variant=(\w)/)?.[1];

    if (!variant) {
      variant = Math.random() < 0.5 ? "A" : "B";
    }

    // Modifier l'URL selon variant
    if (variant === "B") {
      url.pathname = "/v2" + url.pathname;
    }

    const response = await fetch(url.toString());
    const newResponse = new Response(response.body, response);
    newResponse.headers.append("Set-Cookie", `ab_variant=${variant}; Path=/; Max-Age=2592000`);
    return newResponse;
  },
};

Cas d’usage : transform response

export default {
  async fetch(request: Request): Promise<Response> {
    const response = await fetch(request);
    
    return new HTMLRewriter()
      .on("a[href*='old-domain.com']", {
        element(el) {
          const href = el.getAttribute("href");
          if (href) el.setAttribute("href", href.replace("old-domain.com", "new-domain.sn"));
        },
      })
      .transform(response);
  },
};

Limites Free

  • 100 000 requêtes/jour
  • 10 ms CPU par requête (largement suffisant pour transformations légères)
  • 1 Mo bundle taille
  • Plan Paid : 5 USD/mois pour 10M requêtes + 50 ms CPU

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité