projets personnels

Emailing — architecture serverless

https://gitlab.com/karl-delourmel/emailing/emails_sender (ouvre dans un nouvel onglet)

Micro-service serverless d’envoi d’e-mails HTML avec pièces jointes PDF. Fonction Quarkus (Java 17) sur AWS Lambda, exposée par API Gateway et sécurisée par IAM ; PDF récupérés sur S3. Stockage abstrait derrière une interface, avec un mock hors prod pour des tests isolés. Pipeline GitLab CI en 7 étapes : tests JUnit et couverture JaCoCo, documentation sur GitLab Pages, quality gate SonarQube bloquante, vérification d’intégrité du livrable et déploiement automatisé.

  • Java 17
  • Quarkus
  • AWS Lambda
  • API Gateway V2
  • S3
  • AWS SDK v2
  • IAM
  • GitLab CI/CD
  • SonarQube
  • JaCoCo
  • JUnit
  • Maven
  • Lombok

Quiz — Application de questionnaires par campagne

https://gitlab.com/karl-delourmel/quiz (ouvre dans un nouvel onglet)

Application full-stack permettant d'envoyer des questionnaires à des groupes d'utilisateurs lors de campagnes. Backend Spring Boot 4.1.1 (Java 26) exposant une API REST sécurisée (Spring Security + JWT, rate limiting token bucket maison, RGPD : consentement, export, anonymisation). Frontend Vue 3 (Composition API, Pinia, Vue Router) buildé avec Vite, servi par Nginx qui proxifie également /api — aucun CORS, aucune URL backend en dur. Migrations Flyway, cache Caffeine sur le profil utilisateur. Pyramide de tests complète : unitaires (JUnit 5 / Mockito), slice @WebMvcTest, intégration @DataJpaTest et e2e @SpringBootTest avec Testcontainers sur un PostgreSQL jetable. Pipeline GitLab CI/CD : build, tests, image Docker, scan Trivy/OWASP, gitleaks, SBOM, rapport ZAP. Déployé en continu sur serveur auto-hébergé Proxmox, observabilité via Prometheus + Grafana + Loki/Promtail.

  • Spring Boot
  • Spring Security
  • JWT
  • JPA / Hibernate
  • Flyway
  • Caffeine Cache
  • Vue 3
  • TypeScript
  • Pinia
  • Vite
  • PostgreSQL
  • Testcontainers
  • Docker
  • Nginx
  • Proxmox
  • GitLab CI/CD
  • Trivy
  • ZAP
  • Prometheus
  • Grafana
  • Loki

Portfolio CV

https://gitlab.com/karl-delourmel/cv-portfolio (ouvre dans un nouvel onglet)

Ce site, conçu comme un terrain d’industrialisation. Symfony 7.4, Doctrine / MariaDB, administration EasyAdmin, wiki en Markdown. Pipeline GitLab CI sur runner auto-hébergé (Proxmox) : lint, PHPStan niveau 6, Gitleaks, composer audit, Trivy, déploiement et smoke test en ~1 min. Un agent IA (Claude Agent SDK) corrige un pipeline en échec et ouvre une merge request ; je le pilote depuis GitLab et Discord via n8n auto-hébergé (rapport quotidien, alertes de panne, suivi des coûts).

  • PHP
  • Symfony
  • Doctrine
  • MariaDB
  • EasyAdmin
  • GitLab CI
  • PHPStan
  • Trivy
  • GitLeaks
  • n8n
  • Claude Agent SDK
  • Proxmox
  • o2switch

Runner

https://gitlab.com/karl-delourmel/ops (ouvre dans un nouvel onglet)

Infrastructure de CI/CD auto-hébergée sur deux VMs Debian : un ci-runner exécute les jobs de build, test et scan (Docker-in-Docker, Testcontainers, Trivy, Gitleaks, k6), tandis qu'un deploy-runner pilote le déploiement vers la VM de staging via un contexte Docker SSH.

  • GitLab CI/CD
  • GitLab Runner
  • Bash
  • Docker
  • DinD
  • Debian