17/07/2026
Des sites générés, pas bricolés

Notre chaîne de production, vue d'artiste — GIF via Giphy.
Créer un site web prend traditionnellement des semaines : maquettes, allers-retours, intégration, mise en ligne. Chez Piks-l, nous avons pris le problème à l'envers : et si le site était généré ?
Un socle, pas une page blanche
Chaque site que nous livrons part du même socle technique — un template maison durci au fil des projets : performance, référencement, sécurité et design system y sont déjà câblés. Aucun projet ne démarre de zéro.
L'IA sous contraintes
Notre moteur de génération transforme un brief en site complet : l'IA écrit le code, mais dans un cadre strict — structure imposée, conventions verrouillées, chaque fichier vérifié avant d'entrer dans le projet. Le résultat est déployé automatiquement sur son propre sous-domaine, certificat SSL compris.
Sous le capot : un format de sortie strict
La génération n'est pas une conversation libre avec un modèle : c'est un contrat. L'IA doit répondre dans un format JSON précis, où chaque fichier est déclaré avec son chemin — et rien d'autre :
{
"files": [
{ "path": "app/pages/index.vue", "content": "<script setup lang=\"ts\">…" },
{ "path": "app/components/sections/Hero.vue", "content": "…" }
],
"notes": "Palette ardoise, accent cuivre, ton artisanal."
}À la réception, le backend valide la structure, vérifie que chaque chemin appartient à la liste blanche du template (app/, content/, public/…) et rejette tout motif dangereux : eval, requête sortante non déclarée, secret en dur. Ce qui ne passe pas la douane n'entre pas dans le dépôt.
À quoi ressemble le code produit
Du Nuxt idiomatique, typé, animé avec GSAP, conforme à nos conventions — le même code que nous aurions écrit à la main :
<script setup lang="ts">
import { gsap } from 'gsap'
defineProps<{ titre: string; sousTitre?: string }>()
onMounted(() => {
gsap.from('.hero-titre', { y: 40, opacity: 0, duration: 0.8, ease: 'power2.out' })
})
</script>
<template>
<section class="texture-dotwork bg-neutral-950 py-24">
<h1 class="hero-titre text-4xl font-semibold">{{ titre }}</h1>
<p v-if="sousTitre" class="mt-4 text-neutral-400">{{ sousTitre }}</p>
</section>
</template>
La vitrine du CMS, elle-même servie par la plateforme.
Ce que ça change
- Des jours, pas des mois — le gros du travail technique est industrialisé.
- Un design cohérent — thème sombre signature, textures dotwork, accents personnalisables.
- Un site vivant — analytique intégrée, espace client, e-commerce prêt à activer.
Un projet en tête ? Parlons-en.
