Aller au contenu principal
Guides & Stratégie• 7 min de lecture

Code-switching français-arabe dans les chatbots WhatsApp Maghreb

Au Maroc, Algérie et Tunisie, les messages WhatsApp mélangent français et darija. Comment gérer ce code-switching dans vos chatbots WhatsApp pour une UX naturelle au Maghreb.

Le Maghreb francophone présente un défi NLP unique : le code-switching entre le français et l'arabe dialectal (darija au Maroc, derdja en Algérie, tunsi en Tunisie) est non seulement courant mais quasi systématique dans les messages WhatsApp. Un message typique marocain : "Salam, j'ai commandé hier walakin ça fait pas encore arrivé, wach c'est normal ?" — trois langues en une seule phrase.

Ce guide vous explique comment concevoir des chatbots WhatsApp adaptés au code-switching maghrébin.

Anatomie du code-switching maghrébin sur WhatsApp

Le mélange caractéristique

Dans les messages WhatsApp marocains, algériens et tunisiens, on retrouve généralement :

  • Structure de phrase : français ou anglais (selon l'éducation)
  • Interjections et connecteurs : darija (walakin = mais, wach = est-ce que, labas = ça va)
  • Expressions d'intensité : arabe classique ou darija (wallah = je jure, inshallah = si Dieu le veut, hamdulillah = heureusement)
  • Chiffres arabes transcrits en français : "3lik" (sur toi), "7ta" (jusqu'à), "ma3ndi" (je n'ai pas)

Les variantes par pays

Maroc (darija) :

  • Plus d'influence française, mélange fluide
  • Usage fréquent des chiffres arabes pour les sons spéciaux : 3 = ع, 7 = ح, 9 = ق
  • Exemples : "wach kayn stock ?", "bghit ncommander", "fin hiya livraison dyali ?"

Algérie (derdja) :

  • Plus d'influence française (ancienne colonisation plus longue)
  • Usage fréquent de "wallah" et "inshallah" dans les messages courants
  • Exemples : "wallah j'ai payé et rien reçu", "inshallah ça va venir", "ki rak service client ?"

Tunisie :

  • Mélange le plus complexe : français, tunsi, parfois anglais et italien
  • Exemples : "barcha merci pour le service", "ki dhaya commande mta3i ?"

Gestion technique du code-switching maghrébin

Détection et normalisation de la darija romanisée

# Gestion de la darija romanisée (caractères latins + chiffres arabes)
import re

class MaghrebCodeSwitchingHandler:
    
    # Mapping des "arabizi" (chiffres arabes utilisés pour sons spéciaux)
    ARABIZI_MAP = {
        '3': 'ain',   # ع - son du fond de la gorge
        '7': 'h_pharyngal',  # ح
        '9': 'q',    # ق
        '5': 'kh',   # خ
        '2': 'hamza' # ء/أ
    }
    
    # Dictionnaire darija → français standard
    DARIJA_FR = {
        # Politesse et salutations
        'salam': 'bonjour',
        'labas': 'ça va',
        'mzyan': 'bien',
        'shukran': 'merci',
        'barak allahu fik': 'merci beaucoup',
        
        # Connecteurs et marqueurs discursifs
        'walakin': 'mais',
        'wach': 'est-ce que',
        'fin': 'où',
        'imta': 'quand',
        'chhal': 'combien',
        'bghit': 'je veux',
        'kayn': 'il y a',
        'mkaynch': 'il n\'y a pas',
        'ma3ndi': 'je n\'ai pas',
        'ma3ndich': 'je n\'ai pas',
        
        # Commerce et livraison
        'delivery': 'livraison',
        'commande dyali': 'ma commande',
        'flous': 'argent',
        'taman': 'prix',
        'rkhis': 'bon marché',
        'ghali': 'cher',
        'ncommander': 'commander',
        
        # Intensificateurs
        'bzaf': 'beaucoup',
        'bezzaf': 'beaucoup',
        'trop': 'trop',  # Emprunté du français
        
        # Expressions courantes
        'wallah': 'je jure',
        'walahy': 'je jure',
        'inshallah': 'j\'espère',
        'hamdulillah': 'heureusement',
        'bismillah': 'allons-y',
    }
    
    def normalize(self, text: str) -> dict:
        normalized = text.lower()
        replacements = []
        
        # Supprimer les répétitions de chiffres arabes contextuels
        # "ma3ndi" → "manadi" pour simplification
        normalized = re.sub(r'(\w*)3(\w*)', r'\1a\2', normalized)  # Simplification
        
        # Appliquer le dictionnaire darija
        for darija, french in self.DARIJA_FR.items():
            if darija in normalized:
                old_normalized = normalized
                normalized = normalized.replace(darija, french)
                if normalized != old_normalized:
                    replacements.append({'darija': darija, 'fr': french})
        
        # Détecter les marqueurs de frustration maghrébins
        frustration_markers = ['wallah j\'ai', 'walahy', 'bzaf haja', 'mochkil kbir']
        frustration_level = 'high' if any(m in text.lower() for m in frustration_markers) else 'normal'
        
        return {
            'original': text,
            'normalized': normalized,
            'replacements': replacements,
            'frustration_level': frustration_level,
            'has_darija': len(replacements) > 0
        }

Adapter les réponses au contexte culturel maghrébin

Le code-switching linguistique va de pair avec des spécificités culturelles importantes pour votre chatbot :

Gestion du calendrier islamique

// Adaptation culturelle pour le Maghreb
function getContextualGreeting(date, country) {
  const greeting = getTimeBasedGreeting(date); // Bonjour/Bonsoir
  
  // Pendant Ramadan : adaptation spéciale
  if (isDuringRamadan(date)) {
    return {
      greeting: `${greeting} — Ramadan Mubarak ! 🌙`,
      service_note: "Durant le Ramadan, notre service est disponible de 9h à minuit."
    };
  }
  
  // Pendant Aïd el-Fitr et Aïd el-Adha
  if (isDuringAid(date)) {
    return {
      greeting: `${greeting} — Aïd Moubarak ! 🎉`,
      service_note: "Nos bureaux sont fermés pour l'Aïd. Reprise le [date]."
    };
  }
  
  return { greeting, service_note: null };
}

Respect des formules de politesse arabes

Les clients maghrébins apprécient que le chatbot reconnaisse et réponde aux formules arabes de politesse :

const arabicCourtesyResponses = {
  'salam': 'Wa Alaykoum Salam ! Comment puis-je vous aider ?',
  'salam alaykoum': 'Wa Alaykoum Salam ! Je suis à votre service.',
  'shukran': 'Avec plaisir ! N\'hésitez pas si vous avez d\'autres questions.',
  'barak allahu fik': 'C\'est gentil, merci ! Puis-je faire autre chose pour vous ?',
  'inshallah': 'Inshallah tout se passera bien pour votre commande ! 🤲'
};

Cas pratique : E-commerce marocain de Casablanca

Un e-commerce de prêt-à-porter basé à Casablanca, avec une clientèle principalement marocaine, a adapté son chatbot WhatsApp au code-switching darija-français. Résultats après 3 mois :

  • Réduction du taux de fallback : de 52% à 21% (-59%)
  • Messages non compris liés au darija : de 38% à 8% des fallbacks
  • Satisfaction client WhatsApp : de 64% à 82% (+18 points)
  • Volume de commandes via WhatsApp : +34% (clients moins découragés par l'incompréhension)

Les 10 expressions darija les plus fréquentes dans leurs messages : "wach kayn" (y a-t-il), "bghit" (je veux), "delivery dyali" (ma livraison), "fin kayna" (où est), "chhal" (combien), "mkaynch" (il n'y a pas), "wallah" (intensificateur), "inshallah" (espoir), "labas" (ça va), "bzaf" (beaucoup).

Pour approfondir, consultez notre guide sur le chatbot WhatsApp Maroc et notre article sur la gestion des abréviations dans les chatbots.

FAQ

Q: Faut-il un dictionnaire différent pour chaque pays du Maghreb (Maroc, Algérie, Tunisie) ?

A: Idéalement oui. La darija marocaine, le derdja algérien et le tunsi ont des différences significatives. En pratique, un dictionnaire "darija commun" couvre 70% des cas pour les trois pays. Pour une précision maximale, maintenez des dictionnaires spécifiques par pays avec des extensions nationales.

Q: Comment gérer le fait que la darija romanisée n'a pas d'orthographe standardisée ?

A: C'est le principal défi. "Bghit", "Bghit", "b3it", "bgit" peuvent tous signifier la même chose. Votre dictionnaire doit inclure les variations orthographiques les plus fréquentes. Les expressions régulières (regex) sont utiles pour capturer les variantes : /b[gh]+it/i capturerait plusieurs variantes du mot "vouloir" en darija.

Q: Les chatbots WhatsApp doivent-ils répondre en darija ou rester en français ?

A: Pour les entreprises formelles (banques, assurances, grandes marques), rester en français professionnel mais comprendre la darija est le meilleur positionnement. Pour les marques jeunes ou les commerces grand public, intégrer quelques expressions darija dans les réponses (salam, shukran, inshallah) crée de la chaleur sans sacrifier la clarté.

Q: La darija écrite avec des chiffres arabes ("3lik", "7ta") est-elle vraiment fréquente en 2026 ?

A: Oui, même si les claviers arabes sont plus courants qu'avant, la darija romanisée avec chiffres arabes reste très présente notamment chez les 20-35 ans qui ont grandi avec cette convention de SMS. Sur WhatsApp, environ 40% des locuteurs darija l'écrivent encore avec cette convention.


Maîtriser le code-switching maghrébin, c'est parler la vraie langue de vos clients au Maroc, en Algérie et en Tunisie. Un chatbot qui comprend "wach kayn delivery à Agadir ?" est un chatbot qui respecte ses utilisateurs.

Créez votre chatbot WhatsApp adapté au Maghreb avec Whakup et gagnez la confiance de vos clients maghrébins dès le premier message.

#whatsapp-business-api-guide#automatisation-whatsapp-flows#chatbot-whatsapp-guide
Pablo Lenormand
Pablo LenormandCo-fondateur & CPO

Co-fondateur et Chief Product Officer de Whakup, Pablo conçoit les fonctionnalités qui permettent aux marques africaines de maximiser leur impact sur WhatsApp.

🚀

Prêt à passer à l'action ?

Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.

Démarrer l'essai gratuit