Aller au contenu
Retour aux projets

Application Web · 2025 - 2026

Portfolio

Ce site, son API, son admin et l'infrastructure qui les fait tourner

Tout ce que montre ce site se modifie depuis un admin privé : profil, expériences, formations, compétences, langues, catalogue de technologies, projets avec couvertures et galeries, et les messages envoyés depuis le formulaire de contact. L'API alimente la page d'accueil en un seul appel ; le site régénère ses pages chaque minute (ISR) et se replie sur un contenu de départ quand il est construit sans API. Chaque dépôt passe par GitHub Actions : SonarQube, tests avec couverture, gitleaks, un passage Lighthouse pour le site, un SBOM analysé par Grype et envoyé à Dependency-Track. Un tag de version construit l'image, la pousse sur ECR et écrit le nouveau tag dans le dépôt GitOps, où Argo CD la déploie sur k3s. Les secrets viennent de Vault via External Secrets, la partie AWS (ECR, bucket des médias, IAM) est en Terraform. L'admin tient un journal d'audit de chaque modification et connexion, envoie par e-mail les nouveaux messages et les connexions via Resend, optimise les images envoyées et purge les messages archivés après six mois.

Galerie

  • Capture 1

Fonctionnalités clés

  • Page d'accueil servie en un seul appel d'API, avec ISR et contenu de repli.
  • Admin pour tout le contenu : profil, expériences, compétences, projets, médias, messages.
  • Médiathèque sur S3,
  • Formulaire de contact avec limite par IP, honeypot et captcha Turnstile optionnel.
  • Journal d'audit de chaque écriture et connexion, notifications par e-mail via Resend.
  • CI avec SonarQube, gitleaks, Lighthouse, SBOM et Grype à chaque commit.
  • Releases par tag vers ECR, déployées par Argo CD sur un cluster k3s auto-hébergé.
  • Ressources AWS et IAM gérées avec Terraform, secrets depuis Vault.

Stack technique

Next.jsTailwind CSSTypeScriptNestJSPostgreSQLDockerKubernetesTerraformGitHub ActionsArgoCDVault

Liens