Aller au contenu

🏛️ Architecture du projet

Ondes Core repose sur une architecture hybride combinant un shell natif Flutter et des mini-apps web, le tout supporté par un backend Django robuste.

Diagramme d'architecture

┌─────────────────────────────────────────────────────────────────┐
│                        ONDES CORE                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────┐    ┌─────────────────────────────────────┐     │
│  │  Mini-App   │    │          Flutter App                │     │
│  │  (WebView)  │◄──►│  ┌─────────────────────────────┐    │     │
│  │             │    │  │      Bridge Controller      │    │     │
│  │  HTML/JS/   │    │  ├─────────────────────────────┤    │     │
│  │    CSS      │    │  │ ┌─────┐ ┌─────┐ ┌────────┐  │    │     │
│  └─────────────┘    │  │ │ UI  │ │User │ │ Device │  │    │     │
│        │            │  │ └─────┘ └─────┘ └────────┘  │    │     │
│        │            │  │ ┌─────┐ ┌─────┐ ┌────────┐  │    │     │
│        ▼            │  │ │Store│ │ App │ │Friends │  │    │     │
│  window.Ondes       │  │ └─────┘ └─────┘ └────────┘  │    │     │
│                     │  │ ┌────────────────────────┐  │    │     │
│                     │  │ │        Social          │  │    │     │
│                     │  │ └────────────────────────┘  │    │     │
│                     │  └─────────────────────────────┘    │     │
│                     └─────────────────────────────────────┘     │
│                                      │                          │
│                                      ▼                          │
│                     ┌─────────────────────────────────────┐     │
│                     │          Django API                 │     │
│                     │  ┌─────────┐    ┌─────────────┐     │     │
│                     │  │  Store  │    │   Friends   │     │     │
│                     │  │  (apps) │    │ (relations) │     │     │
│                     │  └─────────┘    └─────────────┘     │     │
│                     │  ┌─────────────────────────────┐    │     │
│                     │  │   Social (posts, feed,      │    │     │
│                     │  │   stories, media, HLS)      │    │     │
│                     │  └─────────────────────────────┘    │     │
│                     └─────────────────────────────────────┘     │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Stack technique détaillée

Couche Technologie Rôle
Frontend natif Flutter Sert de "coquille" (Shell). Gère le WebView, l'interface native (barre de navigation, modales) et les appels systèmes via les Platform Channels.
Mini-Apps HTML/CSS/JS Applications développées par les utilisateurs. Elles tournent dans le WebView.
Bridge JavaScript Injection Mécanisme de communication bidirectionnel entre le JavaScript de la WebView et le Dart de Flutter.
Backend Django REST Framework API centrale. Gère l'authentification, le stockage des apps (.zip), les relations sociales et les médias.
Base de données SQLite (Dev) Stocke les données utilisateurs, les métadonnées des apps et le graphe social.