Système d'automatisation WhatsApp avec provisioning automatique, gestion de sessions et communication bidirectionnelle.
# Windows
.\up.ps1
# Linux/Mac
chmod +x *.sh
./up.shLe système va :
- ✅ Builder les images Docker avec cache intelligent
- ✅ Démarrer tous les services (API, Worker, Frontend, PostgreSQL, Redis)
- ✅ Créer automatiquement les tables de la base de données
- ✅ Être accessible sur http://localhost:5173
- Ouvrir http://localhost:5173
- Cliquer sur "Start provisioning"
- Le système va automatiquement :
- Acheter un numéro de téléphone (US/Canada)
- Créer un compte WhatsApp
- Tester l'envoi de messages via deeplink
- Marquer le compte comme actif
# Windows
.\down.ps1
# Linux/Mac
./down.sh| Commande | Description |
|---|---|
.\up.ps1 / ./up.sh |
Démarre le projet (cache busting automatique) |
.\down.ps1 / ./down.sh |
Arrête le projet |
.\reset.ps1 / ./reset.sh |
Reset complet (supprime tout) |
.\build.ps1 / ./build.sh |
Builder sans démarrer (avancé) |
Créer un fichier .env à la racine :
# SMS Providers
SMSMAN_TOKEN=your_token_here
ONLINESIM_API_KEY=your_api_key_here
# Security
JWT_SECRET=your_secret_here
AGENT_AUTH_SECRET=your_agent_secret_hereLes clés actuelles sont déjà configurées dans docker-compose.yml mais vous pouvez les surcharger avec un fichier .env.
- Frontend (React + Vite) : http://localhost:5173
- API (Node.js + Express) : http://localhost:3000
- Worker (BullMQ) : Gestion des jobs asynchrones
- PostgreSQL : Base de données
- Redis : Queue de jobs
✅ Provisioning automatique :
- Achat de numéros (OnlineSim/SMS-MAN)
- Création de conteneurs Android (Docker)
- Installation et configuration WhatsApp
- Injection OTP automatique
- Configuration du profil
✅ Envoi de messages :
- Deeplink WhatsApp (pas de création de contact)
- Temps d'envoi : ~5-10 secondes
- Test automatique après provisioning
✅ Réception de messages :
- Polling automatique toutes les 3 secondes
- Affichage temps réel dans l'interface
- Son + notifications navigateur
✅ Gestion des sessions :
- Liste des comptes actifs
- Logs détaillés par session
- Capture d'écran en temps réel
- Suppression avec conteneurs associés
Le projet utilise un système de cache busting automatique pour garantir que les changements de code sont TOUJOURS pris en compte.
Les scripts up.ps1 et up.sh :
- Génèrent un timestamp unique à chaque démarrage
- Le passent à Docker via
--build-arg CACHE_BUST=<timestamp> - Docker invalide le cache et recompile le code source
Docker réutilise parfois l'ancien code en cache même après modifications. Ce système garantit que chaque démarrage utilise le code le plus récent.
Voir BUILD_INSTRUCTIONS.md pour plus de détails.
# Force le rebuild
.\up.ps1 --build# Réinitialiser la base de données
docker-compose exec api npx prisma migrate reset --force
docker-compose restart api# Supprime tout et redémarre
.\reset.ps1
.\up.ps1 --build# Tous les services
docker-compose logs -f
# Un service spécifique
docker-compose logs -f worker
docker-compose logs -f api- BUILD_INSTRUCTIONS.md : Guide de build détaillé
- CHANGELOG.md : Historique des versions
- WHATSAPP_PROVISIONING_PROCESS.md : Détails du provisioning
- 3.1.0-deeplink-test : Version actuelle avec deeplink et cache busting
- 3.0.0-deeplink : Introduction du système de deeplink WhatsApp
❌ docker-compose up # Pas de cache busting
❌ docker-compose build # Cache problématique✅ .\up.ps1 # Avec cache busting automatique
✅ .\down.ps1 # Arrêt propre
✅ .\reset.ps1 # Reset completMIT