ArchéoQuest est une application mobile participative permettant d’identifier et de documenter des artefacts lithiques (silex, roches) à partir de photos et de données GPS. Les contributions des utilisateurs sont ensuite validées par des archéologues (ou reviewers), ce qui permet d’améliorer progressivement la qualité de la base de données et de gamifier la participation. Dans un deuxième temps du projet, une reconnaissance d'images sera implémentée à partir de la base de données créée pour faciliter le travail des archéologues en triant en amont les soumissions.
-
📸 Capture de photos depuis l’appareil photo
-
📍 Géolocalisation automatique de la découverte
-
📴 Mode hors-ligne (stockage local + synchronisation automatique)
-
📤 Téléversement des artefacts vers Supabase
-
🏷️ Suivi du statut :
pending,validated,rejected -
⭐ Système de points de contribution
-
🔐 Authentification :
- Email / mot de passe
- Google OAuth (non fonctionnel - en cours)
-
Bouton “Mode archéologue” visible uniquement aux reviewers
-
Liste des artefacts en attente de validation
-
Consultation des images en haute qualité
-
Validation ou rejet avec :
- commentaires
- attribution de points (5, 10, 15 ou 20)
-
Mise à jour atomique (artefact + points utilisateur)
- Flutter (Android en priorité)
- Gestion d’état :
provider - Accès caméra :
image_picker - GPS :
geolocator - Détection réseau :
connectivity_plus - Stockage hors-ligne :
Hive
-
Supabase
- Auth (email + Google OAuth)
- PostgreSQL (RLS activé)
- Storage (bucket
artifacts, public pour le MVP) - Fonctions SQL (RPC) pour la validation archéologue
| Champ | Type | Description |
|---|---|---|
| id | uuid | Identifiant |
| user_id | uuid | Auteur |
| image_url | text | URL de l’image |
| latitude / longitude | float | Localisation |
| status | text | pending / validated / rejected |
| reviewer_id | uuid | Reviewer |
| review_comment | text | Commentaire |
| points | int | Points attribués |
| created_at | timestamptz | Date |
| Champ | Type |
|---|---|
| id | uuid |
| points | int |
| role | user / reviewer / admin |
-
Storage
- Bucket
artifactspublic (MVP) - Upload autorisé uniquement dans
auth.uid()/
- Bucket
-
Database
- Les utilisateurs ne voient que leurs artefacts
- Les reviewers peuvent lire et mettre à jour les artefacts
pending
-
Validation réalisée via une fonction SQL sécurisée (
security definer)
- Flutter SDK (stable)
- Un projet Supabase configuré
- Android Studio / device Android
Lancer l’app avec :
flutter run \
--dart-define=SUPABASE_URL=https://XXXX.supabase.co \
--dart-define=SUPABASE_ANON_KEY=YOUR_ANON_KEY- Google OAuth configuré côté Supabase (pas encore sur notre projet)
- Redirect URI :
https://<project>.supabase.co/auth/v1/callback
- Deep link Flutter :
archeoquest://login
lib/
├── main.dart
├── pages/
│ ├── auth_page.dart
│ ├── home_page.dart
│ └── review_page.dart
├── services/
│ ├── supabase_service.dart
│ └── offline_queue.dart
├── models/
│ └── artifact.dart
- 🧠 Reconnaissance assistée (ML / IA)
- 🗺️ Carte interactive des découvertes
- 🏛️ Récompenses (musées, institutions)
- 🧑🏫 Hiérarchie des reviewers
- 📊 Statistiques et historique des validations
- 🔒 Buckets privés + URLs signées
- 📱 Version web (Flutter Web)
- Conception & développement : Louna WARNIER, Élodie CULLIER, Virginie FUSTER et Sébastien DESTANNES
- Projet réalisé dans une démarche éducative, scientifique et citoyenne pour le Hackathon de Tautavel 2025
Projet en cours de développement — licence à définir.