Skip to content

Commit 9fbcf6e

Browse files
Supabase login/register ready
1 parent c832052 commit 9fbcf6e

File tree

14 files changed

+772
-230
lines changed

14 files changed

+772
-230
lines changed

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ Une bibliothèque de composants internes (Custom Form, Generic Input, Button, Li
103103
🧠 **Architecture :**
104104
Des **Interceptors** robustes, des **Guards** d'authentification, une partie de l'application **Public** et **Private** ainsi qu'un **Dashboard Admin** fonctionnel sont déjà configurés. **Tous couverts à 100% par des tests.**
105105

106+
🔐 **Authentification Supabase :**
107+
Mécanique d'authentification robuste et sécurisée pré-configurée avec **Supabase**. Gestion des sessions, des rôles (Admin/User), guards de routage stricts et flux complet d'inscription/connexion. L'état global est piloté via les **Angular Signals** pour une réactivité parfaite.
108+
106109
📢 **Résilience & Gestion des Erreurs :**
107110
Un **Error Handler** global intercepte et redirige intelligemment vers des vues dédiées pour chaque scénario (**401**, **403**, **404**, **500**, **Generic**, **Timeout 408/504**, **Unknown**...). Une gestion du code **HHTP 503** est implémentée à double niveau : si l'**API** est indisponible, **Angular** affiche sa vue de maintenance. Si c'est l'application elle-même qui est en mise à jour (**Front-End** down), un mécanisme serveur (`.htaccess` via trigger **CI/CD**) prend instantanément le relais avec une page pur **HTML**/**CSS** statique. Le **SEO** est maintenu !
108111

@@ -189,6 +192,16 @@ pnpm start
189192

190193
```
191194

195+
### Configuration de l'environnement
196+
197+
Créer un fichier `.env` à la racine de l'application et renseigner les clés de configuration (**API endpoint** et **Supabase**) :
198+
199+
```bash
200+
NG_APP_BACKEND_API_URL=https://monbackend/api
201+
NG_APP_SUPABASE_URL=votre_url_supabase
202+
NG_APP_SUPABASE_ANON_KEY=votre_cle_anonyme_supabase
203+
```
204+
192205
### Installation de la CLI Angular en global
193206

194207
```bash

docs/ARCHITECTURE.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,10 @@
4545
┃ ┃ ┃ ┗ 📂user
4646
┃ ┃ ┣ 💉_services
4747
┃ ┃ ┃ ┣ 🔐auth
48-
┃ ┃ ┃ ┃ ┗ 📄auth.service.ts
4948
┃ ┃ ┃ ┣ 📈seo
50-
┃ ┃ ┃ ┃ ┗ 📄seo.service.ts
5149
┃ ┃ ┃ ┣ 🔔snackbar
52-
┃ ┃ ┃ ┃ ┗ 📄snackbar.service.ts
50+
┃ ┃ ┃ ┣ 🐘supabase
5351
┃ ┃ ┃ ┗ 🗣️translation
54-
┃ ┃ ┃ ┗ 📄translation.service.ts
5552
┃ ┃ ┣ 🚧guards
5653
┃ ┃ ┃ ┣ 👑admin
5754
┃ ┃ ┃ ┗ 🆔auth

src/app/core/_models/auth/auth.model.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,16 @@ export interface LoginCredentials {
2828
*/
2929
password: string;
3030
}
31+
32+
/**
33+
* Payload structure required for a new user registration.
34+
* Extends the base login credentials with profile-specific information.
35+
*/
36+
export interface RegisterCredentials extends LoginCredentials {
37+
/**
38+
* The chosen display name for the new account.
39+
* This is typically stored in the user's metadata for profile display.
40+
* @example "JonhDoe_42"
41+
*/
42+
username: string;
43+
}

src/app/core/_models/user/user.model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ export type UserRole = 'ADMIN' | 'USER';
1212
export interface User {
1313
/**
1414
* Unique identifier for the user (Primary Key).
15-
* @example 42
15+
* @example 123-uuid
1616
*/
17-
id: number;
17+
id: string;
1818

1919
/**
2020
* The display name chosen by the user.

0 commit comments

Comments
 (0)