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.
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')
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>
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>
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.