Live · status OK
OW Agenda · v1.3.1 · GPL-2.0

La prise de rendez-vous WordPress
sans créneaux fantômes.

OW Agenda gère la réservation en ligne, la validation, les rappels et l'agenda quotidien du praticien. Chaque demande de visiteur doit être confirmée par un lien envoyé à son adresse e-mail avant d'occuper une place : un robot n'atteint jamais ton planning. Gratuit, GPL, sans version Pro.

v1.3.1GPL-2.0WordPress 6.3+PHP 7.4+
Pourquoi

Pourquoi encore un plugin de rendez-vous ?

Sur le site d'un cabinet, un formulaire de réservation branché sans garde-fou crée plus de travail qu'il n'en économise. N'importe quel robot remplit un planning public, et la personne qui décroche le téléphone passe sa journée à démêler les rendez-vous réels des demandes qui n'ont jamais existé.

Les plugins établis fonctionnent, mais ils sont tous construits sur le même modèle : une version gratuite volontairement bridée — un seul employé, un seul lieu, une poignée de services — et un abonnement annuel pour retrouver l'usage normal du logiciel. Pour un praticien seul, on paie surtout le droit de sortir de la démo.

OW Agenda part d'un cabinet réel et de trois contraintes : une demande n'existe qu'après confirmation par e-mail, deux visiteurs ne peuvent pas réserver le même créneau, et l'agenda doit se piloter debout entre deux patients, sur un téléphone. Le reste — répertoire clients, invitations, ICS, rappels — découle de ces trois règles.

Des créneaux occupés par personne

Sans validation par e-mail, un formulaire ouvert est un planning que les robots remplissent gratuitement. Ici la demande reste en attente, retient le créneau 45 minutes, et disparaît d'elle-même si le lien n'est jamais cliqué.

Le double-booking du samedi matin

Deux visiteurs sur le même créneau à trois secondes d'intervalle : une simple transaction MySQL ne pose aucun verrou de ligne et enregistre les deux. OW Agenda sérialise la réservation avec un verrou nommé — le second reçoit un message, pas un doublon.

Un back-office inutilisable au comptoir

Entre deux patients, personne n'ouvre wp-admin sur un téléphone. La gestion se fait sur une page de ton site protégée par connexion : vue du jour, demandes en attente, replanification, statuts fait / absent, en quelques appuis du pouce.

Sous le capot

Ce qui change concrètement

Pas de slogans. Voici les décisions techniques qui distinguent ce produit.

Réservation en ligne sur des créneaux réels

Le shortcode [ow_agenda] affiche les 14 prochains jours disponibles, puis les heures libres : choix du jour, du créneau, formulaire court (nom, téléphone, e-mail, message) et case de consentement RGPD. Tu règles la granularité, la durée de consultation, le battement entre deux rendez-vous, le délai minimum et l'horizon de réservation. Tout événement de ton agenda — réservation web, rendez-vous téléphonique saisi à la main, créneau bloqué — retire sa plage des disponibilités.

Double opt-in : les robots n'entrent pas

Une demande de visiteur reste non vérifiée tant que le lien reçu par e-mail n'est pas cliqué. Elle retient le créneau 45 minutes, puis est purgée automatiquement. En amont, le champ piège et l'horodatage du formulaire sont obligatoires — les omettre ne désactive plus rien —, le quota horaire est compté par adresse IPv4 et par préfixe /64 en IPv6, et un plafond limite les demandes non validées sur une même journée.

Validation depuis ta boîte mail

L'e-mail de notification contient deux boutons, Confirmer et Refuser, dont les liens sont signés en HMAC-SHA256 : tu décides en un appui, sans ouvrir WordPress ni te connecter. La validation manuelle est le mode recommandé ; la confirmation automatique reste disponible pour les activités qui n'ont rien à arbitrer.

Agenda mobile-first pour le praticien

Le shortcode [ow_agenda_admin] crée une page « Agenda » sur ton site, protégée par connexion et par une capacité dédiée : vue du jour, demandes en attente, ajout d'un rendez-vous pris par téléphone, blocage de créneaux, replanification, statuts fait et absent. Ajoutée à l'écran d'accueil de ton téléphone, elle se comporte comme une application.

Répertoire clients et invitations de séance

Recherche, création, édition et suppression des fiches clients, alimentées automatiquement par les rendez-vous validés. Pour une séance de suivi, un lien privé nominatif laisse le client choisir sa date lui-même, sur un service et une durée que tu as fixés : l'invitation expire, se consomme une seule fois, et redevient utilisable si le rendez-vous est annulé.

Rappels et calendriers qui ne se perdent pas

E-mails HTML soignés à chaque étape, avec un fichier ICS joint : ton client ajoute le rendez-vous au calendrier de son téléphone d'un geste, une replanification met l'entrée à jour et une annulation la supprime. Le rappel de la veille part dans une fenêtre glissante de 12 à 36 heures et se rattrape à l'exécution suivante ; la tâche horaire se reprogramme seule si elle disparaît.

Comparaison

Face aux alternatives

Données vérifiables. Cocher uniquement ce qui existe vraiment chez le concurrent.

CritèreOW AgendaAmeliaBooklySimply Schedule Appointments
Modèle économiqueGratuit, GPL-2.0Freemium (Pro payant)Freemium (Pro payant)Freemium (Pro payant)
Limites de la version gratuiteAucune : tout est inclusLite : 1 employé, 1 lieu5 services, 1 employéFonctions de base
Clé de licence à activerAucunePour la version ProPour la version ProPour la version Pro
Double opt-in e-mail avant d'occuper le créneauActivé par défautNon annoncéNon annoncéNon annoncé
Confirmer / Refuser depuis l'e-mail, sans connexionLiens signés HMAC-SHA256OuiNon annoncéNon annoncé
Fichier ICS joint aux e-mails du clientREQUEST, mises à jour et CANCEL
Anonymisation automatique des rendez-vous passésIncluse, délai réglableNon annoncéNon annoncéNon annoncé
Gestion quotidiennePage du site, mobile-firstBack-office WordPressBack-office WordPressBack-office WordPress
Intégration

Trois façons d'intégrer un formulaire

Pas de page builder propriétaire forcé. Choisis l'approche qui correspond à ton stack.

[ow_agenda]

// La page « Prendre rendez-vous » est créée automatiquement à l'activation.
// Le même shortcode sert aux invitations de séance : le lien privé envoyé
// à un client existant pointe vers cette page avec son jeton en paramètre.
//
// https://ton-site.be/prendre-rendez-vous/?owag_invite=<jeton>
Questions techniques

Doutes raisonnables, réponses directes

Les créneaux proposés en ligne tiennent-ils compte des rendez-vous pris par téléphone ?

Oui. Tout ce qui figure dans ton agenda occupe le temps qu'il prend : une réservation web, un rendez-vous saisi à la main après un appel, une plage bloquée pour une réunion. Le calcul des disponibilités part de tes horaires d'ouverture, retire ces plages, applique la durée de la prestation, le battement entre deux rendez-vous, le délai minimum avant réservation et l'horizon maximum. Un créneau affiché est un créneau réellement libre.

Comment le plugin empêche-t-il les fausses réservations ?

Par une demande qui n'existe pas tant qu'elle n'est pas confirmée. Le visiteur reçoit un lien de validation ; sans clic, sa demande retient le créneau 45 minutes puis est purgée. S'y ajoutent un champ piège et un horodatage désormais obligatoires — un envoi qui les omet est refusé au lieu de passer sans contrôle —, un quota horaire par adresse IP (agrégé par préfixe /64 en IPv6, où une seule machine dispose sinon de milliards d'adresses) et un plafond de demandes non validées par journée, pour qu'un même visiteur ne puisse pas geler tout ton agenda.

Que se passe-t-il si deux personnes réservent le même créneau en même temps ?

Une seule réservation aboutit. La section critique est sérialisée par un verrou MySQL nommé : la vérification de disponibilité et l'écriture se font sous verrou, ce qu'une simple transaction ne garantissait pas — une lecture nue ne pose aucun verrou de ligne en REPEATABLE READ. Le nom du verrou est dérivé de la base et du préfixe de tables, pour que deux sites d'un même hébergement mutualisé ne se bloquent pas mutuellement. Le second visiteur reçoit une invitation à choisir un autre créneau.

Un client peut-il annuler ou déplacer son rendez-vous lui-même ?

Oui, par le lien présent dans ses e-mails, jusqu'au délai de préavis que tu fixes (24 heures par défaut) ; au-delà, la page l'invite à t'appeler. L'annulation envoie un fichier ICS d'annulation qui retire l'événement de son calendrier, et si le rendez-vous provenait d'une invitation privée, celle-ci redevient utilisable au lieu de rester définitivement consommée.

Comment gérer l'agenda depuis un téléphone ?

Ouvre la page « Agenda » de ton site sur le téléphone, connecte-toi, puis utilise « Ajouter à l'écran d'accueil ». L'interface se comporte alors comme une application : journée en cours, demandes à valider, ajout d'un rendez-vous téléphonique, blocage d'un créneau, replanification, statuts fait et absent. Aucune installation, aucun store, et rien qui sorte de ton hébergement.

Le plugin est-il traduit en français ?

Oui. Depuis la 1.3.1, toutes les chaînes visibles — réglages, pages de réservation et d'annulation, messages de l'API, modèles d'e-mails et interface JavaScript — passent par le domaine de traduction ow-agenda, avec l'anglais comme langue source. Le gabarit languages/ow-agenda.pot est fourni pour les traducteurs, et une traduction française complète a été produite puis soumise à translate.wordpress.org.

Gratuit. Sans astérisque.

Aucune version Pro, aucune clé de licence.

OW Agenda est publié sous licence GPL-2.0. Tout ce que décrit cette page se trouve dans le .zip que tu télécharges : aucune fonctionnalité réservée, aucun abonnement, aucune limite sur le nombre de rendez-vous, d'employés ou de prestations.

  • Tout est inclus : réservation en ligne, double opt-in, invitations de séance, répertoire clients, e-mails ICS et rappels.
  • Le .zip se télécharge sur optionweb.dev. Le plugin n'est pas publié sur wordpress.org : installe-le via Extensions → Ajouter → Téléverser une extension.
  • Aucun service tiers, aucune vérification de licence, aucun traceur : les coordonnées de tes clients restent sur ton hébergement.
  • Le code est sous GPL-2.0, lisible et modifiable : tu peux l'auditer, l'adapter et le faire évoluer, avec ou sans nous.
Conçu par Julien Daniel · Châtelet, Belgique