Architecture du Système
Construit avec des technologies modernes
Stack Technologique
aioflare est construit sur Next.js, offrant un rendu côté serveur et des performances optimisées. Supabase alimente le backend et gère l'authentification, les opérations de base de données et les fonctionnalités en temps réel.
Base de Données
aioflare utilise Supabase PostgreSQL comme base de données principale, avec Row Level Security (RLS) appliqué au niveau de la base de données. Les politiques RLS garantissent que chaque utilisateur ne peut accéder qu'à ses propres données, ajoutant une couche de protection au-delà des contrôles applicatifs, y compris dans les scénarios d'erreur.
Flux de Chiffrement
Toutes les données sensibles sont chiffrées côté serveur avant stockage. aioflare utilise un modèle de chiffrement par enveloppe: chaque utilisateur dispose d'une Data Encryption Key (DEK) dédiée pour chiffrer ses données avec AES-256-GCM. La DEK est elle-meme encapsulee avec AES Key Wrap (AES-KW) avant persistance, garantissant que les cles brutes ne sont jamais stockees en clair.
Les champs chiffrés incluent les jetons API Cloudflare, les identifiants, les données de zone, les enregistrements DNS et le contexte de file de jobs. Le déchiffrement s'effectue côté serveur sur requêtes authentifiées, avec des contrôles stricts de propriété à chaque couche.
Architecture API
aioflare utilise une architecture API RESTful avec authentification et limitation de débit appliquées sur tous les endpoints. L'API est conçue pour les opérations en masse, avec une gestion d'erreurs appropriée, des mécanismes de retry et une limitation par niveau d'abonnement pour garantir stabilité et usage équitable.
Système de File d'Attente Beta
Le système de file d'attente d'aioflare gère les opérations volumineuses de façon asynchrone avec limitation de débit pour éviter les timeouts et garantir la stabilité.
Traitement côté serveur — Les opérations s'exécutent indépendamment sur le serveur et continuent quel que soit l'état de la session navigateur. Recommandé pour les tâches à grande échelle et de longue durée.
Traitement via navigateur — Les opérations s'exécutent pendant une session navigateur active avec un rythme contrôlé. Adapté aux opérations modérées lorsque le traitement côté serveur n'est pas disponible.
Limitation de Débit
La limitation de débit est appliquée par niveau d'abonnement pour garantir une utilisation équitable et la stabilité du système. Les limites couvrent les opérations en masse, les appels API et les processus concurrents, surveillés et appliqués en temps réel pour maintenir des performances constantes pour tous les utilisateurs.