This website requires JavaScript.
d5b08aaae2
Wrap deploy script in bash -c to bypass remote fish shell
master
Serreau Jovann
2026-04-10 18:08:30 +02:00
c6d2c068d3
Pass ansible vault password via env var instead of process substitution
Serreau Jovann
2026-04-10 18:04:50 +02:00
5449ab9d4d
Migrate deploy workflow to appleboy/ssh-action
Serreau Jovann
2026-04-10 18:01:58 +02:00
92548920c2
Migrate SonarQube to sn.e-cosplay.fr, rotate badge token, drop OWASP Dependency-Check, update deploy host
Serreau Jovann
2026-04-10 17:44:37 +02:00
7c848bbdb0
Apply php-cs-fixer: remove trailing blank line in StripeSyncCommand
Serreau Jovann
2026-04-10 17:32:36 +02:00
eb884faea1
Align prod PHP container UID with bot user (1001) and harden restore.sh
Serreau Jovann
2026-04-10 14:04:14 +02:00
238ded3f54
Fix cp recursive flag for config/cert/ in backup.sh and restore.sh
Serreau Jovann
2026-04-10 13:29:45 +02:00
bb082c8368
Add server migration scripts: backup.sh (export) and restore.sh (import)
Serreau Jovann
2026-04-10 13:27:33 +02:00
cda80990c7
Remove pending orders sync from StripeSyncCommand and add pessimistic lock to webhook payment handler
Serreau Jovann
2026-04-04 10:19:40 +02:00
e32a2a2722
Remove unsupported ping_threshold option from mailer config to fix Symfony 8 cache:clear error
Serreau Jovann
2026-04-03 21:52:32 +02:00
240489d330
Add ping_threshold to mailer config to prevent SES SMTP timeout errors
Serreau Jovann
2026-04-03 21:46:15 +02:00
7e2706b04f
Pin Meilisearch image to v1.40.0 to match database version and prevent incompatible auto-upgrades
Serreau Jovann
2026-04-03 14:06:16 +02:00
4b52b72266
Add attestation test with sold tickets to cover buildAttestationStats and buildAttestationTicketDetails
Serreau Jovann
2026-04-03 10:02:33 +02:00
a11535726d
Remove unused CONTENT_TYPE_PDF and PDF_SUFFIX constants from AccountController
Serreau Jovann
2026-04-03 10:01:16 +02:00
0cf1160853
Reduce AccountController to 20 methods, remove unused AdminOrdersController constant
Serreau Jovann
2026-04-03 09:35:26 +02:00
bc31040d81
Run php-cs-fixer: fix line endings and code style
Serreau Jovann
2026-04-02 15:40:15 +02:00
7ec4e95a05
Extract duplicated slug regex into SLUG_PATTERN constant in HomeController
Serreau Jovann
2026-04-02 15:35:46 +02:00
e04d615c6d
Split AccountController (55 methods) and AdminController (30 methods) into smaller controllers
Serreau Jovann
2026-04-02 15:28:47 +02:00
7869e4e7d9
Exclude editor.js from SonarQube analysis
Serreau Jovann
2026-04-02 14:52:26 +02:00
f9aaa45d4b
Add analytics test with real data to cover visitor/pageview chart loops
Serreau Jovann
2026-04-02 14:02:54 +02:00
5f685d9d1f
Cover setIsInvitation loop in createAccreditation test
Serreau Jovann
2026-04-02 14:02:10 +02:00
4f055af3f1
Add <th> headers to API doc tables, ignore css:S4662 for Tailwind @source directive
Serreau Jovann
2026-04-02 14:01:35 +02:00
8eb7d74445
Add <thead>/<th> headers to all email and PDF template tables, fix infra test snapshot data
Serreau Jovann
2026-04-02 13:40:48 +02:00
7b618a700f
Add istanbul ignore comments alongside c8 for analytics.js coverage
Serreau Jovann
2026-04-02 13:13:26 +02:00
83f2f40a91
Add missing test coverage for MeilisearchService, AnalyticsCryptoService, AccountController and AdminController
Serreau Jovann
2026-04-01 20:19:52 +02:00
b1ec125bb9
Achieve 100% coverage on analytics.js
Serreau Jovann
2026-04-01 20:17:21 +02:00
8b18617360
Fix AccountControllerTest: shorten order numbers to fit varchar(20) column
Serreau Jovann
2026-04-01 20:04:21 +02:00
bf0171b352
Fix AccountControllerTest: use uniqid() for order numbers to avoid unique constraint violations
Serreau Jovann
2026-04-01 19:47:43 +02:00
2ffb407323
Fix failing tests: AttestationController payload keys and StripeSyncCommand event mock
Serreau Jovann
2026-04-01 19:34:37 +02:00
534f67dfbe
Fix testPendingOrderFailedWithoutEmail: add missing audit mock expectation
Serreau Jovann
2026-04-01 19:23:34 +02:00
03342e8303
Fix StripeSyncCommandTest: use Stripe\PaymentIntent::constructFrom instead of stdClass
Serreau Jovann
2026-04-01 19:16:32 +02:00
25354f9052
Fix decodeAndVerifyHash to have only 2 returns by merging base64 decode and pipe check guards
Serreau Jovann
2026-04-01 19:02:01 +02:00
1b3371cb7f
Add comprehensive test coverage for AttestationController, LegalController, AdminController, AccountController and AnalyticsEvent entity
Serreau Jovann
2026-04-01 18:41:18 +02:00
a139feef07
init
Serreau Jovann
2026-04-01 17:19:13 +02:00
626510e692
Add force validate button in admin orders + fix Stripe Connect account in sync
Serreau Jovann
2026-04-01 14:22:56 +02:00
02519dcfa8
Add pending orders reconciliation to stripe:sync command
Serreau Jovann
2026-04-01 14:14:29 +02:00
381acd603e
Split Stripe webhooks into 2 endpoints: insta (payments) and leger (Connect)
Serreau Jovann
2026-04-01 14:07:49 +02:00
1c559263a8
Add analytics.js test suite with 100% line/function coverage (16 tests)
Serreau Jovann
2026-04-01 13:54:43 +02:00
97ef920514
Ignore CSP violations from browser userscripts (source-file: user-script)
Serreau Jovann
2026-04-01 11:33:09 +02:00
622e1894ae
aa
Serreau Jovann
2026-03-30 13:43:06 +02:00
918a52415d
add new system for upgrade speed
Serreau Jovann
2026-03-30 11:13:22 +02:00
2f2da97f68
Fix code style: add blank line before constructor in AttestationController
Serreau Jovann
2026-03-30 08:58:07 +02:00
fe91d26163
Add AnalyticsControllerTest with 100% coverage (19 tests, 70 assertions)
Serreau Jovann
2026-03-30 08:48:03 +02:00
3468b1288d
Improve mobile/tablet responsive, fix structured data, update deploy schedule and fix HTML issues
Serreau Jovann
2026-03-30 08:40:28 +02:00
3a40de1ba0
Reduce return counts and fix code smells across controllers and services
Serreau Jovann
2026-03-28 20:23:08 +01:00
0df78f75ae
Fix self-referencing constant NO_SNAPSHOT_MSG in AdminController
Serreau Jovann
2026-03-28 19:06:51 +01:00
ea50f8e740
Add POST /api/account/lookup route for account lookup by email
Serreau Jovann
2026-03-28 19:03:15 +01:00
f2f8b31d6e
Reduce method returns and cognitive complexity across controllers
Serreau Jovann
2026-03-26 22:22:41 +01:00
5062f356f1
Extract DQL_EXCLUDE_INVITATIONS and NO_SNAPSHOT_MSG constants in AdminController
Serreau Jovann
2026-03-26 22:20:36 +01:00
b2c1cee51a
Fix MeilisearchServiceTest: use ArrayAdapter instead of CacheInterface mock
Serreau Jovann
2026-03-26 22:07:24 +01:00
25564e4244
Fix all PHPStan errors: add missing iterable types and fix CacheInterface::clear()
Serreau Jovann
2026-03-26 21:57:21 +01:00
aeb4df8d92
Add Attestation, AnalyticsEvent, AnalyticsUniqId to PHPStan $id ignore list
Serreau Jovann
2026-03-26 21:54:41 +01:00
af6cea00a8
Fix PHPStan errors and SonarQube warnings
Serreau Jovann
2026-03-26 21:53:48 +01:00
d77ee25bcf
Apply PHP CS Fixer code style fixes
Serreau Jovann
2026-03-26 21:40:52 +01:00
e0245afca5
Refactor AccountController: extract constants, reduce returns and cognitive complexity
Serreau Jovann
2026-03-26 21:39:20 +01:00
02cce5608c
Fix MeilisearchConsistencyCommand: remove unused variable, redundant array_values, always-true condition
Serreau Jovann
2026-03-26 21:36:14 +01:00
59cf8dccde
Fix linter warnings in analytics module: codePoint, const, optional chaining, Number.parseInt
Serreau Jovann
2026-03-26 21:34:22 +01:00
20a6be0504
Destructure browser globals from globalThis in analytics module
Serreau Jovann
2026-03-26 21:11:15 +01:00
73adc0a735
Use globalThis for TextEncoder, TextDecoder, and atob browser globals
Serreau Jovann
2026-03-26 21:08:37 +01:00
a71493b87c
Replace charCodeAt with codePointAt in analytics module
Serreau Jovann
2026-03-26 21:07:26 +01:00
b062a5203b
Use globalThis.atob/btoa in analytics module for linter compatibility
Serreau Jovann
2026-03-26 21:06:55 +01:00
176b70650b
Add SRI integrity hashes for CDN scripts and replace md5 with xxh128 for cache keys
Serreau Jovann
2026-03-26 21:06:00 +01:00
1fe2c3a1d3
Fix scanner manifest test: update expected start_url to /scanner/
Serreau Jovann
2026-03-26 18:37:51 +01:00
1796f2d022
Add e_ticket_test database to pgbouncer-dev config for test environment
Serreau Jovann
2026-03-26 18:31:17 +01:00
2d14075d54
Fix infra page: add missing error key for redis/postgres/pgbouncer defaults
Serreau Jovann
2026-03-26 18:27:52 +01:00
e8d2744333
Fix infra page crash when snapshot missing: provide default server values
Serreau Jovann
2026-03-26 18:13:26 +01:00
21aa94c833
Fix cookie-consent tests: remove tests for analytics/cloudflare script loading
Serreau Jovann
2026-03-26 16:21:55 +01:00
58e139e261
Apply PHP CS Fixer code style fixes
Serreau Jovann
2026-03-26 16:19:15 +01:00
4caff2e032
Fix SonarQube warnings: reduce returns, extract constants, fix viewport
Serreau Jovann
2026-03-26 16:16:36 +01:00
d8508f3c96
Refactor MeilisearchConsistencyCommand: reduce cognitive complexity and extract constants
Serreau Jovann
2026-03-26 16:15:41 +01:00
61946f724e
Fix scanner service worker CDN URL and clean up MeilisearchConsistencyCommand
Serreau Jovann
2026-03-26 16:14:33 +01:00
15616167d0
Add attestation system with digital signature, public verification, and detailed ticket listing
Serreau Jovann
2026-03-26 16:13:40 +01:00
822bf8915f
Scanner: SSO login, 2 scan modes (camera/security key), sound feedback, order details, force validation, staff/exposant badges
Serreau Jovann
2026-03-26 15:50:42 +01:00
6ce56c11e0
Clear sessionStorage on 403 and retry with fresh visitor
Serreau Jovann
2026-03-26 13:41:34 +01:00
832387876e
Fix robots.txt: replace /track/ with /t/ for analytics endpoint
Serreau Jovann
2026-03-26 13:01:30 +01:00
19b973ebc0
Allow indexing of legal pages in robots.txt
Serreau Jovann
2026-03-26 13:00:06 +01:00
6062a35d97
Fix WCAG contrast on organizers page: text-gray-400 -> text-gray-600
Serreau Jovann
2026-03-26 12:57:43 +01:00
220ea937dc
Fix WCAG contrast on events page and add width/height to logo
Serreau Jovann
2026-03-26 12:56:54 +01:00
d1fed64d72
Fix WCAG contrast issues: yellow-500->700, indigo-600->800 on links
Serreau Jovann
2026-03-26 12:55:56 +01:00
3b4b51e3f2
Clear Symfony + Redis cache before migrations in deploy
Serreau Jovann
2026-03-26 12:50:35 +01:00
83583e0d3d
Enable Doctrine L2 cache and add Redis cache pools
Serreau Jovann
2026-03-26 12:50:13 +01:00
a0cb564c00
Restore libretranslate in docker-compose dev
Serreau Jovann
2026-03-26 12:35:37 +01:00
da2ee96979
Remove libretranslate from docker-compose dev
Serreau Jovann
2026-03-26 12:35:14 +01:00
300e7f0be9
Add scheduled auto-deploy at 3h, 13h, 19h, 23h daily
Serreau Jovann
2026-03-26 12:27:35 +01:00
98b0b41064
Use SECRET_ANALYTICS env var, regenerated at each deployment
Serreau Jovann
2026-03-26 12:27:05 +01:00
a139f86b90
Make analytics endpoint dynamic: /t/{token} derived from APP_SECRET
Serreau Jovann
2026-03-26 12:22:59 +01:00
0952bc6e17
Fix chart height to 150px on analytics dashboard
Serreau Jovann
2026-03-26 12:15:53 +01:00
d4c897fd89
Fix PostgreSQL SUBSTRING on timestamp: use CAST AS DATE with native SQL
Serreau Jovann
2026-03-26 12:15:06 +01:00
375357ddde
Add charts and bounce rate to admin Analytics, filter self-referrers
Serreau Jovann
2026-03-26 12:14:33 +01:00
efe967389d
Add bounce rate to admin Analytics dashboard
Serreau Jovann
2026-03-26 12:13:08 +01:00
3945fbb0ef
Send email when no RGPD data found, add DPO contact to PDFs
Serreau Jovann
2026-03-26 12:11:25 +01:00
e5110017d9
Fix RGPD email templates: use email/base.html.twig not emails/
Serreau Jovann
2026-03-26 12:09:48 +01:00
c9a040804e
Fix Uuid class not found: use native PHP UUID v4 generation
Serreau Jovann
2026-03-26 12:07:42 +01:00
ce1b153cc1
Fix AES-GCM format mismatch between JS Web Crypto and PHP openssl
Serreau Jovann
2026-03-26 12:07:08 +01:00
d57669b5b9
Enable analytics tracking in dev and prod
Serreau Jovann
2026-03-26 12:06:12 +01:00
2ae28089d5
Add RGPD data access/deletion forms and admin Analytics dashboard
Serreau Jovann
2026-03-26 11:59:34 +01:00
809a1055ec
Restore Cloudflare CSP rules needed for WAF/Turnstile
Serreau Jovann
2026-03-26 11:52:56 +01:00
6438afadbf
Add first-party analytics tracker with encrypted transmissions
Serreau Jovann
2026-03-26 11:52:07 +01:00
3a85b6ef68
Remove all trackers (Umami, Cloudflare, insights-js) from cookie consent
Serreau Jovann
2026-03-26 11:29:22 +01:00
3bb676bfda
Adjust container resource limits for 6 CPU / 30 GB RAM server
Serreau Jovann
2026-03-26 11:25:35 +01:00