--- title: Wakapi created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, statistics, coding-time, wakatime, productivity] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/muety/wakapi] --- # đŸ’» Wakapi > **Serveur de statistiques de temps de codage compatible WakaTime**, open source et auto-hĂ©bergeable. Suivez le temps passĂ© Ă  coder, par projet, par langage, par branche, avec dashboard web et API. ## 📋 Informations GĂ©nĂ©rales | Champ | Valeur | | :--- | :--- | | **Site web** | [wakapi.dev](https://wakapi.dev/) | | **GitHub** | [muety/wakapi](https://github.com/muety/wakapi) | | **License** | MIT | | **Langage** | Go | | **Étoiles GitHub** | 4 336 ⭐ | | **CatĂ©gorie** | [[cat-development\|Development]] | | **Note** | ⚠ 100% open source, **compatibilitĂ© totale avec les plugins WakaTime** (VS Code, JetBrains, Vim, etc.). Pas d'Ă©dition payante. | ## 📝 Description **Wakapi** est un **clone self-hosted de WakaTime** : un service qui mesure et analyse **combien de temps vous passez Ă  coder**, et sur quoi. Comme WakaTime, il fonctionne avec des **plugins / extensions** installĂ©s dans vos IDE (VS Code, IntelliJ, Vim, Sublime, etc.) qui envoient des *heartbeats* anonymes. **Pourquoi Wakapi plutĂŽt que WakaTime (officiel) ?** : - **Auto-hĂ©bergĂ©** : pas d'envoi de donnĂ©es Ă  un serveur tiers - **RGPD-friendly** : donnĂ©es hĂ©bergĂ©es sur votre infra - **Gratuit Ă  100%** (WakaTime officiel est freemium : dashboard public au-delĂ  de 7 jours) - **Open source** : auditable - **MĂȘme plugins** : pas besoin de réécrire la config WakaTime, juste changer l'URL API **FonctionnalitĂ©s** : - **Dashboard web** : temps total, langages, projets, Ă©diteurs, OS, branches - **Heatmap** : contributions par jour (style GitHub) - **Goals** : objectifs quotidiens / hebdo - **Leaderboards** : classement entre membres d'une Ă©quipe - **Projets privĂ©s** : exclus des stats - **API REST** : pour intĂ©grer dans d'autres outils - **Export** : JSON, CSV - **Multi-utilisateurs** : si partagĂ© dans une Ă©quipe - **Notifications** : webhooks, emails - **Graphiques** : durĂ©e, top langages, top projets, top Ă©diteurs **Cas d'usage** : - DĂ©veloppeur solo : suivre sa productivitĂ©, son temps de focus - Equipe : comprendre la rĂ©partition du temps (debug vs feature, dette technique vs nouveau) - Facturation : pour les freelances qui facturent au temps passĂ© - Reporting : gĂ©nĂ©rer des rapports hebdo/mensuels **Plugins compatibles** : tous les Ă©diteurs supportĂ©s par WakaTime (VS Code, JetBrains, Vim, Emacs, Sublime, Atom, Brackets
), il suffit de configurer l'URL API et la clĂ©. ## 🚀 Installation ### Via Docker Compose (recommandĂ©) ```yaml # docker-compose.yml version: '3.8' services: wakapi: image: ghcr.io/muety/wakapi:latest container_name: wakapi restart: unless-stopped ports: - "8080:8080" environment: - WAKAPI_PASSWORD_SALT=*** - WAKAPI_JWT_SECRET=*** volumes: - wakapi-data:/data labels: - "traefik.enable=true" - "traefik.http.routers.wakapi.rule=Host(`wakapi.example.com`)" - "traefik.http.routers.wakapi.entrypoints=websecure" - "traefik.http.services.wakapi.loadbalancer.server.port=8080" networks: - proxy volumes: wakapi-data: networks: proxy: external: true ``` ### Binaire standalone ```bash # TĂ©lĂ©charger la derniĂšre release wget https://github.com/muety/wakapi/releases/latest/download/wakapi-linux-amd64 chmod +x wakapi-linux-amd64 ./wakapi-linux-amd64 ``` ### Configuration du plugin WakaTime (VS Code) Dans `settings.json` de VS Code : ```json { "wakatime.serverUrl": "https://wakapi.example.com", "wakatime.apiKey": "waka_xxxxxxxxxxxxxxxx" } ``` **ClĂ© API** : Ă  rĂ©cupĂ©rer dans `Settings → API Key` du dashboard Wakapi. ## ⚙ Configuration 1. **Premier accĂšs** : crĂ©er un compte via l'UI (`/register`) 2. **ClĂ© API** : copier la clĂ© gĂ©nĂ©rĂ©e automatiquement 3. **Plugins IDE** : configurer l'URL + la clĂ© (voir section installation) 4. **Heartbeat** : envoyĂ© toutes les 2 minutes par dĂ©faut quand un fichier est Ă©ditĂ© 5. **Backups** : DB SQLite par dĂ©faut (le volume `/data`) 6. **Production** : recommandĂ© de migrer vers PostgreSQL pour les comptes nombreux 7. **Reverse geocoding** : optionnel, pour localiser les pays des commits ## 🔗 Alternatives - **WakaTime** (SaaS) — Service officiel, freemium, dashboard public au-delĂ  de 7 jours gratuit - **CodeStats** — Multi-utilisateurs natif, mais pas d'auto-hĂ©bergement trivial - **ActivityWatch** — Time tracking **gĂ©nĂ©ral** (pas dev), open source - **Toggl / Clockify** — Time tracking manuel - **Gource** — Visualisation de l'historique Git (autre approche) - **Kodyfire** — Payant - **TimeTagger** — Auto-hĂ©bergeable, gĂ©nĂ©raliste, time-tracking ## 🔒 SĂ©curitĂ© - **HTTPS obligatoire** : le plugin envoie l'URL des fichiers Ă©ditĂ©s, donc sensible - **ClĂ© API** : Ă  garder secrĂšte, permet l'envoi de heartbeats - **Auth** : login + password (bcrypt), 2FA non natif - **SSO** : OIDC, OAuth GitHub/GitLab - **CSP** : configurer correctement si reverse proxy - **DonnĂ©es sensibles** : noms de fichiers, projets — ne pas exposer publiquement - **Projets privĂ©s** : marquer un repo "privĂ©" dans Wakapi le masque - **Rate limiting** : limiter l'envoi de heartbeats (anti-DOS) ## 📚 Ressources - [Documentation officielle](https://wakapi.dev/docs/) - [GitHub muety/wakapi](https://github.com/muety/wakapi) - [Plugins WakaTime (compatibles)](https://wakatime.com/plugins) - [DĂ©mo en ligne](https://wakapi.dev/) ## 🔗 Pages LiĂ©es - [[cat-development]] — CatĂ©gorie Development - [[app-traefik]] — Reverse proxy - [[app-gitea]] / [[app-forgejo]] / [[app-gitlab]] — Forges (stats par projet) - [[securisation-home-lab]] — Bonnes pratiques - [[recettes-docker-compose]] — Templates Docker