Aller au contenu principal
Références

Restaurants et commerces de proximité

BonAppli

Le logiciel qui permet aux restaurants et aux commerces de tenir seuls leur site, leur carte et leurs commandes. On l'a conçu, codé, mis en production, et on le fait tourner.

  • Web application
  • Site e-commerce
  • Site vitrine

Bon n° A-400Porte 7

  • Conception et design UX/UI
  • Développement de l'application
  • Mise en production
  • Facturation Stripe
  • Click & Collect
  • Site vitrine et SEO

Toujours en service

A-401

Une carte qui s'édite là où elle s'affiche.

Pas de formulaire d'un côté et d'aperçu de l'autre : le restaurateur clique sur sa carte et la modifie. On a construit cet éditeur, puis tout ce qui se règle autour.

La carte publique du même restaurant fictif sur smartphone : onglets Galettes, Crêpes, Boissons, Formule du midi, un bouton pour ajouter chaque galette au panier.
Le design en réglages
Six styles de texte, sept couleurs, quatre arrondis réglables un par un. Le restaurateur habille sa carte à ses couleurs sans toucher une ligne de code.
L'aperçu mobile dans l'éditeur
Ses clients liront la carte sur un téléphone, à table. Il la voit comme eux avant de publier.
La carte telle qu'elle est vraiment
Plusieurs tarifs pour un même plat (la bolée, la bouteille), des formules à choix, les 14 allergènes en icônes dont le nom s'affiche au toucher.
A-402

Une mise en production qui sait revenir en arrière.

On a repris le prototype pour le rendre exploitable : hébergé en France, une préproduction pour tester, et des déploiements qui ne laissent jamais le site par terre.

  1. Chaque proposition de code reconstruit l'image, pour vérifier qu'elle passe
  2. L'image de production est étiquetée par commit, jamais écrasée
  3. Une validation manuelle ouvre la mise en production
  4. Déploiement, puis test de santé sur l'adresse publique
  5. Test en échec : retour automatique à la version précédente
Des comptes vérifiés
Inscription confirmée par email, liens de réinitialisation à usage unique, stockés hachés en base.
Des tentatives limitées
Connexion, inscription et chaque code envoyé ont leur plafond, et les formulaires publics un champ piège contre les robots.
Deux revues de code complètes
Menées avant l'ouverture, corrigées phase par phase : critiques d'abord, cohérence ensuite, finitions pour finir.
A-403

Un prix par restaurant publié, calculé au jour près.

L'additionpar compte

Les trois formules de BonAppli
Starter1 restaurant en ligne0 €
Classiquepar restaurant publié8 € / mois
Premiumpar restaurant publié12 € / mois
Brouillons
gratuits
Publier en cours de mois
prorata immédiat
Dépublier
aucun crédit
Essai
14 jours
Résilier
accès jusqu'à l'échéance

Le modèle économique vit dans le code, branché sur Stripe. On a écrit ses règles pour qu'elles restent justes dans tous les cas, y compris ceux qu'on ne voit qu'en production.

  • Un double clic ne débite pas deux fois : chaque mise à jour envoyée à Stripe porte une clé d'idempotence.
  • Après une résiliation, les restaurants en trop repassent en brouillon. Rien n'est effacé, tout se republie.
  • Un parrain touche chaque mois une commission sur ce que ses filleuls paient réellement.
A-404

Le nom de domaine du restaurant, sans nous appeler.

En Premium, la carte se sert sur le domaine du client. Il ajoute un enregistrement DNS, BonAppli le vérifie, écrit la route, et le certificat HTTPS arrive au premier accès. Aucun redéploiement. Même logique pour les polices : un restaurant importe la sienne, servie par BonAppli.

lib/custom-domains-traefik.ts
// Faut-il écarter ce domaine de la configuration Traefik ?
// Non destructif sur erreur : on n'écarte QUE sur une réponse
// DNS claire qui ne correspond pas. Un lookup en échec est
// inconclusif : on garde le domaine, sinon on couperait tous
// les domaines perso au redémarrage.
async function shouldExclude(domain, targetIp) {
  try {
    const ips = await resolve4(domain); // suit CNAME → A
    return !ips.includes(targetIp);
  } catch {
    return false; // timeout, resolver pas prêt : on garde
  }
}

La règle qu'on s'est donnée : un domaine qui pointe ailleurs est écarté, un DNS qui tarde à répondre ne coupe personne.

A-405

La commande en ligne, sans commission ni application.

Le plus gros chantier : faire de la carte un point de vente. Le client commande depuis son téléphone et paie au retrait, le commerçant suit tout depuis un tableau.

Tourné sur une copie locale, avec un restaurant et des clients fictifs.

Un code plutôt qu'un compte
Six chiffres reçus par email confirment chaque commande. Pas de mot de passe à créer, pas de fausses commandes.
Le serveur a le dernier mot
Les prix sont recalculés côté serveur : un panier modifié dans le navigateur ne change pas l'addition.
Des créneaux tirés des horaires
Calculés depuis les heures d'ouverture, à l'heure de Paris, avec un délai de préparation et une capacité par créneau.
Une pause pour le coup de feu
Le commerçant coupe les commandes d'un geste, sans dépublier sa carte. Le client, lui, rejoue une ancienne commande en un clic.

Le dernier créneau

Deux clients, une place. Un cas qu'on ne croise jamais en test, mais qui arrive dès qu'un commerce a du monde. Le serveur verrouille le commerce le temps de compter les places : les commandes passent l'une après l'autre, jamais en même temps.

12:301 place restante
  1. YannPanier prêt, code reçu
  2. SolènePanier prêt, code reçu

Il ne reste qu'une place à 12:30. Les deux clients valident à la même seconde.

A-406

Repositionner le produit, puis refaire sa vitrine.

Avant : un menu à scanner

Après : le site internet de votre restaurant ou de votre commerce.

BonAppli se vendait comme un QR code posé sur la table. Le produit faisait bien plus : un site, une carte, une boutique. On l'a repositionné, puis on a refait bonappli.fr pour le dire.

Page métier Boulangerie de bonappli.fr : « Le site internet de votre boulangerie. », la réservation de pains et viennoiseries pour un retrait à l'heure choisie, et une maquette de commande.
Accueil de bonappli.fr sur smartphone, avec le titre du repositionnement.
  • 7 rubriques et 13 pages métiers, de la boulangerie au fleuriste, tirées d'un seul gabarit
  • Plan du site, métadonnées et image de partage générés par le code
  • Les tarifs affichés lisent la même source que la facturation