tristan
832751d1ed
feat(audit) : contexte forensique dans le journal d'activité (IP, appareil, device id) ( #33 )
...
Auto Tag Develop / tag (push) Successful in 9s
## Contexte
Certains comptes sont **partagés** par plusieurs personnes (ex. compte « Usine »), y compris depuis des smartphones. Le journal d'activité ne stockait que le `username` → impossible de distinguer les intervenants. Cette PR ajoute un **contexte forensique automatique** à chaque entrée du journal.
## Ce qui est ajouté (capté automatiquement, sans friction utilisateur)
- **Adresse IP** de la requête
- **User-Agent brut** (borné à 1024 caractères)
- **Libellé appareil lisible** dérivé du User-Agent : `Type · OS · Navigateur` (ex. `Mobile · Android · Chrome`)
- **Identifiant d'appareil persistant** envoyé par le front (header `X-Device-Id`, stocké en `localStorage`, borné à 64 car.) — distingue les **appareils** derrière un compte partagé
## Implémentation
- `UserAgentParser` (service maison, sans dépendance) — détection ordonnée OS/navigateur, testée
- 4 colonnes **nullable** sur `audit_logs` + migration réversible (pas de backfill, rétro-compatible)
- Capture **centralisée** dans `AuditLogger::log()` via `RequestStack` — aucun processor modifié
- Champs exposés dans l'API lecture (`AuditLogProvider` + DTO TS aligné) via `AuditLogReadRepositoryInterface` (suit le pattern existant des autres read-repos)
- Front : `useDeviceId` + injection du header `X-Device-Id` dans `useApi` (sur toutes les requêtes, SSR-safe)
- `framework.trusted_proxies` documenté (commenté) pour une IP correcte derrière un reverse proxy
- Docs : `doc/audit-logging.md` + `CLAUDE.md`
## Hors périmètre (étapes suivantes)
- **Écran du journal (`audit-logs.vue`) non modifié** — l'affichage des nouvelles colonnes fera l'objet d'une refonte séparée. Les données sont prêtes côté API.
- La doc in-app (`documentation-content.ts`) n'est pas touchée : le journal est un outil caché `ROLE_SUPER_ADMIN` sans article existant ni niveau de doc super-admin.
## À noter pour le déploiement
- L'IP n'est fiable derrière un reverse proxy qu'une fois `framework.trusted_proxies` activé (livré commenté).
## Tests
`OK (249 tests, 533 assertions)` — sortie PHPUnit propre (aucune notice).
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Reviewed-on: #33
Co-authored-by: tristan <tristan@yuno.malio.fr >
Co-committed-by: tristan <tristan@yuno.malio.fr >
2026-06-24 11:56:42 +00:00
gitea-actions
c119db0b02
chore: bump version to v0.1.123
Auto Tag Develop / tag (push) Successful in 7s
Build & Push Docker Image / build (push) Successful in 46s
2026-06-24 07:44:43 +00:00
gitea-actions
a1af125c78
chore: bump version to v0.1.122
Auto Tag Develop / tag (push) Successful in 9s
Build & Push Docker Image / build (push) Successful in 2m6s
2026-06-24 07:16:54 +00:00
gitea-actions
4d4bdba914
chore: bump version to v0.1.121
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 59s
2026-06-16 13:53:14 +00:00
gitea-actions
5d2b5d1c54
chore: bump version to v0.1.120
Auto Tag Develop / tag (push) Successful in 7s
Build & Push Docker Image / build (push) Successful in 37s
2026-06-12 13:06:07 +00:00
gitea-actions
c298f66993
chore: bump version to v0.1.119
Auto Tag Develop / tag (push) Successful in 9s
Build & Push Docker Image / build (push) Successful in 41s
2026-06-12 12:40:10 +00:00
gitea-actions
4b22270c60
chore: bump version to v0.1.118
Auto Tag Develop / tag (push) Successful in 8s
Build & Push Docker Image / build (push) Successful in 1m4s
2026-06-12 09:58:49 +00:00
gitea-actions
036399846b
chore: bump version to v0.1.117
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 34s
2026-06-12 07:45:41 +00:00
gitea-actions
7dc73f37ac
chore: bump version to v0.1.116
Auto Tag Develop / tag (push) Successful in 8s
Build & Push Docker Image / build (push) Successful in 27s
2026-06-12 06:22:33 +00:00
gitea-actions
e89a1fd7cf
chore: bump version to v0.1.115
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 34s
2026-06-11 15:48:00 +00:00
gitea-actions
ceba1121f0
chore: bump version to v0.1.114
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 37s
2026-06-11 13:02:39 +00:00
gitea-actions
49ad6306ea
chore: bump version to v0.1.113
Auto Tag Develop / tag (push) Successful in 8s
Build & Push Docker Image / build (push) Successful in 1m9s
2026-06-11 08:46:19 +00:00
gitea-actions
370bbb491f
chore: bump version to v0.1.112
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Failing after 28s
2026-06-11 08:37:05 +00:00
gitea-actions
081d92b9f4
chore: bump version to v0.1.111
Auto Tag Develop / tag (push) Successful in 7s
Build & Push Docker Image / build (push) Successful in 3m38s
2026-06-11 06:36:10 +00:00
gitea-actions
2802f9524c
chore: bump version to v0.1.110
Auto Tag Develop / tag (push) Successful in 9s
Build & Push Docker Image / build (push) Successful in 33s
2026-06-09 15:35:39 +00:00
gitea-actions
9cc5024e25
chore: bump version to v0.1.109
Auto Tag Develop / tag (push) Successful in 7s
Build & Push Docker Image / build (push) Successful in 36s
2026-06-09 14:04:56 +00:00
gitea-actions
9dff25d61a
chore: bump version to v0.1.108
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 52s
2026-06-09 12:59:10 +00:00
gitea-actions
2745f4e476
chore: bump version to v0.1.107
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 34s
2026-06-08 13:27:41 +00:00
gitea-actions
c01e1f89a7
chore: bump version to v0.1.106
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 34s
2026-06-08 08:56:27 +00:00
gitea-actions
3bf48164d2
chore: bump version to v0.1.105
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 53s
2026-06-08 08:18:50 +00:00
gitea-actions
97557ae284
chore: bump version to v0.1.104
Auto Tag Develop / tag (push) Successful in 7s
Build & Push Docker Image / build (push) Successful in 1m2s
2026-06-02 06:26:50 +00:00
gitea-actions
8b34a429cc
chore: bump version to v0.1.103
Auto Tag Develop / tag (push) Successful in 8s
Build & Push Docker Image / build (push) Successful in 45s
2026-05-26 14:09:11 +00:00
gitea-actions
25083f00c8
chore: bump version to v0.1.102
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 1m11s
2026-05-22 06:42:46 +00:00
tristan
abdaf809f8
Gestion du changement de type de contrat + correction du calcule des RTT sur un contrat qui commence en milieu de semaine ( #19 )
...
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket |
|------------------|-----------------|
| | |
## Description de la PR
## Modification du .env
## Check list
- [x] Pas de régression
- [x] TU/TI/TF rédigée
- [x] TU/TI/TF OK
- [x] CHANGELOG modifié
Reviewed-on: #19
Co-authored-by: tristan <tristan@yuno.malio.fr >
Co-committed-by: tristan <tristan@yuno.malio.fr >
2026-05-22 06:42:33 +00:00
gitea-actions
b541f9ded8
chore: bump version to v0.1.101
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 38s
2026-05-04 07:59:16 +00:00
tristan
7cadcfa362
feat : sélecteur d'année sur l'onglet Congés de la fiche employé
...
Permet de consulter les exercices passés (calendrier + compteurs) sur
l'onglet Congés. La plage proposée est bornée par max(début historique
contrat, RTT_START_DATE) pour ne pas remonter avant la mise en service
du logiciel. Édition des stocks N-1 et fractionnés verrouillée sur
exercices clos.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-04 09:51:19 +02:00
gitea-actions
3ec0d4b074
chore: bump version to v0.1.100
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 40s
2026-04-29 15:45:14 +00:00
gitea-actions
02fc94fbed
chore: bump version to v0.1.99
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 39s
2026-04-29 15:28:10 +00:00
gitea-actions
6f43c3356f
chore: bump version to v0.1.98
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 44s
2026-04-29 09:43:56 +00:00
gitea-actions
973de2d094
chore: bump version to v0.1.97
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 56s
2026-04-27 13:02:01 +00:00
gitea-actions
06173e7225
chore: bump version to v0.1.96
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 2m59s
2026-04-27 12:08:31 +00:00
gitea-actions
90843dd997
chore: bump version to v0.1.95
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 31s
2026-04-20 14:19:05 +00:00
gitea-actions
3926946a5f
chore: bump version to v0.1.94
Auto Tag Develop / tag (push) Successful in 4s
Build & Push Docker Image / build (push) Successful in 33s
2026-04-20 10:12:10 +00:00
gitea-actions
b2f6fdf222
chore: bump version to v0.1.93
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 18s
2026-04-20 06:25:18 +00:00
gitea-actions
d230a252b6
chore: bump version to v0.1.92
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Failing after 6s
2026-04-20 06:21:05 +00:00
gitea-actions
fe0910a661
chore: bump version to v0.1.91
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 33s
2026-04-17 14:58:36 +00:00
gitea-actions
2f25a3cd52
chore: bump version to v0.1.90
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 31s
2026-04-17 09:47:42 +00:00
gitea-actions
9e411be3c3
chore: bump version to v0.1.89
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 32s
2026-04-17 09:05:24 +00:00
gitea-actions
51bf155b0e
chore: bump version to v0.1.88
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 56s
2026-04-17 06:59:10 +00:00
gitea-actions
be7c16778a
chore: bump version to v0.1.87
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Failing after 46s
2026-04-16 13:52:31 +00:00
gitea-actions
13c71abddc
chore: bump version to v0.1.86
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 34s
2026-04-14 13:55:11 +00:00
gitea-actions
187a634cc8
chore: bump version to v0.1.85
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 31s
2026-04-14 13:08:56 +00:00
gitea-actions
11331da6a1
chore: bump version to v0.1.84
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 33s
2026-04-14 09:25:55 +00:00
tristan
399fd7335e
fix : exclusion de certain jour férié et affichage différent des jours férié dans la page d'heure
Auto Tag Develop / tag (push) Has been cancelled
2026-04-14 11:25:44 +02:00
gitea-actions
46cb7f1a16
chore: bump version to v0.1.83
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 35s
2026-04-14 06:38:09 +00:00
gitea-actions
de302d9ded
chore: bump version to v0.1.82
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 22s
2026-04-14 06:25:17 +00:00
gitea-actions
055d92153b
chore: bump version to v0.1.81
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 2m19s
2026-04-13 07:41:52 +00:00
tristan
4cd30de3e3
feat : ajout d'un onglet formation
Auto Tag Develop / tag (push) Has been cancelled
2026-04-13 09:41:36 +02:00
gitea-actions
b185accdbb
chore: bump version to v0.1.80
Auto Tag Develop / tag (push) Successful in 6s
Build & Push Docker Image / build (push) Successful in 26s
2026-04-08 06:47:00 +00:00
gitea-actions
c255000a5e
chore: bump version to v0.1.79
Auto Tag Develop / tag (push) Successful in 5s
Build & Push Docker Image / build (push) Successful in 33s
2026-04-03 13:18:40 +00:00