Date: 17 février 2026
Branche: feature/phase-4-compliance-fdp-integration
Statut: ✅ DÉPLOYÉ EN PRODUCTION
ScamGuard est une application web d'IA pour la détection et la prévention des arnaque, avec focus sur la protection des personnes âgées. L'application est entièrement déployée sur AWS avec infrastructure serverless.
| Service | URL |
|---|---|
| Frontend (CDN) | https://dv04w7vjfnkg5.cloudfront.net |
| Backend API | https://k4jjgkz8xj.execute-api.us-east-1.amazonaws.com |
| Région AWS | us-east-1 |
| Compte AWS | 034362029181 (scamguard-dev) |
┌─────────────────────────────────────┐
│ Frontend (S3 + CloudFront) │
│ - React app avec accessibilité │
│ - Cached au global CDN │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ API Gateway (HTTP API) │
│ - Endpoints REST pour l'app │
│ - Intégration Lambda │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Lambda Functions │
│ - LLM Integration (OpenAI/Gemini) │
│ - Scenario Generation │
│ - Analysis Engine │
│ - Image Processing │
└──────────────┬──────────────────────┘
│
┌──────┴───────┐
▼ ▼
┌────────┐ ┌──────────────┐
│DynamoDB│ │Secrets Manager│
│ Data │ │ API Keys │
└────────┘ └──────────────┘
| Ressource | Type | Statut |
|---|---|---|
| Frontend Bucket | S3 | ✅ Active |
| CloudFront Distribution | CDN | ✅ Deployed |
| Lambda Function | Compute | ✅ Active |
| API Gateway HTTP API | Network | ✅ Active |
| DynamoDB Table | Database | ✅ Active |
| Cognito User Pool | Auth | ✅ Configured |
| Secrets Manager | Secrets | ✅ Active |
| CloudWatch Alarms | Monitoring | ✅ Active |
Emplacement: /frontend/src/
-
Accueil (Home)
- Menu principal avec 2 options
- Texte de bienvenue en français
- Boutons larges (60px) pour accessibilité tactile
-
Scénario de Formation (Scenario)
- Affichage d'un faux message de scam
- Bouton pour relire le message (🔊)
- Zone de réponse textuelle avec dictée vocale (🎙️)
- Synthèse vocale du message pour accessibilité
-
Analyse de Message (Detection)
- Upload de photo du message suspect
- Zone de description textuelle
- Lancement de l'analyse IA
-
Résultats (Result)
- Affichage du score de sécurité (0-100)
- Feedback coaching personnalisé
- Badge XP gagné
- Retour à l'accueil
- ✅ Reconnaissance vocale (French -
fr-FR) - ✅ Synthèse vocale/Text-to-Speech (French)
- ✅ Grandes polices (18px base, 22px h2)
- ✅ Contraste amélioré (bleu #0056b3)
- ✅ Cibles tactiles larges (60px min)
- ✅ Support caméra native (capture mobile)
- ✅ ARIA labels pour accessibilité écran
frontend/
├── src/
│ ├── App.jsx (238 lignes - Composant principal)
│ ├── App.css (198 lignes - Styling accessible)
│ ├── index.jsx (11 lignes - Point d'entrée React)
│ └── index.html (Public entry point)
├── package.json (React 18.2.0, axios)
├── .env (REACT_APP_LAMBDA_URL configuré)
└── build/ (Build optimisé prêt pour production)
Statistiques du Build:
- Taille JS: 47.21 kB (gzip)
- Taille CSS: 1.08 kB (gzip)
- Bundle taille: ~48 kB total
Emplacement: /backend/lambda/
-
POST /analyze
- Analyse de scénario/message
- Input:
{ action: 'analyze', scenario, userResponse, imageBase64 } - Output:
{ detection: { score }, coaching: { feedback, xp_earned } }
-
POST /generate_scenario
- Génération d'un faux scénario
- Input:
{ action: 'generate_scenario', userId } - Output:
{ title, content }
Stratégie: API HTTP directes (pas de SDK)
-
OpenAI (Primaire)
- Modèle: GPT-3.5-turbo
- Prompt engineering pour analyse de scam
- Fallback vers Gemini si erreur
-
Google Gemini (Fallback)
- API Google Generative AI
- Analyse de contenu pour contexte
-
Fallback Heuristique
- Détection de keywords de scam
- Pattern matching si LLMs indisponibles
Stockés dans AWS Secrets Manager:
scamguard/openai-key→ OPENAI_API_KEYscamguard/gemini-key→ GEMINI_API_KEY
backend/lambda/
├── index.py (Point d'entrée Lambda)
├── handler_llm.py (Logique principale avec LLM)
├── requirements.txt (boto3, requests, google-generativeai)
└── agents/ (Agents de détection, scénario, etc.)
- Runtime: Python 3.12
- Timeout: 30s
- Memory: 512MB
- Env Vars: Secrets Manager ARNs
- ✅ Cognito User Pool configuré
- ✅ API Gateway avec autorisation
- ✅ Secrets Manager pour API keys
- ✅ HTTPS enforced (CloudFront redirect)
- ✅ CORS configuré
| Type | Valeur | Stockage |
|---|---|---|
| User Pool ID | us-east-1_L35zaDPJn | .env |
| Client ID | tb4o4jblsbtekhtl9s611j4fg | .env |
| OpenAI Key | (Secrets Manager) | AWS Secrets |
| Gemini Key | (Secrets Manager) | AWS Secrets |
Nom: ScamGuardStack
ARN: arn:aws:cloudformation:us-east-1:034362029181:stack/ScamGuardStack/fd4fe6d0-0c38-11f1-a950-0affecae193f
✓ APIEndpoint = https://k4jjgkz8xj.execute-api.us-east-1.amazonaws.com/
✓ CloudFrontURL = https://dv04w7vjfnkg5.cloudfront.net
✓ FrontendBucketName = scamguardstack-frontendbucketefe2e19c-5zt0alq9uprw
✓ TableName = ScamGuardStack-DataTable447BC44E-1BID2SBGQEELH
✓ UserPoolId = us-east-1_L35zaDPJn
✓ CloudFront Distribution ID = E1C54UEBEPD83U
✓ Alarm Topic ARN = arn:aws:sns:us-east-1:034362029181:ScamGuardStack-AlarmTopicD01E77F9-X3HHofJpvWkJ
backend/cdk/
├── app.py (Point d'entrée CDK)
├── stacks/
│ └── scamguard_stack.py (238 lignes - Définition complète)
└── requirements.txt (aws-cdk-lib, constructs)
Nom: ScamGuardStack-DataTable447BC44E-1BID2SBGQEELH
Partition Key: userId Sort Key: timestamp
Attributs Stockés:
- userId
- timestamp
- scenario_id
- user_response
- detection_score
- xp_earned
- feedback
# 1. Développement
cd frontend && npm start
# 2. Build
npm run build
# 3. Déploiement S3
aws s3 sync build/ s3://[BUCKET]/
# 4. Invalidation CloudFront
aws cloudfront create-invalidation --distribution-id E1C54UEBEPD83U --paths "/*"# 1. CDK Synthesis
cdk synth -c account=034362029181 -c region=us-east-1
# 2. Déploiement
cdk deploy --require-approval never
# 3. Lambda Zip package (automatic via CDK)| Date | Type | Fichiers | Statut |
|---|---|---|---|
| 2026-02-17 19:44 | Frontend Upgrade | App.jsx, App.css | ✅ Deployed |
| 2026-02-17 19:42 | CDK Stack | scamguard_stack.py | ✅ Updated |
| 2026-02-17 19:30 | Build React | All components | ✅ Optimized |
| 2026-02-17 18:58 | Initial Deploy | Infrastructure | ✅ Created |
{
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
"axios": "^1.6.0"
},
"devDependencies": {
"react-scripts": "5.0.1"
}
}Vulnérabilités: 32 (24 moderate, 8 high) - À adresser
boto3 (AWS SDK)
requests (HTTP calls)
google-generativeai (Gemini API)
openai (OpenAI API)
python-dotenv (Env config)
Emplacement: /backend/tests/
test_handler.py- Tests API endpointstest_agents.py- Tests agents IAtest_compliance_*.py- Tests conformité RGPDtest_elder_protection.py- Tests protection personnes âgées
État:
pytest /backend/tests/ -vÉtat:
À ajouter:
- Unit tests avec Jest
- E2E tests avec Cypress
- Accessibility tests avec axe
- Ajouter tests unitaires frontend (Jest)
- Fixer les vulnérabilités NPM (
npm audit fix) - Tests E2E avec scénarios réels
- Implémenter logging complet côté frontend
- Configuration de monitoring CloudWatch avancé
- Intégrer Cognito authentication complète
- Ajouter persistance des résultats (DynamoDB)
- Dashboard analytics des utilisateurs
- Multi-langue support (FR/EN/ES)
- Customisation des scénarios de formation
- Mobile app native (iOS/Android)
- Offline mode pour analyse
- Integration WhatsApp/Telegram
- Système de points communautaire
- Partenariats bancaires/polices
| Service | Estimation |
|---|---|
| Lambda | $0.50 - $2.00 |
| API Gateway | $1.00 |
| DynamoDB | $1.00 - $5.00 |
| S3 + CloudFront | $0.50 - $1.00 |
| Secrets Manager | $0.40 |
| CloudWatch | $0.30 |
| TOTAL | ~$4-10/mois |
Basé sur usage MVP faible. Peut augmenter avec scaling.
AWS CLI Profile:
aws sts get-caller-identity --profile default # Root access
aws sts get-caller-identity --profile scamguard-dev # Limited userGit Repository:
cd /Users/echetoui/scamguard-mvp
git branch -a
git log --oneline -10- Infrastructure AWS complète (CDK)
- Frontend React avec accessibilité
- Backend Lambda avec LLM integration
- Déploiement automé S3 + CloudFront
- Gestion des secrets AWS
- Support voix français (speech recognition + TTS)
- Optimisation des bundles
- Tests automatisés complets
- Monitoring & alertes avancées
- Documentation utilisateur
- Authentification Cognito complète
- Tests de charge/stress
- Conformité RGPD documentée
- Performance optimization (< 2s load)
- Backup & disaster recovery
Responsable: @echetoui Compte AWS: 034362029181 Région Primaire: us-east-1 Branche Développement: feature/phase-4-compliance-fdp-integration
Dernière mise à jour: 17 février 2026, 19:50 UTC