← ProjetsSC.01 / 09

Lines Up

Site web + CMS sur mesure

Rôle
Seul développeur, du besoin à la mise en production
Contexte
Dexaura · pour un studio d'architecture
Période
2026 — auj.
Page d'accueil du site Lines Up : grand titre « L'architecture, ligne après ligne. » sur fond noir avec des accents orange
Site en ligne, capture de nov. 2026. Le studio ajoute encore ses contenus.Fig. 01

01 — Vue d'ensemble

Un site multilingue (français / anglais / arabe, RTL) et un CMS sur mesure pour un studio d'architecture et de décoration, en serverless sur Cloudflare Workers, pour 0 $ d'hébergement.

Le défi

Un seul développeur, un vrai client, trois langues dont l'arabe de droite à gauche, et des éditeurs qui ne doivent jamais pouvoir publier un brouillon par erreur, le tout dans les limites de l'offre gratuite.

Stack

  • Next.js 16
  • TypeScript
  • Cloudflare Workers
  • D1
  • R2
  • Drizzle ORM
  • Zod
  • Tailwind CSS
  • Vitest

02 — Architecture

Ce que j'ai construit, couche par couche.

  • ■ Interface
  • ■ API & logique
  • ■ Données
  • ■ Cloud & livraison
  • ■ Qualité & sécurité
  1. InterfaceNext.js 16 UIAPI & logiqueWorkers (OpenNext)
  2. API & logiqueWorkers (OpenNext)DonnéesD1 + Drizzle
  3. InterfaceWebP in browserCloud & livraisonR2
  4. Cloud & livraisonCron TriggersDonnéesD1 + Drizzle
  5. ExterneBehanceAPI & logiqueWorkers (OpenNext)
  6. Qualité & sécuritéCI · VitestAPI & logiqueWorkers (OpenNext)
Interface
Site multilingue RTL et CMS d'administration en Next.js 16 ; images converties en WebP dans le navigateur.
API & logique
Rôles vérifiés côté serveur sur chaque action, 2FA, validation Zod, circuit de validation.
Données
Cloudflare D1 avec Drizzle ORM ; journal d'audit de chaque changement.
Cloud & livraison
Serverless sur Cloudflare Workers via OpenNext, médias R2, publication Cron ; 0 $ d'hébergement.
Qualité & sécurité
360+ tests automatisés (dont runtime Workers), CI avec déploiements de preview.

03 — Ce que j'ai fait

  1. 01

    Pilotage du projet en direct avec le client : recueil et analyse des besoins, découpage en étapes, estimation, planification, priorisation et documentation.

  2. 02

    Next.js 16 (App Router) sur Cloudflare Workers via OpenNext, avec Cloudflare D1 + Drizzle ORM et stockage média R2, en TypeScript strict avec Zod.

  3. 03

    Rôles vérifiés côté serveur (propriétaire / admin / éditeur) sur chaque action, authentification à deux facteurs, journal d'audit et circuit de validation : aucun brouillon n'arrive sur le site public.

  4. 04

    Publication programmée via Cron, conçue pour être idempotente : un projet ne peut jamais être publié deux fois.

  5. 05

    Import du portfolio Behance avec vérification des droits sur les images, et conversion WebP dans le navigateur qui supprime les données EXIF/GPS.

  6. 06

    SEO (hreflang, sitemap, données structurées) et accessibilité (navigation clavier, mouvement réduit, contraste).

04 — Résultats

  • Plus de 360 tests automatisés, dont certains dans le runtime Workers

  • CI avec déploiements de preview automatiques

  • 0 $ d'hébergement dans l'offre gratuite

Sur mobile · même build, site en ligne

Lines Up, mobile
Projet suivant · SC.02QRBase →