Exemples pratiques d'intégration du widget Restaurant Manager Pro.
L'exemple le plus simple pour démarrer :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon Restaurant</title>
</head>
<body>
<h1>Bienvenue</h1>
<button onclick="openReservationModal()">
Réserver une table
</button>
<script>
window.RESTAURANT_CONFIG = {
code: 'MONRESTAURANT2025',
primaryColor: '#D4AF37',
backgroundColor: '#2C2C2C'
};
</script>
<script src="https://widget.restaurantmanagerpro.fr/widget.js"></script>
</body>
</html>Utilisation dans une application React :
import { useEffect } from 'react';
export default function ReservationButton() {
useEffect(() => {
// Configuration
window.RESTAURANT_CONFIG = {
code: 'MONRESTAURANT2025',
primaryColor: '#D4AF37',
backgroundColor: '#2C2C2C'
};
// Charger le script
const script = document.createElement('script');
script.src = 'https://widget.restaurantmanagerpro.fr/widget.js';
script.async = true;
document.body.appendChild(script);
return () => {
document.body.removeChild(script);
};
}, []);
return (
<button
onClick={() => window.openReservationModal()}
className="btn-primary"
>
Réserver une table
</button>
);
}Avec Next.js App Router :
'use client';
import { useEffect } from 'react';
import Script from 'next/script';
export default function ReservationWidget() {
useEffect(() => {
window.RESTAURANT_CONFIG = {
code: 'MONRESTAURANT2025',
primaryColor: '#D4AF37',
backgroundColor: '#2C2C2C'
};
}, []);
return (
<>
<button onClick={() => window.openReservationModal()}>
Réserver
</button>
<Script
src="https://widget.restaurantmanagerpro.fr/widget.js"
strategy="lazyOnload"
/>
</>
);
}Ajoutez ce code dans votre thème WordPress :
<!-- Dans header.php ou footer.php -->
<script>
window.RESTAURANT_CONFIG = {
code: 'MONRESTAURANT2025',
primaryColor: '#D4AF37',
backgroundColor: '#2C2C2C'
};
</script>
<script src="https://widget.restaurantmanagerpro.fr/widget.js"></script>
<!-- Dans votre page/article -->
<button onclick="openReservationModal()">
Réserver une table
</button>Si vous gérez plusieurs restaurants sur le même site :
<div class="restaurants">
<div class="restaurant">
<h2>Restaurant Paris</h2>
<button onclick="openReservation('PARIS2025')">
Réserver
</button>
</div>
<div class="restaurant">
<h2>Restaurant Lyon</h2>
<button onclick="openReservation('LYON2025')">
Réserver
</button>
</div>
</div>
<script>
function openReservation(code) {
window.RESTAURANT_CONFIG = {
code: code,
primaryColor: '#D4AF37',
backgroundColor: '#2C2C2C'
};
openReservationModal();
}
</script>
<script src="https://widget.restaurantmanagerpro.fr/widget.js"></script><style>
.reservation-btn {
background: linear-gradient(135deg, #D4AF37 0%, #F4D03F 100%);
color: #000;
padding: 16px 32px;
border: none;
border-radius: 50px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
box-shadow: 0 8px 20px rgba(212, 175, 55, 0.4);
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
gap: 10px;
}
.reservation-btn:hover {
transform: translateY(-3px);
box-shadow: 0 12px 30px rgba(212, 175, 55, 0.6);
}
.reservation-btn:active {
transform: translateY(-1px);
}
</style>
<button class="reservation-btn" onclick="openReservationModal()">
<span>📅</span>
<span>Réserver une table</span>
</button>Tracker les ouvertures du widget :
<button onclick="trackAndOpenReservation()">
Réserver
</button>
<script>
function trackAndOpenReservation() {
// Google Analytics
if (typeof gtag !== 'undefined') {
gtag('event', 'reservation_modal_opened', {
'event_category': 'Reservations',
'event_label': 'Widget Opened'
});
}
// Facebook Pixel
if (typeof fbq !== 'undefined') {
fbq('track', 'InitiateCheckout');
}
// Ouvrir le widget
openReservationModal();
}
</script>Configuration pour un site avec fond clair :
<script>
window.RESTAURANT_CONFIG = {
code: 'MONRESTAURANT2025',
primaryColor: '#2C5F2D', // Vert foncé
backgroundColor: '#FFFFFF' // Fond blanc
};
</script>
<style>
/* Ajuster les textes pour le mode clair */
#reservation-modal h2,
#reservation-modal label {
color: #2C2C2C !important;
}
#reservation-modal input,
#reservation-modal select {
border: 1px solid #E0E0E0 !important;
color: #2C2C2C !important;
}
</style>Créer une réservation via l'API :
fetch('https://api.restaurantmanagerpro.fr/api/save-reservation', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
restaurantCode: 'MONRESTAURANT2025',
name: 'Jean Dupont',
email: 'jean@example.com',
phone: '+33612345678',
date: '2026-01-15',
time: '19:00',
guests: 4,
notes: 'Table près de la fenêtre'
})
})
.then(response => response.json())
.then(data => {
console.log('Réservation créée:', data);
})
.catch(error => {
console.error('Erreur:', error);
});