Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
50ee0a0
BDD files added
Lejusdepom Nov 3, 2025
a4a8e43
Update gitignore
LucasVaugrente Nov 25, 2025
a2d0a55
Refactor: Renommage du projet en "factoscope" et standardisation des …
LucasVaugrente Nov 26, 2025
d5573c3
Effaçage de toutes traces de Mot et MotCroisees
Lejusdepom Dec 2, 2025
6831f95
Merge branch 'main' of https://github.com/LucasVaugrente/ProjetCollec…
Lejusdepom Dec 2, 2025
be48c3a
Labels menu corrigés
Lejusdepom Dec 2, 2025
ef6047e
Changements partiels de la BDD
Lejusdepom Dec 2, 2025
7aed763
Amélioration BDD
Lejusdepom Dec 10, 2025
3b55aff
update separator for Template_Cours.csv and add game template csv
LucasVaugrente Dec 10, 2025
f9b1fbd
Refactor: modularize database, reorganize assets, and implement cours…
LucasVaugrente Jan 11, 2026
734dc19
reformat code
LucasVaugrente Jan 11, 2026
b2835a7
Ajout du contrôleur QCM : gestion de la logique du jeu et navigation …
Ayoub50 Jan 12, 2026
edcf476
Création de la page QCM : structure initiale de l’interface du mini-jeu
Ayoub50 Jan 12, 2026
aa47eb7
Correction légére
Ayoub50 Jan 12, 2026
461d6d2
Mise à jour App.dart : ajout route QCM et renommage du bouton QCM en …
Ayoub50 Jan 12, 2026
275c808
Amélioration JeuQCMView : ajout navigation, validation, score et gest…
Ayoub50 Jan 12, 2026
559cac7
Mise à jour ViewModel QCM : récupération des données, total des quest…
Ayoub50 Jan 12, 2026
a99360c
Réorganisation du module QCM :
Ayoub50 Jan 12, 2026
8f23600
Refactor: enhance AllCoursView with loading state and error handling,…
LucasVaugrente Jan 13, 2026
fa21750
Update: upgrade NDK and Gradle versions, and update Kotlin plugin ver…
LucasVaugrente Jan 13, 2026
eebc5cc
Refactor: update course model and view logic, remove unused media ref…
LucasVaugrente Jan 14, 2026
9eaa48d
Feature: add ListCoursView and update routing in app.dart
LucasVaugrente Jan 18, 2026
8444b81
Feature: add QCM insertion for cours1 in data_initializer.dart
LucasVaugrente Jan 18, 2026
aa39190
Refactor: enhance course navigation and loading logic, add debug prin…
LucasVaugrente Jan 18, 2026
2e43897
Refactor: clean up list module view, improve header layout, and enhan…
LucasVaugrente Jan 18, 2026
5eba7b3
Refactor: improve QCM view and model structure, enhance error handlin…
LucasVaugrente Jan 18, 2026
4ce761c
Feature: add FinCoursView and TransitionQCMView for course completion…
LucasVaugrente Jan 18, 2026
72c446d
Refactor: enhance debug logging in various views and widgets, improve…
LucasVaugrente Jan 18, 2026
adb2fd7
Refactor: clean up imports and fix syntax in contenu_cours_view.dart
LucasVaugrente Jan 18, 2026
96d955a
Feature: add ValidationView for test validation process and update na…
LucasVaugrente Feb 5, 2026
de9092f
add config for url api
LucasVaugrente Feb 5, 2026
90d9e02
add one version of connection to the API by seeing all courses page
LucasVaugrente Feb 5, 2026
ba5ebce
Refonte complète du module QCM : nouvelle structure SQL, contrôleur m…
Ayoub50 Feb 15, 2026
4999665
Refactor: remove debug print statements and enhance error handling in…
LucasVaugrente Feb 15, 2026
bbb1615
Derniere modif
Ayoub50 Feb 16, 2026
a3e1e63
Refactor: update button labels and improve database initialization logic
LucasVaugrente Feb 16, 2026
6181c9c
Finalisation du merge
Ayoub50 Feb 16, 2026
ea964ef
merge Ayoub
Ayoub50 Feb 16, 2026
0aba3b4
mini-jeu : texte à trous
Feb 17, 2026
2cc48e7
Merge pull request #44
LucasVaugrente Feb 17, 2026
677a204
fix bugs
LucasVaugrente Feb 17, 2026
93f74ae
fix unused imports
LucasVaugrente Feb 17, 2026
91535d4
Bouton About + Bandeau FACTOSCOPE.EMI
Lejusdepom Feb 18, 2026
68cc283
Merge branch 'Jules' into dev
Lejusdepom Feb 18, 2026
d545760
Feature: add navigation to ValidationView and enhance layout in ListM…
LucasVaugrente Feb 18, 2026
7582dd1
Add if not exists cloze
LucasVaugrente Feb 18, 2026
9f25d67
add metadata on the 2 others modules
LucasVaugrente Feb 18, 2026
604c7e7
Refactor: clean up comments and adjust font size in ListModuleView
LucasVaugrente Feb 18, 2026
09d074a
EDIT : Bouton About + Bandeau FACTOSCOPE.EMI
Lejusdepom Feb 19, 2026
497a4de
Merge remote-tracking branch 'origin/dev' into dev
Lejusdepom Feb 19, 2026
8e5f894
texte à trous : supprimer bouton 'valider' + page score
Feb 22, 2026
a4c7caf
Merge remote-tracking branch 'origin/dev' into dev
Feb 22, 2026
eecb656
modif: réponse cloze
Feb 22, 2026
5a55633
Merge remote-tracking branch 'origin/dev' into dev
Feb 22, 2026
03c0383
EDIT : A propos page d'accueil & partenaires
Lejusdepom Feb 23, 2026
04bfe07
Merge branch 'dev' of https://github.com/LucasVaugrente/ProjetCollect…
Lejusdepom Feb 23, 2026
bef06de
QCM officiel + page succès + page échec détaillée
Ayoub50 Feb 23, 2026
736889f
QCM officiel + page succès + page échec détaillée
Ayoub50 Feb 23, 2026
5e3106f
update all courses interface, it shows all courses even not downloade…
LucasVaugrente Feb 24, 2026
0fbe7b1
Refactor: update back button to navigate to course list and enhance b…
LucasVaugrente Feb 24, 2026
436b87a
fix: update test duration to 30 minutes in validation rules
LucasVaugrente Feb 24, 2026
f942518
Modif style bouttons ( suivant - precedent )
Ayoub50 Feb 24, 2026
2ee6117
Amelioration QCM (Entrainement et officielle)
Ayoub50 Feb 24, 2026
cf55415
modif cloze
Feb 24, 2026
9a0efec
add content on page
LucasVaugrente Feb 26, 2026
1ba238f
add data courses + add audio on medias
LucasVaugrente Feb 26, 2026
fe8acdc
optimisation de audio/video
LucasVaugrente Feb 26, 2026
0aa7519
add .env
LucasVaugrente Mar 5, 2026
60a6719
feat: implement media download and local storage for courses (it work…
LucasVaugrente Mar 5, 2026
46ca620
Refactoring to remove warnings
LucasVaugrente Mar 7, 2026
99ac1b0
Removing list modules on home screen
LucasVaugrente Mar 7, 2026
21355c0
Refactor: streamline module insertion and remove unused code
LucasVaugrente Mar 7, 2026
0aa74b9
feat: add QCM and Cloze download functionality with local storage
LucasVaugrente Mar 7, 2026
36afc3e
Update Logo app on android + update versions pubyaml
LucasVaugrente Mar 7, 2026
7a77973
Merge branch 'main' into dev
LucasVaugrente Mar 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
API_URL_ANDROID=http://10.0.2.2:8000
API_URL_IOS=http://localhost:8000
API_URL_PHYSICAL=
URL_MEDIAS=
API_TIMEOUT=10
1 change: 1 addition & 0 deletions .flutter-plugins-dependencies 2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"audioplayers_darwin","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/audioplayers_darwin-6.2.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"video_player_avfoundation","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/video_player_avfoundation-2.7.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"audioplayers_android","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/audioplayers_android-5.2.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/path_provider_android-2.2.16/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_android","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/sqflite_android-2.4.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"video_player_android","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/video_player_android-2.8.2/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"audioplayers_darwin","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/audioplayers_darwin-6.2.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"sqflite_darwin","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"video_player_avfoundation","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/video_player_avfoundation-2.7.0/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"audioplayers_linux","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/audioplayers_linux-4.2.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"audioplayers_windows","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/audioplayers_windows-4.2.0/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false}],"web":[{"name":"audioplayers_web","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/audioplayers_web-5.1.0/","dependencies":[],"dev_dependency":false},{"name":"video_player_web","path":"/Users/elhatriayoub/.pub-cache/hosted/pub.dev/video_player_web-2.3.4/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"audioplayers","dependencies":["audioplayers_android","audioplayers_darwin","audioplayers_linux","audioplayers_web","audioplayers_windows","path_provider"]},{"name":"audioplayers_android","dependencies":[]},{"name":"audioplayers_darwin","dependencies":[]},{"name":"audioplayers_linux","dependencies":[]},{"name":"audioplayers_web","dependencies":[]},{"name":"audioplayers_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"sqflite","dependencies":["sqflite_android","sqflite_darwin"]},{"name":"sqflite_android","dependencies":[]},{"name":"sqflite_darwin","dependencies":[]},{"name":"video_player","dependencies":["video_player_android","video_player_avfoundation","video_player_web"]},{"name":"video_player_android","dependencies":[]},{"name":"video_player_avfoundation","dependencies":[]},{"name":"video_player_web","dependencies":[]}],"date_created":"2026-02-15 15:34:16.509165","version":"3.35.5","swift_package_manager_enabled":{"ios":false,"macos":false}}
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/

# IntelliJ related
Expand Down Expand Up @@ -42,4 +44,6 @@ app.*.map.json
/android/app/profile
/android/app/release

build

build
.env
8 changes: 4 additions & 4 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ plugins {
}

android {
namespace = "com.example.seriouse_game"
compileSdk = 35 //flutter.compileSdkVersion
ndkVersion = "25.1.8937393" //flutter.ndkVersion
namespace = "com.example.factoscope"
compileSdk = 36 //flutter.compileSdkVersion
ndkVersion = "26.1.10909125" //flutter.ndkVersion

compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
Expand All @@ -21,7 +21,7 @@ android {

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.example.seriouse_game"
applicationId = "com.example.factoscope"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
Expand Down
21 changes: 11 additions & 10 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="seriouse_game"
android:label="Factoscope"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round">
<activity
android:name=".MainActivity"
android:exported="true"
Expand All @@ -17,12 +18,12 @@
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
Expand All @@ -38,8 +39,8 @@
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
<action android:name="android.intent.action.PROCESS_TEXT" />
<data android:mimeType="text/plain" />
</intent>
</queries>
</manifest>
</manifest>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.example.seriouse_game
package com.example.factoscope

import io.flutter.embedding.android.FlutterActivity

Expand Down
5 changes: 5 additions & 0 deletions android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background" />
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
</adaptive-icon>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background" />
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
</adaptive-icon>
Binary file removed android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 5 additions & 2 deletions android/app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode
setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
Expand All @@ -15,4 +16,6 @@
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

<color name="ic_launcher_background">#F0AE00</color>
</resources>
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
4 changes: 2 additions & 2 deletions android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.2.1" apply false
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
id "com.android.application" version "8.6.0" apply false
id "org.jetbrains.kotlin.android" version "2.1.0" apply false
}

include ":app"
Binary file added assets/icon/icon_android.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions ios/Flutter/Generated 2.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/opt/homebrew/share/flutter
FLUTTER_APPLICATION_PATH=/Users/elhatriayoub/Desktop/PCOl
COCOAPODS_PARALLEL_CODE_SIGN=true
FLUTTER_TARGET=lib/main.dart
FLUTTER_BUILD_DIR=build
FLUTTER_BUILD_NAME=1.0.0
FLUTTER_BUILD_NUMBER=1
EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386
EXCLUDED_ARCHS[sdk=iphoneos*]=armv7
DART_OBFUSCATION=false
TRACK_WIDGET_CREATION=true
TREE_SHAKE_ICONS=false
PACKAGE_CONFIG=.dart_tool/package_config.json
13 changes: 13 additions & 0 deletions ios/Flutter/flutter_export_environment 2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh
# This is a generated file; do not edit or check into version control.
export "FLUTTER_ROOT=/opt/homebrew/share/flutter"
export "FLUTTER_APPLICATION_PATH=/Users/elhatriayoub/Desktop/PCOl"
export "COCOAPODS_PARALLEL_CODE_SIGN=true"
export "FLUTTER_TARGET=lib/main.dart"
export "FLUTTER_BUILD_DIR=build"
export "FLUTTER_BUILD_NAME=1.0.0"
export "FLUTTER_BUILD_NUMBER=1"
export "DART_OBFUSCATION=false"
export "TRACK_WIDGET_CREATION=true"
export "TREE_SHAKE_ICONS=false"
export "PACKAGE_CONFIG=.dart_tool/package_config.json"
2 changes: 1 addition & 1 deletion ios/Runner/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>seriouse_game</string>
<string>factoscope</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
Expand Down
196 changes: 0 additions & 196 deletions lib/DataBase/database_helper.dart

This file was deleted.

File renamed without changes.
Binary file added lib/assets/cfi.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lib/assets/epjt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
Binary file added lib/assets/logo-factoscope_seul_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lib/assets/nothing2hide.jpg
Loading