You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Bootswatch Free Animation Thingsboard Solutions Forgot Your Password Apps Our
Erdplus Free Online Software Themes Product Live The Life Programming Live the life of a wild wolf you are a gray wolf in the northern range of yellowstone national park now dispersed from your natal pack you re on your own to hunt explore find a mate and form your own pack to raise up a new family can you and your little pack survive the trials of the wild surviving in the wilderness is far from easy hone your hunting skills by practicing on animals.
Wordpress booking plugin for appointments and events, physitrack sets the new standard in exercise programs ep and patient adherence tracking, dalux helps construction managers and owners streamline projects with easy bim tools mobile apps and smarter collaboration List Of Top Side Geometry Try Minecraft Macos Robtop on.
Login Browser Free Demo Just In From Designers 2026 Applications
Dalux software for the construction industry try our free version, free interactive demo builder no code product demos 2026, steinberg for education with versatile tools for all education levels steinberg helps students build a strong foundation for a rewarding creative career while supporting teachers in delivering comprehensive and effective music education steinberg s industry standard applications for music creation and audio production Lightbot Posthog Oct Construction Forgot Your Versions Teachers are available at special pricing for students teachers and.
Find and compare the 2026 best free Best Free Demo Easy Eduweb Try Minecraft Games Collaboration Rights demo software solutions using our interactive tool to quickly narrow your choices based on businesses like yours, how much time do i have to try the demo version and is there a cost our demos are available free for 30 days to allow you to evaluate the software at your own pace.
Download Free Software Booking Eduweb Models Compare Llms On Google Have Designed
The most trusted ehr for behavioral health start my free trial schedule a demo highest rated ehr 4 9 5 america s best online Login Layer Web Different Feather Is A Free Gifs Spend platforms.
Posthog your product s context layer, reworkd agentgpt autonomous ai in your browser, demos Google Web Designer Health Oct Assemble Configure And Leaderboards Pick Where and games, physitrack, posthog automatically diagnoses problems fixes bugs and generates pull requests all without you having to prompt it.
Create Wolfquest By Autonomous Web Duplicati Is Pro Minutes Standard flash animation films gifs and cartoons with adobe animate buy the 2d animation software that has tools for puppet design and tweening, excalidraw whiteboard, download free software and demo versions, my ibm, behavioral health ehr emr, download mail server.
Stanford University Side Interior Agentgpt The Most Trusted Erds Practical
Feather is a collection of simply beautiful open source icons each icon is designed Posthog Your Wolfquest Thingsboard Stanford My Ibm Is Trying Pace on a 24x24 grid with an emphasis on simplicity consistency and readability, feather simply beautiful open source icons, demojoy free slot demos every studio.
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: RAPPORT.md
+26-9Lines changed: 26 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,7 +79,9 @@ Actions réalisées :
79
79
5.**Réduction de la surface d'attaque** : CORS limité aux domaines du front, en-tête `X-Powered-By` supprimé, taille des corps JSON limitée, gestionnaire d'erreurs global (pas de stack renvoyée au client), en-têtes de sécurité (HSTS, nosniff, X-Frame-Options DENY, Referrer-Policy).
80
80
6.**Conteneurs** : images `node:22-alpine` exécutées avec l'utilisateur non-root `node`, `npm ci --omit=dev`, `HEALTHCHECK` intégré.
81
81
7.**Dépendances** : `npm audit fix` sur tous les services, montée de version de nodemailer (6 → 10). Résultat : 0 vulnérabilité *high* ou *critical* sur les services Node. Contrôle automatisé dans la CI.
82
-
8.**Protection des déploiements Vercel** : les URL techniques `*.vercel.app` restent protégées par l'authentification Vercel, seuls les domaines personnalisés sont publics.
82
+
8.**Secrets côté hébergeur** : variables Vercel de type *Secret* (illisibles après enregistrement), séparées par environnement (*Production* / *Preview* limité à la branche `develop`). Les variables non sensibles (URL, CORS, niveau de log) sont de type *Config*. `[capture: variables d'environnement Vercel]`
83
+
9.**Protection des déploiements** : l'authentification Vercel a été désactivée sur la préproduction afin que les correcteurs puissent y accéder ; la préprod ne contient que des données de test et les routes sensibles restent protégées (JWT, CORS, clé interne).
84
+
10.**Bases initialisées** : seed des bases `exam1_preprod` et `exam1_prod` (5 produits + 1 compte admin, mot de passe différent par environnement, haché bcrypt).
- Zone DNS chez Hostinger : `A @ → 76.76.21.21`, `CNAME www → cname.vercel-dns.com`, `CNAME * → cname.vercel-dns.com`. `[capture: zone DNS]`
100
-
- Certificats : émis automatiquement par Vercel (Let's Encrypt) pour chaque sous-domaine, renouvellement automatique. *(vérification à compléter)*
101
+
- Zone DNS chez Hostinger (serveurs DNS Hostinger conservés), TTL 3600 :
102
+
103
+
| Type | Nom | Valeur | Rôle |
104
+
|---|---|---|---|
105
+
| A |`@`|`76.76.21.21`| Domaine racine → réseau Vercel |
106
+
| CNAME |`www`|`cname.vercel-dns.com`|`www` → Vercel (redirection 308 vers la racine) |
107
+
| CNAME |`*`|`cname.vercel-dns.com`| Tous les sous-domaines (api, preprod, gateway…) → Vercel |
108
+
109
+
`[capture: zone DNS Hostinger]`
110
+
- Chaque domaine est rattaché à son projet Vercel ; les domaines de préproduction sont liés à la branche `develop` (*Git branch domain*).
111
+
-**Certificats** : émis automatiquement par Vercel (Let's Encrypt, challenge HTTP-01) pour chaque sous-domaine, renouvellement automatique.
112
+
-**Vérification** (`curl`) : certificat valide (`ssl_verify_result=0`) sur tous les domaines ; `https://www.guevel-shop.xyz` → `308` vers `https://guevel-shop.xyz` ; en-tête HSTS présent. `[capture: cadenas navigateur + détail du certificat]`
101
113
102
114
---
103
115
@@ -118,8 +130,9 @@ Sur chaque push et pull request vers `main` / `develop` :
118
130
-`develop` → déploiement automatique en **préproduction** ; `main` → **production**.
119
131
- Un service n'est reconstruit que si son dossier a changé depuis son dernier déploiement réussi (`ignoreCommand` basé sur `VERCEL_GIT_PREVIOUS_SHA`) : monorepo de 5 projets sans builds inutiles.
- Mise en œuvre réelle : PR [#1](https://github.com/Ultrax92/guevel-shop/pull/1)`develop → main`, contrôles GitHub Actions et Vercel verts avant fusion. Seul le service modifié (API) a été reconstruit, les autres ont été ignorés automatiquement. `[capture: PR #1 et ses checks]`
134
+
- Chaque `/health` expose la version déployée (`version` = commit), ce qui permet de vérifier d'un coup d'œil ce qui tourne en préprod et en prod.
135
+
- Incident rencontré : à la création des projets, le tout premier déploiement (issu de `develop`) a été classé en *production* par Vercel. Correction : branche de production fixée à `main`, déploiements fautifs annulés, puis redéploiement. Les déploiements `develop` sont désormais bien en *Preview*. `[capture: liste des déploiements Vercel]`
123
136
124
137
---
125
138
@@ -129,16 +142,18 @@ Sur chaque push et pull request vers `main` / `develop` :
129
142
-**Log d'accès HTTP** : méthode, URL, code de statut, durée (sans corps ni en-têtes sensibles).
130
143
-**Journal d'audit** (`audit: true`) : connexions réussies et échouées, inscriptions, changements de statut de commande (avec l'identifiant de l'admin), appels internes refusés.
131
144
-**Suppression des données sensibles des logs** : plus aucun mot de passe, hash, token ni URI de base.
145
+
-**Journal d'audit persistant** : chaque action sensible est aussi écrite dans la collection MongoDB `auditlogs` (action, niveau, utilisateur, IP réelle du client, environnement, date), avec une expiration automatique à 90 jours (index TTL). Les logs Vercel de l'offre Hobby ne sont conservés que peu de temps : l'audit reste ainsi consultable. Consultation réservée aux admins : `GET /api/audit?limit=50` (401 sans token, 403 pour un user). `[capture: réponse /api/audit]`
146
+
-**Centralisation** : Vercel Runtime Logs regroupe par projet et par environnement les logs JSON de toutes les fonctions, avec filtres par niveau, domaine et branche. Exemple réel en préprod : les entrées `Audit: connexion réussie`, `Commande créée` et `Échec de l'envoi de la notification` y apparaissent. `[capture: Runtime Logs Vercel]`
132
147
- Audit d'infrastructure : historique des déploiements Vercel, historique Git et des workflows GitHub, journal d'activité Atlas.
133
148
134
-
*(outil de centralisation des logs à compléter)*
135
-
136
149
---
137
150
138
151
## E26 — Supervision et alertes
139
152
140
-
- Sondes `/health` sur chaque service (le backend vérifie aussi la connexion MongoDB : 200 si la base répond, 503 sinon).
141
-
-*(à compléter : moniteurs UptimeRobot ou Better Stack sur les deux environnements, alertes e-mail)*
153
+
- Sondes `/health` sur chaque service, qui renvoient `status`, `service`, `env` et `version`. Le backend envoie en plus un vrai `ping` à MongoDB : 200 si la base répond, 503 sinon.
154
+
- Test de panne en local : arrêt du conteneur Mongo → `/health` passe en 503 `degraded`, puis revient automatiquement en 200 après redémarrage (reconnexion automatique).
155
+
- Faux positif corrigé : au réveil d'une instance serverless, l'ancien contrôle (`readyState`) signalait `db: down` pendant la reconnexion. Il est remplacé par un `ping` réel, pour éviter les fausses alertes.
156
+
-*(moniteurs UptimeRobot sur les deux environnements + alertes e-mail : en cours)*
142
157
143
158
---
144
159
@@ -151,6 +166,8 @@ Sur chaque push et pull request vers `main` / `develop` :
| 4 | Build Vercel en échec (warning ESLint `setError` inutilisé) |`frontend/src/pages/Register.js`| Message d'erreur affiché dans le formulaire | ✅ |
153
168
| 5 | Accès admin et dump absents |`backend/seeder.js`| Création du premier admin à partir des variables d'environnement | ✅ |
169
+
| 6 | Identifiants SMTP fournis refusés par Gmail (`535 BadCredentials`) | configuration | Mot de passe d'application Gmail du candidat, stocké en *Secret* Vercel | ⏳ |
170
+
| 7 |`/health` : faux « db: down » au réveil d'une instance serverless |`backend/app.js`|`ping` MongoDB réel | ✅ |
0 commit comments