Arbore est un projet de 4ème et 5ème année - une application complète de jardinage qui vous aide à organiser et entretenir vos jardins avec la puissance de la réalité augmentée et de l'intelligence artificielle.
- 🔍 Identification de plantes avec AR : Scannez et identifiez les plantes en temps réel grâce à la réalité augmentée
- 🤖 Génération d'informations par IA : Obtenez des conseils personnalisés sur l'entretien des plantes grâce à l'IA
- 🌍 Support multilingue : Interface disponible en français, anglais, espagnol et allemand
- 📱 Application mobile native : Interface utilisateur moderne et intuitive sur iOS
- 🔐 Authentification sécurisée : Connexion via Google Sign-In et Firebase Auth
- 📊 Base de données cloud : Stockage sécurisé avec MongoDB et Firebase Firestore
Le projet Arbore est composé de plusieurs modules interconnectés :
Arbore/
├── 📱 ArboreUi/ # Application iOS principale (SwiftUI)
├── 🥽 ArboreARkit/ # Module de réalité augmentée (ARKit)
├── 🔧 ArboreBackend/ # API Backend (Go + Gin + MongoDB)
└── 🤖 AiGenerator/ # Service IA de génération d'informations (Python + FastAPI)
- Technologies : SwiftUI, Firebase, Google Sign-In
- Fonctionnalités : Interface utilisateur principale, authentification, gestion des profils utilisateur
- Localisation : Support de 4 langues (fr, en, es, de)
- Technologies : ARKit, SwiftUI, RoomPlan
- Fonctionnalités : Scan 3D d'objets, visualisation AR, capture de modèles USDZ
- Technologies : Go, Gin Framework, MongoDB
- Fonctionnalités : API RESTful, gestion des données utilisateurs et plantes, intégration Unsplash
- Technologies : Python, FastAPI, OpenAI GPT
- Fonctionnalités : Génération automatique d'informations sur les plantes multilingues
- iOS : Xcode 15+, iOS 17+
- Backend : Go 1.24+, MongoDB
- IA : Python 3.8+, clé API OpenAI
- Services : Compte Firebase, Google Cloud
cd ArboreBackend
# Installation des dépendances
go mod tidy
# Configuration des variables d'environnement
cp .env.example .env
# Éditer .env et remplir les valeurs:
# - ARBORE_API_KEY (clé pour sécuriser l'API)
# - MONGODB_URI (connexion MongoDB)
# - OPENAI_API_KEY (pour génération IA)
# - UNSPLASH_ACCESS_KEY (pour images de plantes)
# Lancement du serveur
go run .cd AiGenerator
# Installation des dépendances
pip install -r requirements.txt
# Configuration de la clé OpenAI
export OPENAI_API_KEY="your_openai_api_key"
# Lancement du service
python main.py-
Configuration des secrets
cd ArboreUi # Copier le template de secrets cp Secrets.xcconfig.example Secrets.xcconfig # Éditer Secrets.xcconfig et remplir les valeurs # ARBORE_API_KEY = votre_clé_api_backend # ARBORE_BACKEND_URL = http://79.137.92.154:8080
-
Ouvrez
ArboreUi.xcworkspacedans Xcode -
Configurez votre fichier
GoogleService-Info.plistFirebase -
Assurez-vous que les permissions caméra sont configurées dans
Info.plist -
Compilez et lancez sur un appareil iOS physique (requis pour ARKit)
- Connexion : Connectez-vous avec votre compte Google
- Scan AR : Utilisez la caméra pour scanner une plante
- Identification : L'IA identifie automatiquement la plante
- Informations : Consultez les conseils d'entretien personnalisés
- Suivi : Organisez votre jardin et suivez vos plantes
POST /api/plants- Créer une nouvelle planteGET /api/plants- Récupérer toutes les plantesGET /api/plants/:id- Récupérer une plante spécifiquePOST /api/users- Créer un utilisateurGET /api/users/:uid- Récupérer un utilisateur
POST /generate- Générer des informations sur une plante
| Composant | Technologies |
|---|---|
| Mobile | SwiftUI, ARKit, Firebase, GoogleSignIn |
| Backend | Go, Gin, MongoDB, Unsplash API |
| IA | Python, FastAPI, OpenAI GPT-3.5/4 |
| Auth | Firebase Auth, Google OAuth |
| Base de données | MongoDB, Firebase Firestore |
| 3D/AR | ARKit, RoomPlan, USDZ |
L'application supporte 4 langues :
- 🇫🇷 Français (fr)
- 🇬🇧 Anglais (en)
- 🇪🇸 Espagnol (es)
- 🇩🇪 Allemand (de)
Ce projet est développé dans le cadre d'un cursus académique. Les contributions sont les bienvenues via :
- Fork du projet
- Création d'une branche feature (
git checkout -b feature/nouvelle-fonctionnalite) - Commit des changements (
git commit -m 'Ajout nouvelle fonctionnalité') - Push vers la branche (
git push origin feature/nouvelle-fonctionnalite) - Ouverture d'une Pull Request
Ce projet est développé dans un cadre éducatif.
Développé par l'équipe ArboreTeam dans le cadre d'un projet de fin d'études.
Arbore - Cultivez votre passion du jardinage avec l'IA et la réalité augmentée 🌱✨