Initial vault setup
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
---
|
||||
title: Perfice
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, tracking, habitudes, productivity, flutter, dart, sqlite]
|
||||
confidence: medium
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/, https://github.com/saketh-are/perfice]
|
||||
---
|
||||
|
||||
# Perfice 🎯
|
||||
|
||||
> Un habit tracker minimaliste écrit en Dart/Flutter, livré en binaire unique avec SQLite embarqué.
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://perfice.sakethare.me/ |
|
||||
| **GitHub** | https://github.com/saketh-are/perfice |
|
||||
| **License** | AGPL-3.0 |
|
||||
| **Langage principal** | Dart (Flutter) |
|
||||
| **Étoiles GitHub** | ⭐25 |
|
||||
| **Dernière MAJ** | 2026-04-22 |
|
||||
| **Catégorie** | [[cat-tracking]] |
|
||||
|
||||
## Description
|
||||
|
||||
Perfice est un **suivi d'habitudes** qui se veut volontairement épuré : on crée une habitude, on la coche chaque jour, et l'application trace la régularité sur un calendrier. Contrairement à des concurrents plus lourds (Habitica, Loop Habit Tracker côté Android), Perfice mise sur la **simplicité radicale** — pas de gamification, pas de système de points, juste la métrique pure.
|
||||
|
||||
L'application est écrite en **Dart/Flutter** et le serveur de synchronisation est compilé en **binaire unique Go-like** (compilé AOT), ce qui la rend très facile à déployer : un seul fichier exécutable, une base SQLite à côté, et c'est tout. L'interface client (web + mobile) communique via une API REST documentée.
|
||||
|
||||
Le projet supporte les **habitudes mesurables** (compteur, durée, valeur numérique) en plus des simples cases à cocher, ce qui permet de suivre aussi bien « boire 2L d'eau » que « méditer 15 minutes » ou « lire 30 pages ». Les données sont **chiffrées au repos** par défaut.
|
||||
|
||||
## Installation
|
||||
### Via Docker (recommandé)
|
||||
```yaml
|
||||
services:
|
||||
perfice:
|
||||
container_name: perfice
|
||||
image: ghcr.io/saketh-are/perfice:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8085:8085"
|
||||
volumes:
|
||||
- perfice-data:/data
|
||||
environment:
|
||||
- PERFICE_DB_PATH=/data/perfice.db
|
||||
- PERFICE_ENCRYPTION_KEY=changez-moi-32-chars-min
|
||||
|
||||
volumes:
|
||||
perfice-data:
|
||||
```
|
||||
|
||||
### Installation manuelle
|
||||
1. Télécharger le binaire depuis la page Releases (`perfice-server-linux-x64`).
|
||||
2. Créer un dossier `/opt/perfice` et y placer le binaire.
|
||||
3. `chmod +x perfice-server && ./perfice-server` (écoute par défaut sur `:8085`).
|
||||
4. Servir le client web statique (Nginx) pointant vers `perfice-client/`.
|
||||
|
||||
## Configuration
|
||||
|
||||
- Générer une **clé de chiffrement** forte (32 caractères minimum) et l'exporter en variable d'environnement.
|
||||
- Créer le **premier compte** via l'interface web, qui devient administrateur.
|
||||
- Configurer la **fréquence de rappel** (notifications push via Web Push, nécessite VAPID keys).
|
||||
- Définir les **types d'habitudes** globaux : booléen, numérique, durée — chaque utilisateur peut ensuite créer ses propres habitudes basées sur ces types.
|
||||
|
||||
## Alternatives
|
||||
### Open source
|
||||
- [[app-loops]] — habit tracker Telegram-first en self-hosted
|
||||
- **Habitica** — gamifié, RPG-like (le plus connu)
|
||||
- **Loop Habit Tracker** — Android uniquement, open source
|
||||
- **Streaks** — fork communautaire de Loop
|
||||
### Propriétaires
|
||||
- **Streaks (iOS/macOS)** — très poli mais fermé et payant
|
||||
- **Productive** — design léché, abonnement obligatoire
|
||||
|
||||
## Sécurité
|
||||
|
||||
- **Chiffrement côté serveur** des données utilisateur (AES-256) avec la clé d'environnement.
|
||||
- **Authentification** par email/mot de passe (bcrypt), sessions JWT.
|
||||
- **Aucune télémétrie** par défaut — vérifier la config de l'image Docker.
|
||||
- En production, placer **derrière un reverse proxy HTTPS** (Caddy/Traefik).
|
||||
- Sauvegarder régulièrement le fichier SQLite (le chiffrement rend les sauvegardes inopérantes sans la clé — stocker la clé dans un vault).
|
||||
|
||||
## Ressources
|
||||
- Site officiel : https://perfice.sakethare.me/
|
||||
- Dépôt GitHub : https://github.com/saketh-are/perfice
|
||||
- Issues : https://github.com/saketh-are/perfice/issues
|
||||
- selfh.st : https://selfh.st/apps/
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-tracking]]
|
||||
- [[recettes-docker-compose]]
|
||||
Reference in New Issue
Block a user