diff --git a/frontend/app_student/.env.dist b/frontend/app_student/.env.dist new file mode 100644 index 0000000..4873f58 --- /dev/null +++ b/frontend/app_student/.env.dist @@ -0,0 +1,2 @@ +DEV_API_URL= +PROD_API_URL= \ No newline at end of file diff --git a/frontend/app_student/.gitignore b/frontend/app_student/.gitignore index 4dfa933..8049450 100644 --- a/frontend/app_student/.gitignore +++ b/frontend/app_student/.gitignore @@ -43,4 +43,8 @@ app.*.map.json /android/app/release # FVM Version Cache -.fvm/ \ No newline at end of file +.fvm/ + +# Env file +/.env +/.env.local \ No newline at end of file diff --git a/frontend/app_student/README.md b/frontend/app_student/README.md index 65bb4be..2bac71e 100644 --- a/frontend/app_student/README.md +++ b/frontend/app_student/README.md @@ -1,12 +1,14 @@ # Application Flutter pour l'emploi du temps et les notes - Groupe 3iL -Ce projet est une application mobile développée en Flutter par des étudiants du Groupe 3iL. Elle vise à fournir aux étudiants un accès facile à leur emploi du temps et à leurs notes. +Ce projet est une application mobile développée en Flutter par des étudiants du Groupe 3iL. Elle +vise à fournir aux étudiants un accès facile à leur emploi du temps et à leurs notes. ## Configuration ### Environnements -L'application est configurée pour fonctionner dans deux environnements différents : développement (dev) et production (prod). Chaque environnement utilise une API distincte. +L'application est configurée pour fonctionner dans deux environnements différents : développement ( +dev) et production (prod). Chaque environnement utilise une API distincte. - **Dev**: Utilise une API de développement pour tester et déboguer l'application. - **Prod**: Utilise une API de production pour une utilisation en direct. @@ -17,7 +19,9 @@ Ce projet utilise Flutter version 3.19.2. ## Internationalisation (i18n) -L'application utilise la fonctionnalité de localisation (l10n) de Flutter pour supporter plusieurs langues. N'oubliez pas de générer les fichiers de localisation en exécutant `flutter gen-l10n` avant de construire l'application. +L'application utilise la fonctionnalité de localisation (l10n) de Flutter pour supporter plusieurs +langues. N'oubliez pas de générer les fichiers de localisation en exécutant `flutter gen-l10n` avant +de construire l'application. ## Pré-requis @@ -25,11 +29,21 @@ Avant de pousser votre code, assurez-vous de respecter les points suivants : - Utilisez `dart format` pour formater votre code. - Exécutez `flutter analyze` pour détecter tout problème dans votre code. -- Assurez-vous d'exécuter `pub get` pour installer toutes les dépendances du projet. +- Assurez-vous d'exécuter `flutter pub get` pour installer toutes les dépendances du projet. + +### Variables d'environnement + +Pour que l'application fonctionne correctement, vous devez définir les variables d'environnement +suivantes dans un fichier `.env` à la racine du projet : + +- `API_URL_DEV`: URL de l'API de développement. +- `API_URL_PROD`: URL de l'API de production. ## Contributions -Les contributions des autres étudiants sont les bienvenues! N'hésitez pas à proposer des améliorations, des corrections de bugs ou de nouvelles fonctionnalités en soumettant des pull requests. +Les contributions des autres étudiants sont les bienvenues! N'hésitez pas à proposer des +améliorations, des corrections de bugs ou de nouvelles fonctionnalités en soumettant des pull +requests. ## Licence diff --git a/frontend/app_student/lib/config/dev_config.dart b/frontend/app_student/lib/config/dev_config.dart index af2b236..0766185 100644 --- a/frontend/app_student/lib/config/dev_config.dart +++ b/frontend/app_student/lib/config/dev_config.dart @@ -1,6 +1,8 @@ +import 'package:flutter_dotenv/flutter_dotenv.dart'; + import 'config.dart'; class DevConfig extends Config { @override - String get apiUrl => 'https://api-dev.lukasvalois.com'; + String get apiUrl => dotenv.env['DEV_API_URL'] ?? 'http://localhost:8000'; } diff --git a/frontend/app_student/lib/config/prod_config.dart b/frontend/app_student/lib/config/prod_config.dart index 31e87e0..fbf9831 100644 --- a/frontend/app_student/lib/config/prod_config.dart +++ b/frontend/app_student/lib/config/prod_config.dart @@ -1,6 +1,8 @@ +import 'package:flutter_dotenv/flutter_dotenv.dart'; + import 'config.dart'; class ProdConfig extends Config { @override - String get apiUrl => 'https://api.lukasvalois.com'; + String get apiUrl => dotenv.env['PROD_API_URL'] ?? 'http://localhost:8000'; } diff --git a/frontend/app_student/lib/generated/assets.dart b/frontend/app_student/lib/generated/assets.dart deleted file mode 100644 index 670f1c5..0000000 --- a/frontend/app_student/lib/generated/assets.dart +++ /dev/null @@ -1,9 +0,0 @@ -///This file is automatically generated. DO NOT EDIT, all your changes would be lost. -class Assets { - Assets._(); - - static const String images3ilLogo = 'assets/images/3il-logo.jpg'; - static const String imagesCalendar = 'assets/images/calendar.svg'; - static const String imagesDisconnect = 'assets/images/disconnect.svg'; - static const String imagesProfil = 'assets/images/profil.svg'; -}