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