Larameet — Module de prise de rendez-vous

Larameet est un package Laravel (Filament v4) pour gérer la prise de rendez-vous, la vérification des disponibilités via CalDAV (Infomaniak), et la création automatique de salles KMeet lors de la confirmation. Il propose un composant Livewire prêt à l’emploi pour afficher un calendrier de réservation et sélectionner un motif de rendez-vous.

Intégration du composant

Ajoutez simplement le composant dans n’importe quelle page Blade :

<!-- Afficher le calendrier pour un membre précis (par slug) -->
@livewire('larameet.booking-calendar', ['membreSlug' => 'guillaume-mermillod'])

<!-- Ou sans slug : le premier membre trouvé sera utilisé -->
@livewire('larameet.booking-calendar')

Intégration externe (iframe)

Utilisez la page d’embed dédiée pour intégrer le module sur un autre site :

<iframe
  src="https://votre-domaine.tld/embed/guillaume-mermillod"
  width="100%"
  id="larameet-embed"
  height="850"
  style="border:0;"
  loading="lazy"
  referrerpolicy="no-referrer-when-downgrade"></iframe>

Intégration via script (widget)

Le moyen le plus simple : un seul script qui injecte l’iframe et gère l’auto‑resize.

<script
  src="https://votre-domaine.tld/larameet.js"
  data-slug="guillaume-mermillod"
  data-min-height="700"
  data-width="100%"
  data-border="0"></script>

Ajuster automatiquement la hauteur avec postMessage :

<script>
window.addEventListener('message', function (e) {
  var data = e.data || {};
  if (data.type !== 'larameet:resize') return;
  var iframe = document.getElementById('larameet-embed');
  if (!iframe) return;
  var min = 600; // hauteur minimale
  iframe.style.height = Math.max(min, parseInt(data.height || 0, 10)) + 'px';
});
</script>

Fonctionnalités

Pré‑requis

Événements Livewire

Un évènement est émis à la confirmation pour vos hooks personnalisés :

window.addEventListener('booking-confirmed', (e) => {
    console.log('Booking confirmé', e.detail);
    // e.detail.kmeet contient la réponse de création de salle
});

Besoin d’aide ou d’exemples supplémentaires ? Consultez le code du composant dans packages/mermio/larameet/src/Livewire/BookingCalendar.php.

Voir l’exemple de composant Ouvrir la page de booking