Tout ce que ce service expose, et l'état réel de chaque brique. Les pastilles ci-dessous ne sont pas écrites dans la page : elles sont lues sur le service lui-même à chaque chargement.
/api/etat/services, qui interroge la
configuration réellement chargée. Si l'appel échoue, la pastille affiche
« état non vérifié » — jamais une disponibilité supposée.
Le cœur du produit : le même moteur sert le canal vocal et le canal écrit. Un second moteur « pour le web » aurait divergé, et le garde-fou tarifaire n'aurait fini par couvrir qu'un canal sur deux.
Arbre de décision complet : accroche, qualification, pitch, objections, proposition de créneau, réservation. Deux phrases maximum par prise de parole, sans jamais couper l'interlocuteur.
Un filtre déterministe inspecte chaque phrase avant de la prononcer et remplace tout montant, remise ou gratuité par une réponse validée. Le prompt ne suffit pas : c'est une consigne qu'un modèle peut ignorer, le filtre non.
S'applique aux deux canaux, vocal et écrit.
Un seul tour de parole est confié à un modèle : la reformulation empathique de l'étape de qualification. Modèle exécuté en local, avec repli sur la réponse scriptée si la génération dépasse son délai.
Médiane mesurée ≈ 1,1 s.
« Ne me rappelez plus » est traité avant toute autre considération, y compris avant une question posée dans la même phrase, et inscrit le numéro en liste d'opposition (loi 09-08 / CNDP). Aucune relance ne suit.
Demande humaine : contact@nextdata.ma
Reconnaissance, synthèse et modèle tournent sur notre infrastructure, sans service tiers : aucune donnée de conversation ne sort.
Piper, voix française, ≈ 40 ms par réplique. C'est cette voix que vous entendez sur la démonstration : les extraits audio sont produits par le moteur, pas enregistrés par un comédien.
faster-whisper sur processeur, ≈ 335 ms. Chargée à la demande : le service démarre même si le modèle est absent, et l'incident se voit sur l'état plutôt qu'au démarrage.
Modèle base — le modèle supérieur a été écarté
sur mesure, deux fois plus lent sans gain.
Le métier est prêt et testé de bout en bout ; il manque l'opérateur. L'exploitation commerciale de la voix sur IP hors opérateur licencié étant interdite au Maroc (loi 24-96), le raccordement passe par un opérateur local — consultation en cours.
Tant qu'il n'est pas fait, aucun appel n'est émis.
Deux appels en parallèle par défaut. Le plafond est volontaire : reconnaissance et synthèse consomment du processeur pendant toute la durée d'un appel, et le serveur héberge d'autres services.
Un appel refusé vaut mieux que trois appels dégradés.
La même conversation, au clavier : le canal ouvert aux abonnés en attendant le raccordement téléphonique. L'accès se fait par un lien signé envoyé par e-mail après l'abonnement — il n'y a pas de mot de passe à retenir.
Un rendez-vous accepté déclenche l'envoi d'une invitation au format ICS (RFC 5545) avec bouton « Ajouter à l'agenda ». Chaîne validée en conditions réelles.
L'envoi est explicite : rien n'est annoncé comme réservé sans l'être.
Paiement récurrent, notification de paiement vérifiée par signature, journal des ventes en écriture seule et envoi automatique du lien d'accès. Les droits sont recalculés à chaque lecture, jamais figés.
Trois appels rejoués — rendez-vous obtenu, objection sur le prix, demande de retrait. Ce sont des transcriptions produites par la machine à états, pas des exemples rédigés à la main.
Deux points d'entrée sont ouverts sans authentification. Ils ne renvoient aucune donnée personnelle, aucun montant qui engage, aucun secret.
| Point d'entrée | Ce qu'il renvoie | Pour qui |
|---|---|---|
GET /api/etat/services |
L'état de chaque service ci-dessus, sous forme de booléens. Aucune clé, aucun chemin, aucune adresse. | Cette page, et toute supervision externe. |
GET /api/acces/offre |
Les formules et leur libellé de prix. Le montant affiché est indicatif : le seul qui engage est celui de la page de paiement. | Les pages de vente, française et anglaise. |
Les autres points d'entrée ne sont pas publics : l'émission d'appel est restreinte à la machine elle-même et protégée par un jeton, l'espace de qualification exige un lien signé, et la notification de paiement n'est acceptée que si sa signature est valide.
Le détail figure dans la politique de confidentialité.