# API de Validation de Données Africaines (AfricanVal)
AfricanVal est une API robuste, zero-dépendance, conçue pour valider les formats de données spécifiques au continent africain (Téléphone, NIF, RCCM, IBAN UEMOA, etc.) via une approche 100% algorithmique.
---
## Fonctionnalités Clés
- **Zéro Dépendance** : Pas de bibliothèques externes pour la validation. Tout est basé sur des Regex optimisées et des checksums manuels.
- **Support Multi-Pays** : Plus de 20 pays supportés (UEMOA, CEMAC, Nigeria, Kenya, RSA, Maghreb).
- **Validation IBAN Panafricaine** : Implémentation manuelle du Modulo 97 (ISO 13616).
- **Traitement en Masse (Bulk)** : Support des fichiers CSV et des payloads JSON groupés.
- **Extensibilité** : Règles pilotées par base de données (SQLite) via Seeders.
---
## Preuves de Validation et Tests
Toute la logique algorithmique est couverte par une suite de tests de fonctionnalité garantissant la précision des validations sur les types de données critiques.
**Résultat de l'exécution des tests :**
```text
✓ it can process bulk validation
✓ it can validate a ci phone number
✓ it can validate a ng phone number
✓ it can validate a ke tax id
✓ it fails with invalid iban
✓ it can validate a valid uemoa iban
Tests: 8 passed (14 assertions)
Duration: 0.98s
```
_Ces tests confirment le bon fonctionnement des checksums (Modulo 97) et des regex par pays._
---
## Installation et Configuration
### Prérequis
- PHP 8.1+
- Composer
- SQLite3
### Étapes d'installation
1. **Clonage et Dépendances**
```bash
git clone
composer install
```
2. **Environnement**
```bash
cp .env.example .env
touch database/database.sqlite
php artisan key:generate
```
3. **Migration et Seed (Expansion Multi-Pays)**
```bash
php artisan migrate:refresh --seed
```
4. **Lancement du serveur**
```bash
php artisan serve --port=8001
```
---
## Référence de l'API (Endpoints)
Tous les points de terminaison acceptent du JSON et retournent un objet standardisé.
### 1. Validation …