All projectsFounding project · 2024 - 2026
Alivaon
The agency platform: from a static template to a Symfony API and a Next.js front end, operated in production with zero downtime.
Symfony 7API PlatformNext.jsMySQLDockerTraefikGitHub Actions
- 2
- Environments (staging + prod)
- 0
- SEO regression at switch-over
- 0
- Downtime on deploy
- TLS
- Auto via Traefik
01
Problem
- Alivaon started on a static HTML template: impossible to evolve, no back office, no way to handle client requests or publish content without rewriting code.
- It needed a durable foundation to eventually host the agency's business tools, with reproducible deployments and a controlled infrastructure cost.
02
Solution
- Migration to a Symfony 7 monolith organised by domain, with Doctrine on MySQL and a back office for content and request management.
- Containerised with Docker behind a Traefik reverse proxy (automatic TLS via Let's Encrypt) on a Hetzner VPS.
- GitHub Actions CI/CD pipeline: tests, image build and deploy, with a staging environment kept separate from production.
- FR/EN multilingual support without a third-party bundle: normalised Article/ArticleTranslation entities for editorial content, XLIFF files for static pages, French at the root and English under /en, with a CI gate on missing keys.
- Observability and quality: Sentry in the EU region for application errors, self-hosted Loki and Grafana on the VPS for logs, PHPStan level 8 as the audit standard.
- 2026: the public site and the EasyAdmin back office migrated to Next.js, together in a pnpm monorepo. Symfony 7.4 becomes an API (API Platform); a TypeScript client generated from the API contract is resynchronised automatically after every production release.
- A “zero SEO regression” requirement: URLs, canonical, hreflang, JSON-LD, sitemap and robots compared automatically between the old and new site, with the comparison blocking any production release, plus a Lighthouse check.
- Zero-downtime deployments: two containers side by side, traffic draining and Traefik health checks, migrations run before the switch, and a blocking API-contract breaking-change check in production.
- Versioned infrastructure: the VPS configuration lives in a dedicated repository, checked against the server before and after every intervention; Traefik 3.7 with direct Docker socket access.
03
Result
- A maintainable codebase that now serves as the foundation for the business software delivered to the agency's clients.
- Reproducible, zero-downtime deployments, validated on staging first.
- A bilingual, instrumented platform that also carries the agency's SEO editorial line.
- Switch to Next.js completed in September 2026 with no ranking loss: 0 blocking SEO difference, no Lighthouse regression, 0 errors measured during deployments.
Stack
- Symfony / API Platform
- Next.js / TypeScript
- Doctrine ORM
- MySQL
- Docker
- Traefik
- Hetzner VPS
- GitHub Actions
- Sentry / Grafana
- PHPStan