Aller au contenu
Business Agile
← Réalisations
Web · Projet artistique, photographie · oct. 2026

FabArto

Soixante galeries publiées une par une, à mesure que l’accord écrit de chaque modèle arrive.

fabarto.eu
Accueil de FabArto, portfolio de Fabrice LABIT

Lighthouse bureau · mesuré le 29 octobre 2026

99
Performance
98
Accessibilité
100
Bonnes pratiques
100
SEO
LCP
0,7 s
Largest Contentful Paint
CLS
0
Cumulative Layout Shift
TBT
0 ms
Total Blocking Time

FabArto est le projet artistique de Fabrice LABIT, photographe parisien pour qui j’ai aussi réalisé le site de Maison Ozaé. Le domaine a vécu dix-huit mois en page d’attente, le temps que l’œuvre prenne forme : une image plein écran, le nom du projet, deux liens. Depuis octobre 2026, fabarto.eu est le portfolio qu’il attendait : 60 galeries, 1414 photographies, en français et en anglais, 130 pages prérendues servies en fichiers statiques.

En images

fabarto.eu
Accueil de FabArto sur ordinateur
L’accueil ouvre sur le triptyque du photographe et son texte de bienvenue, avant la grille des soixante galeries.
Accueil de FabArto sur mobile
Sur mobile, le triptyque devient une seule image plein écran et la bascule français anglais reste dans l’en-tête.
fabarto.eu
Page À propos de FabArto, section Le studio
La page À propos se termine sur le studio lui-même, en mosaïque, chaque photo s’ouvrant dans la visionneuse du site.
Page À propos de FabArto sur mobile
Sur mobile, la page À propos garde la même colonne de texte, celle où Fabrice explique sa démarche et ses séances.
fabarto.eu
Portail d’âge de FabArto
Le portail d’âge est posé par une règle CSS : sans réponse, et même sans JavaScript, le site reste masqué.

Le projet en détail

Les photographies arrivent par un dépôt Nextcloud que Fabrice alimente lui-même, un dossier par modèle. La première version y lisait la sélection dans ses propres noms d’export : un fichier marqué Instagram avait déjà passé la barre d’une plateforme qui interdit la nudité, il partait sur le site ; un export Patreon, HD ou print restait dehors. La règle était élégante, et elle était fausse.

Fabrice a demandé si ses galeries portaient bien toutes ses photos. Le comptage a répondu non : 1193 prises de vue publiées sur les 1414 du dépôt, 221 absentes, et chez un modèle 11 clichés visibles sur 91. Le filtre a été retiré, chaque fichier déposé est converti, et un audit compare désormais dossier par dossier les prises de vue du dépôt et celles de la galerie. Il reste 1414 photographies pour 1617 fichiers, parce qu’un seul recadrage par prise de vue est retenu : c’est un choix, et Fabrice peut le revoir.

Ingérer n’est pas publier. Chaque galerie porte un drapeau qui ne se lève qu’une fois l’accord écrit du modèle en main : tant qu’il est baissé, les images sont dans la version construite mais la page montre son ossature et dit que l’accord est attendu. C’est la différence entre une page non indexée et une page qui ne montre rien : la balise noindex garde une page hors des moteurs, elle n’empêche personne de la lire.

À la conversion, chaque photographie devient quatre fichiers : AVIF et WebP, en 640 pixels pour la grille et en 1024 pour la visionneuse, soit 5630 fichiers pour 1414 photographies. Les métadonnées sont retirées au passage. Un EXIF d’appareil transporte les coordonnées GPS de la prise de vue et le nom du propriétaire, et ce sont des photographies de personnes identifiables : le lieu de la séance ne nous appartient pas.

Le portail d’âge fonctionne sans JavaScript : une règle CSS masque le site tant que la réponse n’est pas donnée, donc un visiteur qui coupe les scripts ne voit rien par défaut. La réponse est mémorisée par le navigateur, et si le stockage est refusé, la visite reste ouverte le temps de la session plutôt que de buter sur un bouton mort. Le site porte aussi l’étiquette RTA que lisent les filtres parentaux. Mesuré le 29 octobre 2026, il obtient 99 en performance sur Lighthouse bureau, affichage principal à 0,7 seconde sur une page d’accueil qui charge soixante couvertures.

Ce qui a été fait

  1. 01

    60 galeries et 1414 photographies publiées, en français et en anglais

  2. 02

    Publication verrouillée galerie par galerie sur l’accord écrit du modèle

  3. 03

    Audit dossier par dossier : 221 prises de vue manquantes retrouvées et publiées

  4. 04

    AVIF et WebP en deux largeurs, métadonnées EXIF retirées à la conversion

  5. 05

    Portail d’âge qui tient sans JavaScript, étiquette RTA pour les filtres parentaux

  6. 06

    130 pages prérendues, 99 en performance sur Lighthouse bureau

Questions fréquentes

Comment tenir un site de photographies de nu hors de portée des mineurs ?

Par un portail d’âge qui ne dépend pas de JavaScript : une règle CSS masque le site tant que la réponse n’est pas donnée. Le site porte en plus l’étiquette RTA, lue par les filtres parentaux et les systèmes d’exploitation. Aucune de ces mesures ne vérifie l’âge, elles rendent l’accès volontaire et signalent le contenu aux outils qui filtrent.

Comment savoir qu’un site publie vraiment tout ce qu’on lui a confié ?

En le comptant. Notre première règle de tri ne gardait que les exports Instagram du photographe : elle publiait 1193 prises de vue sur les 1414 déposées et en laissait 221 dehors, dont 80 dans une seule galerie de 91. Un audit qui compare dossier par dossier le dépôt et la galerie l’a montré en une passe. La règle est partie, l’audit est resté.

Qu’est-ce qui empêche une photo de partir en ligne par erreur ?

Un verrou par galerie, séparé de l’ingestion des images. Tant que l’accord écrit du modèle n’est pas en main, la page existe, se construit, contient les fichiers, et ne montre rien. Publier devient un geste explicite, galerie par galerie, et non un effet de bord d’un dépôt de photos.

Autres réalisations

Ti Kosmeo
tikosmeo.fr
Web
Antiquité Mallarmé
antiquitemallarme.fr
Web
ScienceProtect
scienceprotect.com
IA
Neontology
github.com/ontolocy/neontology
Open source
Pousses & Plantes
Place de marché de plantes
E-commerce
Arbre Agile
Conseil et développement en intelligence artificielle
Web
Groupe BERREBI
Holding et site institutionnel
Web
SNCF
Transport ferroviaire, grand compte
API
Pitchichi
guide.pitchichi.com
App
SNCF DGEX Solutions
Ingénierie ferroviaire, application interne
API
Appétit
Librairie indépendante, livres de cuisine et photographie
Web
Good Day
Média, application mobile grand public
App
Fondation Nestlé France
Fondation d'entreprise, alimentation
Web
DMD Prices
Art, impression sur toile, devis en ligne
Web
IoTBox
Objets connectés, solutions industrielles
Web
PrevenFit
Services aux salles de sport, espace abonné
App
Securicate
Équipement de sécurité, boutique en ligne
E-commerce
WeChamp
Sport, événementiel d'entreprise
Web
Jaco
Veille média, logiciel en abonnement
App
AWA
Éducation et audiovisuel, projet à portée internationale
Web
Quizz Paris
Prévention des risques, sensibilisation du public
App
La Gestion en Ligne
Gestion locative, service en ligne
Web
Quotidien Libre
Presse en ligne, quotidien d'information
Web
Ophtalmologie Percy
Santé, hôpital militaire
Web
Flashing Records
Musique, label et programmation d'événements
Web
Apérothérapie
Vins et épicerie fine, vente en ligne
E-commerce
Arnaud CANIZARES
Art contemporain, portfolio d'artiste
Web
TapToSupport
Collecte de dons pour associations
API
24hprojects
Plateforme de livraison de MVP
App
Eco-Actives
Transition écologique et ateliers DIY
E-commerce

Un projet ? Parlons-en cette semaine.

Un brief court, une réponse sous 48 h, une estimation ferme après cadrage.

Décrire mon projet