Cette section présente les principales technologies utilisées dans le développement de l’application Nexus. Le projet repose sur une architecture moderne combinant plusieurs langages, frameworks et outils adaptés aux besoins du système.

Backend

Le backend est en PHP et repose sur une API REST. Il utilise un ensemble de technologies permettant de structurer le code, gérer les données et assurer la sécurité :

  • PHP (>= 8.2) : langage principal côté serveur

  • Slim 4 : framework léger pour la gestion des routes HTTP

  • PHP-DI : gestion de l’injection de dépendances

  • JWT (JSON Web Token) : authentification sécurisée des utilisateurs

  • PDO / PostgreSQL : accès et gestion de la base de données

  • Monolog : gestion des logs

  • PHPMailer : envoi d’emails

Des outils de qualité et de test sont également utilisés, tels que PHPUnit et PHPStan.

Frontend web

L’interface utilisateur web est développée avec des technologies modernes orientées performance et expérience utilisateur :

  • Vue.js 3 : framework JavaScript pour la création d’interfaces dynamiques

  • Vue Router : gestion de la navigation

  • Vite : outil de build et serveur de développement rapide

  • Axios : communication avec l’API

  • qrcode.vue : génération de QR codes

Des outils de qualité du code comme ESLint sont également utilisés.

Application mobile

L’application mobile est développée avec Flutter, permettant une compatibilité multiplateforme :

  • Flutter / Dart : framework mobile

  • http : communication avec l’API

  • qr_flutter : affichage de QR codes

  • mobile_scanner : lecture de QR codes

  • shared_preferences : stockage local

  • permission_handler : gestion des permissions

L’interface utilisateur suit les principes du Material Design.

Environnement et déploiement

Le projet utilise plusieurs outils pour le développement et le déploiement :

  • Docker / Docker Compose : conteneurisation et orchestration

  • nginx : serveur web pour le frontend

  • PostgreSQL : système de gestion de base de données

  • Adminer : interface de gestion de base de données

  • Mailpit : outil de test des emails

Des outils de développement comme Node.js, Composer, Flutter SDK et Git sont également nécessaires. L’ensemble de ces technologies permet de construire une application complète, performante et évolutive, répondant aux besoins du projet Nexus.