v1.0 Novembre 2025
4.4

Architecture Frontend
(Mobile + Web)

La solution de cashback nouvelle génération

24 novembre 2025
Version 1.0
1

VUE D'ENSEMBLE FRONTEND

1.1 Présentation Générale

L'architecture frontend de REWAPP couvre quatre applications distinctes, chacune optimisée pour son contexte d'utilisation et son audience cible. Toutes les applications partagent des principes communs de performance, sécurité et expérience utilisateur.

Applications Frontend

Application Technologie Type Utilisateurs Cibles
Application Mobile Angular + Ionic App Native iOS/Android Clients finaux
Site Vitrine Angular 17 + Tailwind CSS SSR/SSG Web Prospects, SEO
Dashboard Admin Angular 17 + Angular Material SPA Équipe REWAPP
Dashboard Partenaire Angular + Ionic (PWA) PWA Commerçants partenaires

1.2 Principes Architecturaux Frontend

L'architecture frontend de REWAPP suit plusieurs principes fondamentaux pour garantir performance, maintenabilité et expérience utilisateur optimale.

Séparation Des responsabilités
<100ms Temps réponse UI
Security By Design
WCAG 2.1 Niveau AA
  • Séparation des responsabilités : Chaque application frontend a un rôle spécifique et utilise les technologies les plus adaptées à son contexte.
  • Performance First : Optimisation du temps de chargement, réduction de la consommation de données mobiles et fluidité des interactions.
  • Security by Design : Authentification robuste via JWT, protection des données sensibles et conformité RGPD intégrée.
  • Responsive Design : Adaptation automatique à tous les types d'écrans et orientations (mobile, tablette, desktop).
  • Accessibilité : Conformité WCAG 2.1 niveau AA pour garantir l'accessibilité à tous les utilisateurs.
  • Maintenabilité : Code modulaire, réutilisable, testé et documenté avec couverture de tests minimale de 80%.

1.3 Communication avec le Backend

Toutes les applications frontend communiquent avec le backend via l'API REST sécurisée.

Configuration Communication

Élément Description Configuration
API Gateway Point d'entrée unique (Kong) Routage, auth, rate limiting
Authentification JWT avec refresh token Access: 15min, Refresh: 7 jours
Format de données JSON pour toutes les communications UTF-8, gzip compression
Gestion des erreurs Format standardisé avec codes HTTP Codes métier personnalisés
WebSockets Mises à jour temps réel (dashboards) Socket.io, heartbeat 30s

1.4 Schéma d'Architecture Frontend Globale

Architecture
+------------------+     +------------------+     +------------------+
|   App Mobile     |     |   Site Vitrine   |     |   Dashboards     |
| Angular + Ionic  |     |     Angular      |     |     Angular      |
+--------+---------+     +--------+---------+     +--------+---------+
         |                        |                        |
         |        HTTPS/TLS 1.3   |                        |
         +------------------------+------------------------+
                                  |
                    +-------------+-------------+
                    |     Kong API Gateway      |
                    |   (Auth, Rate Limiting)   |
                    +-------------+-------------+
                                  |
                    +-------------+-------------+
                    |   Backend Microservices   |
                    |        (NestJS)           |
                    +---------------------------+
2

ARCHITECTURE APPLICATION MOBILE (ANGULAR + IONIC)

2.1 Stack Technique Mobile

L'application mobile REWAPP utilise Angular avec Ionic et Capacitor pour permettre un développement cross-platform efficace tout en maintenant des performances natives.

Technologies Mobile

Technologie Version Rôle
Angular 17.x Framework enterprise-grade
Ionic Framework 7.x Composants UI natifs, cross-platform
Capacitor 5.x Build natif iOS/Android, APIs natives
NgRx / Services 17.x State management réactif
Ionic Router 7.x Navigation et routing
RxJS 7.x Programmation réactive
@capacitor/camera Latest Scan QR codes

2.2 Structure des Dossiers

Structure Mobile
src/
├── app/                        # Module racine Angular
│   ├── core/                   # Services singleton, guards
│   │   ├── services/
│   │   ├── guards/
│   │   └── interceptors/
│   ├── shared/                 # Composants partagés
│   │   ├── components/
│   │   ├── directives/
│   │   └── pipes/
│   ├── features/               # Modules fonctionnels
│   │   ├── auth/               # Authentification
│   │   │   ├── login/
│   │   │   ├── register/
│   │   │   └── forgot-password/
│   │   ├── home/               # Page d'accueil
│   │   ├── transactions/       # Transactions
│   │   ├── qr-code/            # Scanner QR
│   │   ├── rewards/            # Récompenses
│   │   └── profile/            # Profil utilisateur
│   ├── app.component.ts
│   ├── app.module.ts
│   └── app-routing.module.ts
├── environments/               # Configuration par environnement
├── theme/                      # Variables Ionic/SCSS
├── assets/                     # Images, polices, etc.
└── main.ts                     # Point d'entrée

2.3 Gestion d'État (Services Angular / NgRx)

L'application utilise les services Angular avec RxJS et optionnellement NgRx pour la gestion d'état global, offrant une architecture réactive et maintenable.

Services Angular

Service Données Gérées Méthodes Principales
AuthService Tokens JWT, état connexion, biométrie login(), logout(), refreshToken()
UserService Profil utilisateur, préférences updateProfile(), getProfile()
PointsService Solde, historique, paliers getBalance(), generateQRCode()
TransactionsService Liste transactions, filtres getTransactions(), filterByDate()
TypeScript
// services/auth.service.ts
import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { Storage } from '@ionic/storage-angular';
import { HttpClient } from '@angular/common/http';

@Injectable({ providedIn: 'root' })
export class AuthService {
  private authState$ = new BehaviorSubject<boolean>(false);
  private user$ = new BehaviorSubject<User | null>(null);

  constructor(
    private storage: Storage,
    private http: HttpClient
  ) {
    this.initStorage();
  }

  async initStorage() {
    await this.storage.create();
    const token = await this.storage.get('access_token');
    this.authState$.next(!!token);
  }

  isAuthenticated(): Observable<boolean> {
    return this.authState$.asObservable();
  }

  async login(credentials: LoginDto): Promise<void> {
    const response = await this.http.post<AuthResponse>('/api/auth/login', credentials).toPromise();
    await this.storage.set('access_token', response.accessToken);
    await this.storage.set('refresh_token', response.refreshToken);
    this.authState$.next(true);
  }
}

2.4 Navigation (Ionic Router)

Ionic Router (basé sur Angular Router) gère toute la navigation de l'application mobile avec une structure modulaire et lazy loading.

Structure Navigation
AppRoutingModule
├── AuthModule (lazy loaded, non connecté)
│   ├── /login → LoginPage
│   ├── /register → RegisterPage
│   ├── /forgot-password → ForgotPasswordPage
│   └── /verify-email → VerifyEmailPage
└── MainModule (lazy loaded, connecté + guards)
    ├── TabsModule (ion-tabs)
    │   ├── /home → HomePage
    │   ├── /transactions → TransactionsPage
    │   ├── /qr-code → QRCodePage
    │   ├── /rewards → RewardsPage
    │   └── /profile → ProfilePage
    └── Modal Pages
        ├── TransactionDetailPage
        ├── WithdrawalPage
        ├── SettingsPage
        └── NotificationsPage

Deep Linking

L'application supporte les deep links pour permettre la navigation depuis les notifications push ou les liens externes.

Schémas URL

Schéma URL Écran Cible Paramètres
rewapp://login LoginScreen redirect?
rewapp://transaction/:id TransactionDetailScreen id (UUID)
rewapp://qrcode QRCodeScreen amount?
rewapp://rewards RewardsScreen -
rewapp://settings SettingsScreen section?

2.5 Écrans Principaux

2.5.1 Écran d'Accueil (HomeScreen)

L'écran d'accueil affiche une vue d'ensemble du compte utilisateur avec les informations essentielles.

  • Solde de points avec valeur en euros (conversion 1 point = 0,10€)
  • Palier de fidélité actuel et progression
  • Dernières transactions (3-5 plus récentes)
  • Campagnes partenaires actives (featured)
  • Bouton d'action rapide vers génération QR code

2.5.2 Écran QR Code (QRCodeScreen)

COMPORTEMENT CRITIQUE

QR Code valide 60 secondes, usage UNIQUE. Animation couleur : vert (60-30s) → orange (30-10s) → rouge (10-0s)

  • Saisie du montant en points (minimum 10 points)
  • Validation du solde suffisant
  • Génération QR code avec signature HMAC-SHA256
  • Compteur visuel à rebours de 60 secondes
  • Expiration automatique avec déblocage des points

2.5.3 Écran Récompenses (RewardsScreen)

  • Affichage solde disponible et valeur en euros
  • Demande de virement (seuil minimum : 100 points = 9,50€)
  • Historique des demandes de virement
  • Statut des demandes (En attente, En cours, Effectué)
  • Estimation du délai de traitement (2-3 semaines)

2.6 Sécurité Mobile

Stockage Sécurisé

Donnée Stockage Méthode
Access Token Keychain (iOS) / Keystore (Android) Chiffré, biométrie optionnelle
Refresh Token Keychain / Keystore Chiffré, secure enclave
Préférences utilisateur Ionic Storage Non sensible
Cache API Ionic Storage TTL, invalidation

Authentification Biométrique

  • Face ID (iOS) et Touch ID (iOS)
  • Fingerprint (Android) et Face Recognition (Android)
  • Activation optionnelle par l'utilisateur
  • Fallback vers code PIN en cas d'échec

Certificate Pinning

Implémentation du certificate pinning pour prévenir les attaques MITM (Man-in-the-Middle).

Certificats pinnés

api.rewapp.fr (API principale) • cdn.rewapp.fr (CDN assets)

2.7 Performance Mobile

Optimisations Implémentées

Technique Description Gain
Ionic Capacitor Runtime natif optimisé pour les plugins Accès APIs natives
Lazy Loading Chargement différé des écrans non visibles -30% bundle initial
Image Caching Cache images avec Ionic/Capacitor Réduction bande passante
Memoization OnPush, trackBy, Pure Pipes Évite re-renders inutiles
List Virtualization FlatList avec windowSize optimisé Scroll fluide listes longues

Métriques Cibles

< 2s Démarrage à froid
< 500ms Démarrage à chaud
60 FPS Frame rate constant
< 50MB Taille app iOS
3

ARCHITECTURE SITE VITRINE (NEXT.JS)

3.1 Stack Technique Site Vitrine

Le site vitrine REWAPP utilise Angular 17 avec Angular Universal pour un SEO optimal et des performances maximales.

Technologies Web

Technologie Version Rôle
Angular 17.x Framework SSR/SSG avec Angular Universal
Angular 17.x Bibliothèque UI
Tailwind CSS 3.4.x Framework CSS utility-first
TypeScript 5.x Typage statique
next/image Intégré Optimisation images automatique
next-seo 6.x Gestion meta tags SEO

3.2 Structure des Dossiers

Structure Angular
src/
├── app/                        # Modules Angular 17
│   ├── layout.tsx              # Layout racine
│   ├── page.tsx                # Page d'accueil
│   ├── globals.css             # Styles globaux Tailwind
│   ├── partenaires/
│   │   ├── page.tsx            # Liste partenaires
│   │   └── [slug]/page.tsx     # Fiche partenaire
│   ├── a-propos/page.tsx       # Page à propos
│   ├── contact/page.tsx        # Page contact
│   ├── faq/page.tsx            # FAQ
│   ├── blog/
│   │   ├── page.tsx            # Liste articles
│   │   └── [slug]/page.tsx     # Article détail
│   ├── mentions-legales/page.tsx
│   ├── cgu/page.tsx
│   └── politique-confidentialite/page.tsx
├── components/
│   ├── layout/                 # Header, Footer, Navigation
│   ├── home/                   # Hero, Features, HowItWorks
│   ├── partners/               # PartnerCard, PartnerGrid
│   └── common/                 # Button, Card, SEO
├── lib/                        # API, utils
├── types/                      # Types TypeScript
└── public/                     # Images, icons, fonts

3.3 Stratégie de Rendu

Le site vitrine utilise différentes stratégies de rendu selon le type de page pour optimiser performance et SEO.

Stratégies par Page

Page Stratégie Revalidation Justification
Page d'accueil SSG 1 heure Contenu semi-statique, SEO critique
Liste partenaires SSG + ISR 10 minutes Mise à jour fréquente
Fiche partenaire SSG 1 heure Contenu dynamique modéré
Blog SSG 6 heures Contenu éditorial stable
FAQ SSG 24 heures Contenu rarement modifié
Pages légales SSG 7 jours Contenu très stable

3.4 Optimisation SEO

Configuration SEO
// app/layout.tsx
export const metadata: Metadata = {
  title: {
    default: 'REWAPP - Cashback nouvelle génération',
    template: '%s | REWAPP',
  },
  description: 'REWAPP transforme chaque achat en récompense. Cashback bancaire direct.',
  keywords: ['cashback', 'fidélité', 'remboursement', 'points', 'récompenses'],
  openGraph: {
    type: 'website',
    locale: 'fr_FR',
    url: 'https://rewapp.fr',
    siteName: 'REWAPP',
  },
  twitter: { card: 'summary_large_image' },
  robots: { index: true, follow: true },
};

Éléments SEO Implémentés

  • Meta tags optimisés par page (title, description, keywords)
  • Sitemap XML généré automatiquement (/sitemap.xml)
  • Robots.txt configuré (/robots.txt)
  • Structured data JSON-LD (Organization, LocalBusiness, FAQ)
  • Balises Open Graph pour réseaux sociaux
  • URLs canoniques et balises hreflang

3.5 Performance Site Vitrine

Core Web Vitals Cibles

Métriques Performance

Métrique Cible Seuil "Bon"
LCP (Largest Contentful Paint) < 1.5s < 2.5s
FID (First Input Delay) < 50ms < 100ms
CLS (Cumulative Layout Shift) < 0.05 < 0.1
TTFB (Time to First Byte) < 200ms < 600ms

Optimisations Implémentées

  • Images : next/image avec lazy loading, formats WebP/AVIF automatiques, srcset responsive
  • Fonts : Préchargement Google Fonts avec font-display: swap, subset français uniquement
  • CSS : Tailwind CSS avec purge automatique, critical CSS inline
  • JavaScript : Code splitting automatique par route, tree shaking, minification
  • Caching : Headers cache optimisés, CDN Nginx/Traefik intégré
4

ARCHITECTURE DASHBOARD ADMIN (REACT SPA)

4.1 Stack Technique Dashboard Admin

Le Dashboard Admin est une Single Page Application Angular optimisée pour la gestion complète de la plateforme REWAPP.

Technologies Dashboard Admin

Technologie Version Rôle
Angular 17.x Bibliothèque UI
Material-UI (MUI) 5.x Framework composants UI
Angular HttpClient 17.x Cache serveur et synchronisation
Angular Router 17.x Routing SPA
Chart.js 4.x Graphiques et visualisations
Angular Reactive Forms 17.x Gestion formulaires
Zod 3.x Validation schémas

4.2 Gestion d'État

Angular Services pour Données Serveur

Les services Angular et HttpClient gèrent tout le cache serveur et la synchronisation des données avec le backend.

TypeScript
// hooks/useUsers.ts
export const useUsers = (filters: UserFilters) => {
  return useQuery({
    queryKey: ['users', filters],
    queryFn: () => userService.getUsers(filters),
    staleTime: 5 * 60 * 1000, // 5 minutes
    cacheTime: 30 * 60 * 1000, // 30 minutes
  });
};

export const useUpdateUser = () => {
  const queryClient = useQueryClient();
  return useMutation({
    mutationFn: userService.updateUser,
    onSuccess: () => {
      queryClient.invalidateQueries({ queryKey: ['users'] });
    },
  });
};

Zustand pour État Local

Stores Zustand

Store Données Persistance
authStore User admin, tokens, permissions localStorage (chiffré)
uiStore Sidebar collapsed, theme, langue localStorage
filtersStore Filtres tables (temporaires) Non

4.3 Modules Fonctionnels

Tableau de Bord Principal

KPIs affichés en temps réel :

  • Nombre total d'utilisateurs (avec variation période)
  • Nombre de partenaires actifs
  • Volume de transactions (jour/semaine/mois)
  • Revenus générés (commissions)
  • Points distribués vs utilisés

Gestion des Utilisateurs

  • Liste paginée avec tri et filtres
  • Recherche par nom, email, téléphone
  • Détail complet du profil utilisateur
  • Actions : bloquer, débloquer, supprimer (RGPD)
  • Export CSV des utilisateurs

Gestion des Partenaires

  • Liste des partenaires avec statut (en attente, validé, suspendu)
  • Workflow de validation des nouveaux partenaires
  • Configuration des taux de cashback
  • Gestion des abonnements premium

4.4 Sécurité Dashboard Admin

AUTHENTIFICATION RENFORCÉE OBLIGATOIRE

Email + mot de passe fort (12 caractères min) • 2FA obligatoire (TOTP) • Session timeout : 30 minutes

Contrôle d'Accès RBAC

Rôles et Permissions

Rôle Permissions
Super Admin Accès complet, configuration système, gestion des admins
Admin Gestion utilisateurs, partenaires, transactions, reporting
Support Consultation uniquement, support utilisateurs
5

ARCHITECTURE DASHBOARD PARTENAIRE (REACT PWA)

5.1 Stack Technique

Le Dashboard Partenaire est une Progressive Web App (PWA) optimisée pour une utilisation mobile et desktop par les commerçants.

Technologies PWA

Technologie Version Rôle
Angular 17.x Bibliothèque UI
Vite 5.x Build tool ultra-rapide
Ant Design 5.x Framework composants UI
Angular HttpClient 17.x Cache serveur
Workbox 7.x Service Worker PWA
html5-qrcode 2.x Scan QR codes navigateur

5.2 Fonctionnalités PWA

Capacités Offline

Disponibilité Offline

Fonctionnalité Disponible Offline Synchronisation
Scan QR code Oui Auto à reconnexion
Consultation stats Oui (cache) Background sync
Transactions récentes Oui (cache) Temps réel online
Configuration Non Online uniquement

Installation PWA

  • Prompt d'installation sur mobile et desktop
  • Icône personnalisée REWAPP
  • Splash screen au lancement
  • Mise à jour automatique en arrière-plan

5.3 Module de Scan QR Code

Flux de Scan

  1. 1
    Ouverture Scanner

    Partenaire ouvre le scanner (accès caméra)

  2. 2
    Scan QR Code

    Scan du QR code présenté par le client

  3. 3
    Validation Serveur

    Validation côté serveur (signature, expiration, solde)

  4. 4
    Confirmation

    Affichage du résultat et confirmation par le partenaire

  5. 5
    Débit Points

    Débit instantané des points + notification push au client

Gestion des Erreurs Scan

Erreurs et Actions

Erreur Message Affiché Action
QR expiré "QR code expiré. Demandez au client de régénérer." Nouveau scan
QR déjà utilisé "QR code déjà scanné." Nouveau scan
Solde insuffisant "Solde client insuffisant." Annulation
Erreur réseau "Connexion impossible. Scan mis en file d'attente." Queue offline
QR invalide "QR code non reconnu." Nouveau scan

5.4 Statistiques Partenaire

Métriques affichées :

  • Nombre de transactions du jour/semaine/mois
  • Volume de points acceptés
  • Panier moyen des clients REWAPP
  • Nouveaux clients vs clients fidèles
  • Comparaison avec la période précédente
6

COMPOSANTS PARTAGÉS ET DESIGN SYSTEM

6.1 Bibliothèque de Composants

Une bibliothèque de composants partagés assure la cohérence visuelle entre les dashboards.

Composants Communs

Composant Description Utilisé Dans
DataTable Tableau avec tri, filtres, pagination Admin, Partenaire
MetricCard Carte affichant une métrique avec variation Admin, Partenaire
LineChart Graphique en ligne configurable Admin, Partenaire
StatusBadge Badge de statut coloré Admin, Partenaire
ConfirmDialog Modal de confirmation d'action Admin, Partenaire
EmptyState État vide avec illustration Tous
LoadingSpinner Indicateur de chargement Tous

6.2 Tokens de Design

Couleurs

Palette de Couleurs

Token Valeur Usage
--primary #6366F1 Actions principales, liens
--primary-dark #4F46E5 Hover actions principales
--secondary #10B981 Succès, cashback, positif
--warning #F59E0B Alertes, attention
--error #EF4444 Erreurs, danger
--neutral-50 #F9FAFB Backgrounds clairs
--neutral-900 #111827 Textes principaux

Typographie

Échelle Typographique

Élément Taille Poids Usage
Heading 1 32px 700 Titres de page
Heading 2 24px 600 Titres de section
Heading 3 20px 600 Sous-titres
Body 16px 400 Texte courant
Small 14px 400 Textes secondaires
Caption 12px 400 Labels, métadonnées

6.3 Responsive Design

Breakpoints

Breakpoint Taille Appareils Cibles
xs < 576px Mobiles portrait
sm ≥ 576px Mobiles paysage, petites tablettes
md ≥ 768px Tablettes
lg ≥ 992px Laptops, petits écrans
xl ≥ 1200px Desktops
xxl ≥ 1600px Grands écrans
7

GESTION DES ASSETS ET RESSOURCES

7.1 Images et Médias

Optimisation Images

Plateforme Format Optimisation
Mobile WebP, PNG Compression, @2x/@3x
Site Vitrine WebP, AVIF next/image automatique
Dashboards SVG, WebP Sprites icons, lazy load

CDN et Distribution

CDN Nginx/Traefik

URL : cdn.rewapp.fr • Cache : 1 an pour assets versionnés • Compression : gzip, brotli • Invalidation automatique au déploiement

7.2 Icônes

Bibliothèques d'Icônes

Application Bibliothèque Raison
Mobile Ionicons Icônes natives Ionic
Site Vitrine Heroicons Cohérence Tailwind
Dashboards Material Icons (MUI) Intégré MUI

7.3 Polices

Polices utilisées :

  • Titres : Inter (Google Fonts)
  • Corps : Inter (Google Fonts)
  • Code : JetBrains Mono (monospace)

Chargement optimisé avec font-display: swap et préchargement.

8

BUILD ET DÉPLOIEMENT FRONTEND

8.1 Environnements

Environnements

Environnement URL Usage
Development localhost:3000 Développement local
Staging staging.rewapp.fr Tests et validation
Production rewapp.fr / app.rewapp.fr Production

8.2 Build Mobile

iOS

  • Build via Capacitor + Xcode
  • Signing avec certificates Apple Developer
  • Distribution : App Store Connect

Android

  • Build via Capacitor + Android Studio
  • Signing avec keystore sécurisé
  • Distribution : Google Play Console
app.config.ts
export default {
  name: process.env.APP_ENV === 'production' ? 'REWAPP' : 'REWAPP Dev',
  extra: {
    apiUrl: process.env.API_URL,
    environment: process.env.APP_ENV,
  },
};

8.3 Build Web

Site Vitrine (Angular)

Bash
# Build statique
npm run build
npm run export

# Déploiement vers volume CapRover
aws s3 sync out/ s3://rewapp-vitrine --delete
aws cloudfront create-invalidation --distribution-id XXX --paths "/*"

Dashboards (Angular)

Bash
# Build production
npm run build

# Déploiement via Docker
docker build -t rewapp-dashboard-admin .
docker push xxx.dkr.ecr.eu-west-3.amazonaws.com/rewapp-dashboard-admin

8.4 CI/CD Frontend

Pipeline GitHub Actions :

Pipeline CI/CD

Étape Action Déclencheur
Lint ESLint + Prettier Push toute branche
Tests Jest + Angular Testing Push toute branche
Build Build de production Push main/develop
Deploy Staging Déploiement staging Push develop
Deploy Production Déploiement production Tag release
9

MONITORING ET ANALYTICS FRONTEND

9.1 Error Tracking

Sentry est intégré dans toutes les applications frontend pour le tracking des erreurs.

  • Source maps uploadés pour debugging
  • Alertes email pour erreurs critiques
  • Contexte utilisateur (ID anonymisé)
  • Breadcrumbs pour reproduction

9.2 Analytics Utilisateur

Outils Analytics

Outil Usage Données Collectées
Google Analytics 4 Trafic web, conversions Pages vues, events, goals
Mixpanel Analytics produit avancé Funnels, cohortes, rétention
Firebase Analytics Analytics mobile Sessions, events, crashes

9.3 Performance Monitoring

Mobile

  • Temps de démarrage (cold/warm start)
  • Frame rate et animations
  • Consommation batterie
  • Utilisation mémoire

Web

  • Core Web Vitals (LCP, FID, CLS)
  • Time to Interactive (TTI)
  • First Contentful Paint (FCP)
10

CONCLUSION

10.1 Récapitulatif de l'Architecture Frontend

L'architecture frontend de REWAPP est conçue pour offrir une expérience utilisateur optimale sur toutes les plateformes :

Mobile Angular + Ionic
Vitrine Angular 17 SSR
Admin Angular SPA + Material
Partenaire Angular + Ionic PWA
  • Application Mobile : Angular + Ionic avec Capacitor pour un développement cross-platform efficace avec performances natives, gestion d'état réactive (Services/NgRx), et sécurité renforcée (biométrie, certificate pinning).
  • Site Vitrine : Angular 17 avec SSR pour un SEO optimal et des performances maximales (Core Web Vitals excellents), design responsive avec Tailwind CSS.
  • Dashboard Admin : Angular SPA avec Angular Material pour une interface professionnelle, gestion d'état réactive avec Services/NgRx, et sécurité renforcée (2FA obligatoire).
  • Dashboard Partenaire : Angular + Ionic PWA pour une utilisation mobile et desktop avec capacités offline, scan QR code via navigateur, et installation comme application native.

10.2 Évolutions Futures

L'architecture frontend est conçue pour supporter les évolutions suivantes :

  • Évolution vers Angular Signals et standalone components
  • Implémentation de Server-Side Rendering Angular
  • Micro-frontends pour isolation des dashboards
  • Design system complet avec Storybook
  • Tests E2E automatisés avec Playwright