Accompagnement disponible dès maintenant
Portfolio/WFB Corp
DéveloppementBAC+2 · 2023🎠 Animations avancées

WFB Corp

Site vitrine dark — animations & MVC PHP natif

Exercice de formation centré sur les animations avancées (Slider Revolution, parallax, CSS spotlight cards) et l'architecture MVC PHP codée de zéro.

WFB Corp — Bannière

Contexte

Exercice de formation — UIMM

Année

2023

Niveau

BAC+2 Développeur Web

Type

Projet individuel

Stack

PHP natif / MySQL / Docker

Focus

Animations CSS & JS avancées

Contexte du projet

Un exo rendu plus complexe que prévu

WFB Corp est un exercice de formation UIMM : créer un site vitrine d'agence web avec gestion de contenu dynamique. Simple en apparence, l'exercice est devenu un vrai terrain d'exploration.

Le défi technique principal : intégrer Slider Revolution 5 — un plugin jQuery de carrousel professionnel avec parallax, particules et animations en couches. Sa configuration XML est dense et son rendu est spectaculaire.

En parallèle, j'ai codé une architecture MVC complète en PHP natif : routing par query string, controllers, models PDO, vues PHP — sans aucun framework.

Le bonus : des cartes avec effet spotlight CSS — un gradient radial qui suit la position de la souris en temps réel via custom properties CSS.

wfbcorp — docker compose

$ git clone github.com/body08120/wfb-corp_exo_uimm

$ docker compose up -d

⏳ Démarrage MySQL + PHP-Apache...

✅ Site disponible sur localhost:8000

# Routing

index.php?action=articles

index.php?action=realisations

index.php?admin=administration

Fonctionnalités

Ce que le projet couvre

🎠

Slider Revolution + Parallax

Hero fullscreen avec Slider Revolution 5 : transitions, effets Ken Burns, parallax souris et particules animées en arrière-plan.

Cards CSS spotlight effect

Effet spotlight de lumière suivant la souris en temps réel via CSS custom properties (--mouse-x / --mouse-y) et radial-gradient.

🗂️

Filtres dynamiques JS

Onglets de filtrage par catégorie (articles et réalisations) avec affichage/masquage de sections sans rechargement.

🏗️

Architecture MVC PHP natif

Pattern Model-View-Controller entièrement codé à la main : routing via index.php, controllers, models PDO et vues PHP.

🔗

Relations BDD & PDO

Articles liés à des catégories et images (table séparée), projets liés à des catégories. Requêtes JOIN préparées avec PDO.

🐳

Stack Docker

Environnement reproductible Docker Compose (PHP-Apache + MySQL 8). SQL de seed automatiquement injecté au démarrage.

Stack technique

Technologies utilisées

PHP 8.2

Backend

MySQL 8.0

Base de données

Apache 2.4

Serveur

Tailwind CSS CDN

Frontend

Slider Revolution 5

Animations

Font Awesome 6

Icônes

jQuery

Frontend

Docker

DevOps

Architecture MVC

index.php

└── routing par query string

src/controller/

├── homeController.php

├── adminController.php

└── formController.php

src/model/

└── Connect.php (PDO singleton)

view/

accueil · articles · realisations

└── includes/ (navbar · footer)

Focus technique

L'effet spotlight CSS — comment ça marche

L'effet de lumière qui suit la souris sur les cartes utilise uniquement du CSS natif et quelques lignes de JS.

cards.css

.card::before {

background: radial-gradient(

800px circle at

var(--mouse-x) var(--mouse-y),

rgba(255,255,255,0.06),

transparent 40%

);

}

cards.js

cardsElement.onmousemove = e => {

card.style.setProperty(

"--mouse-x", `${x}px`

);

}

1

L'événement mousemove calcule la position X/Y de la souris relative à chaque carte

2

Ces valeurs sont injectées en CSS custom properties (--mouse-x, --mouse-y) sur l'élément

3

Le pseudo-élément ::before applique un radial-gradient centré sur ces coordonnées

4

Résultat : une lumière qui suit la souris sur chaque carte, sans canvas ni WebGL

Aperçu

L'interface en images

Thème dark — rose & grenat

WFB Corp — Accueil
Accueil — Slider Revolution + particules
WFB Corp — Articles — spotlight cards
Articles — spotlight cards
WFB Corp — Réalisations — filtres catégories
Réalisations — filtres catégories
WFB Corp — À propos — équipe
À propos — équipe
WFB Corp — Contact — formulaire + carte
Contact — formulaire + carte
Bilan

Ce que ce projet m'a appris

Un exo simple qui est devenu une belle exploration technique.

Points forts

  • Maîtrise de Slider Revolution (parallax, particules, transitions)
  • Effet spotlight CSS pur — custom properties en temps réel
  • Architecture MVC PHP from scratch sans framework
  • Requêtes PDO préparées avec INNER JOIN multiples
  • Filtres JS par catégorie sans rechargement
  • Stack Docker reproductible avec seed SQL automatique

⚠️ Améliorations identifiées

  • Slider Revolution nécessite jQuery — dépendance lourde
  • Ajouter authentification et espace admin CRUD
  • Responsive mobile à compléter (carrousel surtout)
  • Séparation logique métier / vues à renforcer
  • Passer les images en WebP pour les performances
  • Migrer vers un framework (Laravel, Symfony) pour évoluer

Prêt à démarrer ?

Transformons ensemble votre vision digitale

Audit, conseil, développement - Votre projet mérite une expertise sur-mesure