docs: initialisation du projet Planify Mobile

This commit is contained in:
2026-06-06 05:53:12 +02:00
commit 8cd4d10cf1
2 changed files with 152 additions and 0 deletions
+140
View File
@@ -0,0 +1,140 @@
# Planify Mobile
Application Android de gestion de tâches inspirée de [Planify](https://github.com/alainm23/planify), avec synchronisation CalDAV native (Nextcloud, etc.).
## Fonctionnalités
- Gestion de tâches avec projets, sections, labels et sous-tâches
- Synchronisation bidirectionnelle via protocole CalDAV (RFC 4791)
- Compatible Nextcloud Tasks et tout serveur CalDAV générique
- Rappels locaux (absolus et relatifs)
- Récurrence (RRULE iCalendar)
- Vues : Inbox, Today, Scheduled, Projects, Labels
- Mode hors-ligne avec sync au retour de la connexion
## Prérequis
| Outil | Version minimale |
|-------|-----------------|
| Android Studio | Hedgehog (2023.1.1) ou plus récent |
| JDK | 17 |
| Android SDK | API 26 (Android 8.0) minimum, API 34 cible |
| Kotlin | 1.9+ |
| Gradle | 8.4+ |
## Installation
```bash
git clone https://git.goutailler-olivier.com/Gato/Planify-mobile.git
cd Planify-mobile
```
Ouvrir le projet dans **Android Studio** :
1. File → Open → sélectionner le dossier `Planify-mobile`
2. Attendre la synchronisation Gradle (première fois : ~2 min)
3. Lancer l'émulateur ou connecter un appareil (USB debugging activé)
## Lancer l'application
### Sur émulateur
```bash
# Créer un AVD via Android Studio : Tools → Device Manager → Create Device
# Recommandé : Pixel 6, API 33 ou 34
./gradlew installDebug
# ou via Android Studio : Run → Run 'app' (Shift+F10)
```
### Sur appareil physique
1. Activer le mode développeur : Paramètres → À propos → taper 7× sur "Numéro de build"
2. Activer le débogage USB : Paramètres → Options développeur → Débogage USB
3. Connecter via USB et autoriser la connexion
4. Lancer depuis Android Studio ou : `./gradlew installDebug`
## Configurer la synchronisation CalDAV
1. Lancer l'application
2. Ouvrir le menu latéral → icône paramètres
3. Section **Sources****Ajouter un compte CalDAV**
4. Renseigner :
- **URL du serveur** : `https://votre-nextcloud.com` (la découverte `.well-known` est automatique)
- **Nom d'utilisateur** et **mot de passe**
5. Appuyer sur **Tester la connexion**, puis **Enregistrer**
6. Sélectionner les calendriers à synchroniser
7. La première synchronisation démarre automatiquement
### Serveurs testés
| Serveur | Statut |
|---------|--------|
| Nextcloud 27+ | ✅ Supporté |
| Radicale | ✅ Supporté |
| Baikal | ✅ Supporté |
| Apple iCloud | ⚠️ Non testé |
## Structure du projet
```
app/src/main/java/com/planify/mobile/
├── domain/
│ ├── model/ # Entités métier (Task, Project, Label...)
│ └── repository/ # Interfaces des repositories
├── data/
│ ├── local/
│ │ ├── entity/ # Entités Room (@Entity)
│ │ ├── dao/ # Data Access Objects (@Dao)
│ │ ├── converter/ # TypeConverters Room
│ │ └── AppDatabase.kt
│ ├── sync/
│ │ ├── caldav/ # Client CalDAV (HTTP + XML)
│ │ └── vtodo/ # Parser/générateur VTODO
│ └── repository/ # Implémentations des repositories
├── ui/
│ ├── navigation/ # Navigation Compose
│ ├── inbox/ # Vue Inbox
│ ├── today/ # Vue Today
│ ├── project/ # Vue Projet
│ ├── scheduled/ # Vue Scheduled
│ ├── labels/ # Vue Labels
│ ├── task/ # Création/édition tâche
│ ├── settings/ # Paramètres
│ └── components/ # Composants réutilisables
└── di/ # Modules Hilt
```
## Build variants
| Variant | Description |
|---------|-------------|
| `debug` | Logs activés, débogage activé |
| `release` | Optimisé, ProGuard activé |
```bash
./gradlew assembleDebug # APK debug
./gradlew assembleRelease # APK release (nécessite keystore)
./gradlew test # Tests unitaires
./gradlew connectedTest # Tests instrumentés (émulateur requis)
```
## Contribution
Les branches suivent la structure par milestone :
```
main
└── develop
├── milestone/lot-1-architecture
├── milestone/lot-2-navigation
├── milestone/lot-3-taches
├── milestone/lot-4-caldav
├── milestone/lot-5-avancees
└── milestone/lot-6-polish
```
Chaque commit référence l'issue correspondante : `feat: [#X] description`.
## Licence
MIT