--- title: Dribdat created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, tracking, hackathon, evenements, flask, python, civic-tech] confidence: high contested: false sources: [https://selfh.st/apps/dribdat, https://github.com/dribdat/dribdat] --- # Dribdat > Une plateforme ludique et auto-hébergée pour organiser et animer des hackathons, sprints civiques et événements d'innovation ouverte, avec suivi temps réel des projets. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://dribdat.cc/ | | **GitHub** | https://github.com/dribdat/dribdat | | **License** | MIT | | **Langage principal** | Python (Flask) | | **Étoiles GitHub** | ⭐85 | | **Dernière MAJ** | 2026-04-19 (v0.9.4) | | **Catégorie** | [[cat-tracking]] | ## Description Dribdat est né dans l'écosystème **civic tech** suisse pour répondre à un besoin précis : **fluidifier l'organisation de hackathons** (OpendataCH, MakeOpenData, SmartCity…) en fournissant un « challenge board » centralisé, visuel et engageant. Là où un tableau Trello ou un Google Doc se révèle vite chaotique avec 50+ participants, Dribdat structure l'événement en challenges documentés, équipes auto-organisées et progression visible en temps réel. Le **cycle de vie complet d'un événement** est supporté : annonce, publication des challenges (description, ressources, mentors, prix), inscription des participants, formation d'équipes, soumission des projets, suivi de progression par étapes (idea → design → prototype → demo), jusqu'à la galerie des résultats. Chaque projet est associé à un **challenge parent** et à des **posts** qui documentent l'avancement (texte, images, liens). L'**agrégation automatique** depuis Git, Forgejo, Etherpad ou autres dépôts permet de peupler le projet sans ressaisie. L'écosystème d'**intégrations** est riche pour un projet de cette taille : Slack, Mattermost, Discord, webhooks. La v0.9.4 a introduit un modèle « **Resource** » permettant d'attribuer explicitement les outils, datasets et modèles d'IA utilisés par chaque projet — une réponse pragmatique à l'ère de l'IA générative et de la nécessité de transparence. Le frontend par défaut est Bootstrap 5, mais un frontend alternatif moderne en Vue.js (**Backboard**) est disponible séparément. L'instance supporte aussi bien un hackathon ponctuel qu'un suivi long terme d'**équipes hexagonales** (« hexagonal teams », structure d'organisation horizontale). ## Installation ### Via Docker Compose (SQLite, démarrage rapide) ```yaml services: dribdat: container_name: dribdat image: dribdat/dribdat:latest restart: unless-stopped ports: - "5000:5000" volumes: - dribdat-data:/usr/src/app/data environment: - DRIBDAT_ENV=production - DRIBDAT_SECRET=change...on - DRIBDAT_SQLALCHEMY_DATABASE_URI=sqlite:////usr/src/app/data/dribdat.db volumes: dribdat-data: ``` Lancer `docker compose up -d` puis visiter `http://localhost:5000`. **Le premier utilisateur inscrit devient automatiquement administrateur** — créer son compte dès l'ouverture. ### Via Ansible / Heroku / PaaS Le projet fournit des playbooks Ansible et un `Procfile` Heroku, ce qui permet un déploiement sur **Dokku**, **Fly.io**, **Scalingo** et autres PaaS compatibles. ### Installation manuelle 1. Python 3.10+ et Poetry 2. `git clone https://github.com/dribdat/dribdat` 3. `poetry install` 4. Configurer `.env` (SECRET, DATABASE_URL) 5. `poetry run python manage.py db upgrade` 6. `poetry run gunicorn dribdat.app:app` ## Configuration - **Compte admin** : le premier inscrit a tous les droits, créer son compte dès l'instance fraîche. - Configurer l'**événement courant** dans l'admin : dates, challenges, équipe organisatrice, branding. - Personnaliser le **thème** via l'admin (couleurs, logo, page d'accueil). - Brancher les **intégrations** : webhook Git/Forgejo pour sync auto, webhooks Slack/Discord pour notifications. - Activer l'**envoi d'emails** (SMTP) pour les invitations et réinitialisations de mot de passe. - **Sauvegarder** le volume `dribdat-data` (la base SQLite y est contenue). ## Alternatives ### Open source - **Taiga** —项目管理 agile, pas spécifique hackathon mais très utilisé pour des sprints - **Kanboard** — kanban générique auto-hébergé - **Leantime** —项目管理 pour équipes créatives, peu d'événementiel - **Open Event Server** (FOSSASIA) — plateforme événementielle généraliste (conférences, non hackathons) ### Propriétaires - **Devpost** — la plateforme dominante de hackathons en ligne, freemium avec restrictions - **Eventbrite** — billetterie événementielle, pas un challenge board - **Hackathon.io** — plateforme communautaire, peu d'auto-hébergement ## Sécurité - **Premier compte = admin** : créer votre compte en premier, **désactiver l'inscription publique** ensuite si l'événement est sur invitation. - **HTTPS obligatoire** en production (Traefik/Caddy) — les mots de passe transitent en clair sinon. - Le **SECRET** Flask doit être une valeur aléatoire forte (32+ caractères). - Si vous utilisez l'**agrégation Git** avec des dépôts privés, configurer des **tokens d'accès** dédiés et limiter les scopes. - Les **uploads** (images de projets) sont stockés dans le volume `data` : inclure dans les sauvegardes. - **Sauvegardes SQLite** régulières (cron + copie hors-site) — toute la progression y est. ## Ressources - Site officiel : https://dribdat.cc/ - Whitepaper : https://dribdat.cc/whitepaper - Démo en ligne : https://demo.dribdat.cc/ - Dépôt GitHub : https://github.com/dribdat/dribdat - Frontend alternatif (Backboard) : https://github.com/dribdat/backboard - Liste awesome-hackathon : https://github.com/dribdat/awesome-hackathon ## Pages Liées - [[cat-tracking]] - [[recettes-docker-compose]]