Accès médecin — entrez votre code PIN
Premier accès : définissez un code PIN à 6 chiffres
Agenda du cabinet
Semaine du · Cabinet de médecine générale, Bruxelles
Consultation (15 min)
Prise de sang (5 min)
🩸 Fenêtre prise de sang : 08:00–08:15
Fermé / Hors horaire
Prochains rendez-vous
Prendre rendez-vous Afspraak maken Book an appointment
Cabinet Dr. Blinder · Médecin généraliste · Bruxelles Kabinet Dr. Blinder · Huisarts · Brussel Dr. Blinder's Practice · General Practitioner · Brussels
1 · Type de rendez-vous Type afspraak Appointment type
🩺
ConsultationConsultatieConsultation
15 minutesminutenminutes
🩸
Prise de sangBloedafnameBlood test
5 min · 08:00–08:15
👆 Choisissez un type pour voir le calendrier 👆 Kies een type om de agenda te zien 👆 Choose a type to see the calendar

Rendez-vous confirmé !Afspraak bevestigd!Appointment confirmed!

Configuration des horaires
Définissez vos plages de consultation pour chaque jour de la semaine.
🔐 Sécurité — Authentification
Code PIN
Pour changer de PIN, verrouillez l'app et entrez un nouveau code à 6 chiffres (premier accès)
Face ID / Touch ID
Chargement…
🩸 Plage horaire — Prises de sang

Les prises de sang ne sont autorisées que pendant cette fenêtre. En dehors, seules les consultations sont proposées.

🩸 Actuellement : 08:00 – 08:15 · 3 créneaux de 5 min · Consultations dès 08:15
Horaires d'ouverture
📅 Fermetures & Congés

Bloquez un jour ou une période entière. Les créneaux concernés disparaîtront automatiquement de l'agenda patient.

Type de fermeture
Aucune fermeture planifiée.
👥 Base de données patients
Importez votre fichier Excel/CSV · Les nouveaux patients s'ajoutent automatiquement à chaque réservation
📂 Importer votre fichier patients (Excel / CSV)

Glissez-déposez votre fichier ou cliquez pour le sélectionner.
Colonnes reconnues automatiquement : Prénom, Nom, Téléphone, Email (dans n'importe quel ordre, avec ou sans accents).

📄
Cliquez ou glissez votre fichier ici
.csv · .xlsx · .xls · .txt
📋 Format attendu (exemple) :
Prénom;Nom;Téléphone;Email
Marie;Dupont;0475123456;marie@mail.be
Jean;Martin;+32 477 98 76 54;jean@gmail.com
✅ Séparateur ; ou , détecté automatiquement · Toutes les variantes de noms de colonnes acceptées
0
Patients total
0
Importés (CSV)
0
Ajoutés via agenda
Liste des patients
Aucun patient pour l'instant. Importez votre fichier CSV ci-dessus.
🔒 Note RGPD : Ces données sont stockées uniquement dans la mémoire de votre navigateur (session en cours) et ne sont pas envoyées vers un serveur externe. Pour une persistance RGPD-conforme à long terme, elles devront être migrées vers votre base MySQL OVH avec chiffrement et politique de rétention (10 ans max pour données médicales belges).
Patients blacklistés
Ces patients ne pourront plus réserver en ligne. Leur numéro de téléphone est bloqué à la réservation.
🚫 Ajouter un patient
Le patient recevra une erreur générique à la réservation.
⚖️ Note légale (RGPD)

La blacklist est stockée localement dans cet outil et n'est visible que par vous. Conformément au RGPD, vous avez le droit de refuser un patient pour des raisons objectives (impayés, comportement), mais ce registre constitue un traitement de données personnelles. Il est recommandé de ne pas y inscrire de motifs médicaux et de pouvoir justifier chaque inscription.

Liste des patients bloqués
0
Aucun patient blacklisté.
Export Calendrier
Synchronisez vos rendez-vous avec Apple Watch, iCloud, Google Calendar ou tout client CalDAV.
ℹ️
Synchronisation automatique — disponible après mise en ligne
L'abonnement automatique (Apple Watch, Google Calendar) nécessite que l'agenda soit hébergé sur un serveur web. En attendant, utilisez le téléchargement .ics ci-dessous — il fonctionne immédiatement avec tous les calendriers.
✅ Téléchargement .ics — Fonctionne maintenant

Téléchargez un fichier .ics et double-cliquez dessus pour l'importer dans votre calendrier (Apple Calendrier, Google Calendar, Outlook…).

Sur Mac/iPhone : double-cliquez sur le fichier → "Ouvrir avec Calendrier" → les RDV s'importent.
Sur Google Calendar : Paramètres → Importer → sélectionnez le fichier .ics.

📡 Synchronisation automatique — après mise en ligne sur blinder.be

Une fois votre agenda hébergé sur OVH, copiez cette URL pour créer un calendrier abonné (mis à jour automatiquement) :

webcal://blinder.be/agenda.html
🍎
Apple / iCloud
iCal · Apple Watch
🗓
Google Calendar
Synchronisation Gmail
📄
Fichier .ICS
Téléchargement direct
Instructions Apple Calendrier / Apple Watch
  1. Maintenant (avant mise en ligne) : téléchargez le .ics ci-dessus → double-cliquez → "Importer" dans Calendrier
  2. Après mise en ligne : iPhone → Calendrier → Ajouter un calendrier → Abonnement au calendrier → collez l'URL webcal
  3. Le calendrier se synchronise automatiquement et apparaît sur Apple Watch
Instructions Google Calendar
  1. Maintenant : calendar.google.com → Paramètres (⚙️) → Importer et exporter → Importer → sélectionnez le .ics
  2. Après mise en ligne : icône + à côté de "Autres agendas" → À partir de l'URL → collez l'URL webcal
Notifications automatiques
Confirmations et rappels par email uniquement — powered by Brevo · Plan gratuit (300 emails/jour)
⚠️
Configuration requise
Entrez votre clé API Brevo ci-dessous. En attendant, les notifications sont simulées.
🚀
Démarrer avec Brevo en 3 étapes
Gratuit jusqu'à 300 emails/jour · Aucune carte bancaire · RGPD européen
① Créer un compte
brevo.com → inscription gratuite → vérifier votre adresse email expéditeur
② Récupérer la clé API
Paramètres → Clés API → Générer une clé → copier ici
③ Vérifier le domaine
Expéditeurs → Domaines → Ajouter votre domaine pour éviter les spams
🔑 Configuration Brevo
Paramètres Brevo → Clés API → Générer une nouvelle clé
⚙️ Règles d'envoi
✅ Confirmation de réservation
Email dès qu'un RDV est créé
🔔 Rappel 24h avant
Email la veille du RDV à 18h
❌ Notification d'annulation
Email si RDV annulé par le cabinet
👁 Aperçu des emails
📋 Journal des envois
PatientTypeStatutDate
Marie BernardConfirmationEnvoyéAujourd'hui 08:12
Jean LeroyRappel 24hEnvoyéHier 18:00
Sophie MartinRappel 24hEn attenteDemain 18:00
🛠 Code backend Node.js — prêt à déployer

Installez avec npm install @getbrevo/brevo node-cron express

// server.js — Backend notifications email Brevo (Node.js + Express) const express = require('express'); const cron = require('node-cron'); const Brevo = require('@getbrevo/brevo'); // ─── Init client Brevo ────────────────────────────── const emailApi = new Brevo.TransactionalEmailsApi(); Brevo.ApiClient.instance.authentications['api-key'].apiKey = process.env.BREVO_API_KEY; const SENDER = { name: process.env.BREVO_FROM_NAME, email: process.env.BREVO_FROM_EMAIL }; const TEL = '0475 20 10 12'; // ─── Helper email ──────────────────────────────────── async function sendEmail(to, subject, html) { const msg = new Brevo.SendSmtpEmail(); msg.sender = SENDER; msg.to = [{email: to}]; msg.subject = subject; msg.htmlContent = html; return emailApi.sendTransacEmail(msg); } function dateFr(dateStr) { return new Date(dateStr + 'T00:00:00').toLocaleDateString('fr-BE', {weekday:'long',day:'numeric',month:'long'}); } // ─── 1. CONFIRMATION ──────────────────────────────── async function sendConfirmation(appt) { if (!appt.email) return; const d = dateFr(appt.date); const type = appt.type === 'consult' ? 'Consultation (15 min)' : 'Prise de sang (5 min)'; await sendEmail(appt.email, `✅ Votre rendez-vous est confirmé — ${d} à ${appt.time}`, emailHTML('confirm', appt, d, type)); } // ─── 2. RAPPEL 24H (cron 18h chaque soir) ─────────── cron.schedule('0 18 * * *', async () => { const rdvs = await db.getAppointmentsByDate(getTomorrow()); for (const a of rdvs) { if (!a.email) continue; const d = dateFr(a.date), type = a.type === 'consult' ? 'Consultation' : 'Prise de sang'; await sendEmail(a.email, `🔔 Rappel — Votre RDV est demain à ${a.time}`, emailHTML('rappel24', a, d, type)); } }); // ─── 3. ANNULATION ────────────────────────────────── async function sendAnnulation(appt) { if (!appt.email) return; const d = dateFr(appt.date); const type = appt.type === 'consult' ? 'Consultation' : 'Prise de sang'; await sendEmail(appt.email, `❌ Annulation de votre rendez-vous du ${d}`, emailHTML('annul', appt, d, type)); } // ─── .env ─────────────────────────────────────────── // BREVO_API_KEY=xkeysib-xxxxxxxxxxxxxxxxxxxx // BREVO_FROM_EMAIL=raphblinder@gmail.com // BREVO_FROM_NAME=Dr. Blinder — Cabinet Bruxelles