Prise de rendez-vous en ligne : Outils libres (2/3)

Dans le cadre d’une veille technologique pour un de nos clients publics, nous avons étudié le sujet de la prise de rendez-vous en ligne. Il s’agit de permettre la réservation d’un RDV avec un agent public pour réaliser les démarches administratives. L’article suivant constitue la 2ème partie sur les outils libres du marché.

1. Critères de sélection

Compte tenu des besoins de l’Administration, nous avons retenu les critères suivants dans le choix des outils de gestion de prise de rendez-vous :

  • Code source ouvert pour permettre un développement complémentaire de l’outil
  • Solution entièrement en ligne, hébergée sur un serveur interne et fonctionnant indépendamment de l’éditeur
  • Bonne couverture fonctionnelle des besoins de l’Administration ou bon socle technique

2. EASY!APPOINTMENTS

Pays d’origine : Grèce / Allemagne

Licence : GPLv3

Date de création : 2013

Technologie : PHP / HTML

Site officiel : http://easyappointments.org/

easyappointments

2.1. Présentation

Créé en 2013, EASY!APPOINTMENTS est un projet open source porté par Alex Tselegidis, développeur d’origine grecque résidant en Allemagne. La solution se veut la plus simple d’utilisation possible. La preuve est son interface très minimaliste avec un nombre réduit de paramètres.

EASY!APPOINTMENTS est un projet open source sans modèle économique. Il est possible d’utiliser et de modifier librement et sans restriction la solution. Contrairement à BOOKED, EASY!APPOINTMENTS est dédiée à la gestion de prise de rendez-vous avec deux interfaces : une pour la réservation en ligne et une pour la gestion du service.

La solution ne propose aucun support professionnel. La seule assistance possible se fait via le forum1 en anglais relativement actif. Celui-ci possède à ce jour plus de 200 sujets écrits par 200 membres. Le nombre de posts dépasse la cinquantaine par mois. Il n’y a cependant qu’un seul contributeur sur la plateforme Github de la solution2.

easyappointment2

Illustration 1: Interface de EASY!APPOINTMENTS


2.2. Fonctionnalités

2.2.1. Prise de rendez-vous en ligne

La prise de rendez-vous se fait en quatre étapes simples :

  • Le choix du service puis le choix du fournisseur correspondant
  • Le choix de la date et de l’heure souhaité selon les disponibilités du fournisseur
  • La saisie des informations concernant l’utilisateur
  • La confirmation du rendez-vous

easyappointment3

Illustration 2: Interface de réservation en ligne de EASY!APPOINTMENTS


Un e-mail de notification est envoyé lorsque le rendez-vous est confirmé par l’utilisateur. Celui-ci pourra cliquer sur le lien proposé pour modifier ou annuler le rendez-vous. En cas de changement, l’agent d’accueil en charge est notifié par e-mail.

EASY!APPOINTMENTS ne permet pas d’afficher la disponibilité par service (combinaison de plusieurs guichets offrant un même service). Il est cependant très facile de revenir en arrière et choisir un autre guichet pour consulter la disponibilité des autres guichets offrant le même service.

Un développement complémentaire est nécessaire pour que l’utilisateur puisse avoir plusieurs choix de service (lieu de résidence, motif et sous-motifs de demande).

2.2.2. Accueil de l’application côté agent

EASY!APPOINTMENTS propose un système de gestion des utilisateurs simples avec 3 niveaux :

  • Les administrateurs qui ont un accès complet à tout le système de gestion des prises de rendez-vous. Ce sont les seuls à pouvoir modifier les plages horaires et à modifier les accès des autres utilisateurs.
  • Les fournisseurs sont ceux qui offrent un ou plusieurs services. Chacun possède son propre agenda et peut modifier les réservations qui lui ont été attribuées. Dans le contexte de l’Administration, ils pourraient s’apparenter à des guichets d’accueil.
  • Les secrétaires sont des utilisateurs qui peuvent gérer l’agenda d’un ou plusieurs fournisseurs. Dans le contexte de l’Administration, ils pourraient s’apparenter à des agents.

Nous voyons donc que EASY!APPOINTMENTS ne gère pas les différents profils d’habilitation. De plus la solution n’est pas capable de gérer nativement des structures composées de plusieurs guichets à la fois.

2.2.3. Organisation du service

L’administrateur a la possibilité de :

  • Modifier individuellement le planning d’un guichet (fournisseur) à partir d’un modèle par défaut
  • Attribuer à un guichet un ou plusieurs types de service de durée différente
  • Déléguer la gestion des guichets à un ou plusieurs secrétaires qui peuvent consulter, ajouter ou modifier les rendez-vous attribués aux guichets

2.2.4. Planification des disponibilités

EASY!APPOINTMENTS est capable de personnaliser un agenda par guichet, mais seulement à partir d’un modèle d’agenda par défaut. En pratique, il faudra donc changer manuellement l’agenda pour chaque guichet. Il n’est pas possible de définir la période d’ouverture des réservations ou le délai de réservation minimum avant le rendez-vous.

2.2.5. Gestion des rendez-vous et délégation

EASY!APPOINTMENTS permet de consulter, modifier et annuler un rendez-vous. La recherche d’un rendez-vous n’est cependant pas aisée car il n’y a pas de numéro d’identification. Les délégations des RDV peuvent se faire aux secrétaires, mais pas de manière différenciée en fonction du motif.

2.2.6. Accueil des usagers, pilotage, couplage GFA

Il est possible de voir le planning de la journée, de la semaine ou du mois pour les guichets souhaités à l’aide des filtres. L’indication des arrivées n’est pas présente par défaut.

Il n’est pas possible de générer des rapports ou des statistiques. Le couplage avec le GFA n’est pas disponible.

2.3. Intégration

Le déploiement de EASY!APPOINTMENTS nécessite obligatoirement un serveur de type AMP (Apache v2.4, MySQL v5.5.24, PHP v5.3). L’authentification LDAP est possible. Un travail très important est nécessaire pour développer les fonctionnalités manquantes en particulier une API pour pouvoir communiquer avec les référentiels de l’Administration et un système de gestion des habilitations avancé pour répondre à l’hétérogénéité des services de l’Administration.

2.4. Conclusion

EASY!APPOINTMENTS a l’avantage d’avoir une interface de gestion et de réservation très simple à utiliser. Cependant elle n’est pas adaptée nativement à une utilisation dans une grande structure comme l’Administration. Il manque un certain nombre de fonctionnalités pour gérer les habilitations des agents et l’hétérogénéité des services.

EASYAPPOINTMENTS peut éventuellement constituer un socle technique de départ pour développer plus rapidement un outil interne de gestion de prise de rendez-vous plus avancé.

3. BOOKED

Pays d’origine : États-Unis

Licence : GPLv3

Date de création : 2004

Technologie : PHP / HTML

Site officiel : https://www.bookedscheduler.com/

Site de l’éditeur : http://www.twinkletoessoftware.com/

booked

3.1. Présentation

Créée en 2004, la solution plus connue sous son ancien nom phpScheduleIt est partie d’un projet open source communautaire fondée par Nick Korbel. C’est l’une des solutions libres de planification de ressources en ligne les plus populaires et complètes. Depuis 2013, BOOKED est éditée par Twinkle Toes Software, société basée à Chicago aux États-Unis et dirigiée par Nick Korbel. Elle offre des services professionnels (hébergement, développement complémentaire, support, installation) à destination des entreprises. La solution en soi est 100 % open source (gratuit d’utilisation et modifiable).

La communauté de BOOKED est très active via son forum3 en anglais qui regroupe près de 23 000 posts dans plus de 5 300 sujets par plus de 88 000 membres. En moyenne, plus de 50 personnes visitent le forum en même temps. Le forum est un espace d’annonces et d’échanges avec l’équipe de développement et de support communautaire. On trouve également les modifications et les extensions de BOOKED non officiel développées par des tiers qui sont susceptibles d’être reprises par l’équipe de développement.

BOOKED permet d’administrer l’utilisation de n’importe quel type de ressources (équipement, salle de réunion…). La solution est très complète et flexible avec un grand nombre de paramètres personnalisables. BOOKED peut être adaptée pour gérer des réservations de guichets d’accueil.

booked2

Illustration 3: Interface de gestion de Booked

 

3.2. Fonctionnalités

3.2.1. Prise de rendez-vous en ligne

BOOKED ne possède pas d’interface de réservation en ligne pour les usagers. Il est cependant possible de la développer via une interface de programmation web service (API REST) fournie.

Notons que l’affichage des disponibilités se fait par ressource/guichet. Il faudra faire des développements complémentaires si l’on souhaite avoir une visualisation de la disponibilité par service (combinaison de plusieurs guichets offrant le même service).

3.2.2. Accueil de l’application côté agent

BOOKED propose un système de gestion des utilisateurs très avancés. Chacun peut avoir un des profils d’habilitation suivants :

Profil

Application

Profil

Groupe

Profil

Planning

Profil

Ressources

Contrôle total de l’application

x

Gérer les utilisateurs

x

x

Gérer l’agenda des ressources

x

x

x

Gérer les ressources et réservations

x

x

x

x

Le profil « Application » a des droits illimités sur toutes les ressources alors que les autres rôles sont limités à leur périmètre. Notons que les profils d’habilitation « Application » et « Groupe » peuvent gérer les ressources et les réservations à la place des autres utilisateurs. Il est possible de donner des droits manuellement pour chaque utilisateur ou les ajouter à un groupe d’utilisateur qui possède lui-même des droits propres.

Le tableau suivant fait la correspondance entre les profils d’habilitation proposés par BOOKED et le souhait de l’Administration concernant la gestion des utilisateurs sur l’outil de gestion de prise de rendez-vous :

Souhait de l’Administration

Proposition à partir de BOOKED

Profil « Administrateur national » Profil « Application »
Profil « Administrateur local » Profil « Groupe » / « Planning »
Profil « Agent national » Profil « Ressources » étendu
Profil « Agent local » Profil « Ressources » limité

Nous voyons donc qu’une bonne configuration de BOOKED permettra sans aucun doute d’avoir un système de gestion des droits et des accès qui réponde aux besoins de l’Administration. Il est cependant nécessaire de développer un outil qui fait la conversion et la mise à jour des droits des utilisateurs entre BOOKED et MADHRAS, le système des habilitations de l’Administration.

3.2.3. Organisation du service

BOOKED gère des ressources qui peuvent s’adapter à des guichets d’accueil. Il est possible de personnaliser les plages horaires et la capacité d’accueil d’un guichet. Chaque ressource peut être assignée à un groupe et posséder un statut, un type ou tout autre attribut souhaité. La durée du RDV selon un motif n’est pas gérée nativement, mais pourra l’être via l’interface de réservation en ligne des usagers.

Malgré la présence de la notion de « groupe de ressources », il n’existe pas de solution simple pour définir et paramétrer un ensemble de guichets (service/structure). La solution est de filtrer les guichets en utilisant des attributs personnalisés et de les paramétrer en masse (« Bulk Ressources Update»). Il est également recommandé d’instaurer des règles de nommage pour faciliter la recherche et le regroupement des guichets .

3.2.4. Planification des disponibilités

BOOKED permet de définir plusieurs modèles d’agenda hebdomadaire uniquement et d’en appliquer une au guichet souhaité. Il est possible de définir des périodes de mise hors service pour un guichet ou un ensemble de guichets. Enfin, l’agent peut modifier le délai minimum entre la prise de rendez-vous et le rendez-vous effectif et l’ouverture automatique de l’agenda de réservation.

3.2.5. Gestion des rendez-vous et délégation

Il est possible de consulter, rechercher et annuler les réservations sans aucune difficulté dans BOOKED. Les réservations peuvent être consultées sous forme d’un calendrier ou d’une liste avec des filtres personnalisés. Un numéro de référence unique est généré à chaque réservation pour faciliter la recherche. Il est également possible de définir des périodes de fermeture exceptionnelle et d’annuler l’ensemble des réservations concernées. Le transfert en masse des réservations déjà effectuées à un autre guichet n’est pas supporté. .

La délégation de la réception des RDV d’un service à un autre n’est pas une fonction disponible immédiatement. Il est éventuellement possible d’utiliser le système de gestion des utilisateurs et des groupes pour parvenir à ce but.

3.2.6. Accueil des usagers, pilotage et couplage GFA

Il est possible de voir le planning de la journée, de la semaine ou du mois pour les guichets souhaités à l’aide des filtres. L’indication des arrivées nécessite l’ajout très simple d’un attribut personnalisé à la réservation (en attente / arrivé / non arrivé).

BOOKED permet d’afficher un grand nombre de rapports personnalisables que ce soit à des fins de suivi ou statistiques et de les exporter facilement sous format CSV ou graphique. Le couplage GFA est probablement possible en développant un module spécifique à partir de l’API fournie.

3.3.3. Intégration

Le déploiement de BOOKED nécessite un serveur Apache2 ou IIS, une base de données MySQL 5.0 ou supérieur et PHP 5.2 ou supérieur. PostgreSQL n’est pas officiellement prise en charge, cependant une astuce permettrait de le supporter4 L’authentification LDAP ou Active Directory est possible. Enfin, notons qu’il est possible de connecter les plannings de rendez-vous de BOOKED aux calendriers externes des agents.

BOOKED nécessitera un important travail de saisie et de configuration des paramètres (utilisateurs, groupes, guichets, planning, réservations).

3.3.4. Conclusion

BOOKED pourra certainement s’adapter à l’hétérogénéité des services de l’Administration grâce à son système de gestion des utilisateurs et de ressources assez complet et flexible. Au-delà d’un travail important de paramétrage de l’outil, il est nécessaire de développer entièrement toute l’interface de réservation côté usager.

Une étude complémentaire sera nécessaire pour évaluer la charge de travail nécessaire pour adapter l’outil et développer les fonctionnalités manquantes. En effet, il est obligatoire d’auditer le code de l’application et d’évaluer sa complexité afin d’obtenir cette information.

Références