Aller au contenu

Glossaire

Termes Description
Authentification 2FA Implémentation de l'authentification à deux facteurs pour renforcer la sécurité de l'application.
Bun Runtime utilisé pour le backend en TypeScript, offrant de meilleures performances que Node.js.
Caddy Serveur web utilisé pour gérer les certificats SSL et le reverse proxy.
ChatProvider Composant Flutter gérant la communication en temps réel via WebSocket.
Chiffrement de bout en bout Technique de sécurité assurant que seuls les interlocuteurs peuvent lire les messages échangés.
Docker Technologie utilisée pour le déploiement des services backend.
Fastify Framework utilisé pour l'API et le serveur WebSocket.
Firebase Cloud Messaging Service de notifications push utilisé pour envoyer des notifications sur iOS et Android.
Flutter Framework utilisé pour développer le client de l'application.
FlutterSecureStorage Librairie Flutter utilisée pour le stockage sécurisé des clés et autres données sensibles sur les appareils des utilisateurs.
Gitlab CI/CD Outil utilisé pour l'intégration continue et le déploiement.
Gitlab Runner Utilisé pour automatiser la construction de l'application iOS.
Healthcheck Vérifications de l'état du service pour s'assurer que les dépendances, comme la base de données, sont disponibles avant de démarrer l'application.
Hive Base de données locale NoSQL utilisée pour stocker les messages de manière performante.
Jelastic Cloud Plateforme de cloud computing utilisée pour l'hébergement de l'application.
JUnit Format de rapport utilisé pour les résultats de tests dans la pipeline Gitlab.
Lazy loading Technique utilisée par Realm pour améliorer les performances en chargeant les objets uniquement lorsque nécessaire.
Load balancer Fonctionnalité intégrée à Docker Swarm utilisée pour répartir la charge entre plusieurs répliques du service.
Node.JS Environnement d'exécution initialement considéré pour le backend avant de passer à Bun.
Notifications Push Fonctionnalité permettant d'envoyer des notifications en arrière-plan aux utilisateurs.
OpenAPI 3.0 Spécification utilisée pour décrire l'API de l'application.
OWASP ZAP Outil utilisé pour identifier les vulnérabilités potentielles de sécurité.
PlantUML Outil utilisé pour créer le diagramme de la base de données.
PreKeysStore Composant de stockage des clés publiques utilisé pour gérer les clés de chiffrement dans l'application.
Prisma ORM utilisé pour interagir avec la base de données et générer les migrations.
Protocole Signal Protocole de chiffrement sécurisé de bout en bout, utilisé pour sécuriser les communications.
Realm Base de données locale NoSQL utilisée pour stocker les messages de manière performante.
SecureStorage Utilisé pour stocker des données de manière sécurisée sur les appareils des utilisateurs.
SecureStorageManager Gestionnaire de stockage sécurisé implémenté pour gérer les clés et les données sensibles dans Flutter.
SessionBuilder Composant de la librairie Signal utilisé pour construire des sessions chiffrées entre utilisateurs.
Typescript Langage utilisé pour le développement du backend.
UUIDv4 Type d'identifiant utilisé pour les utilisateurs, permettant d'empêcher les attaques par devinette des identifiants.
Vitest Framework utilisé pour les tests unitaires du serveur Missive.
WebCrypto API de chiffrement native à Node.JS, non disponible sur React Native, influençant le choix de Flutter pour le développement multi-plateformes.