AI4Nieup est une plateforme d'apprentissage adaptatif dédiée à l'Intelligence Artificielle, développée par le DiCentre4AI (Data Innovation Center for AI) de l'Université Cheikh Anta Diop de Dakar (UCAD).
Contrairement aux formations classiques qui imposent un parcours unique, AI4Nieup permet à chaque apprenant de choisir sa profondeur d'apprentissage selon ses objectifs, son temps disponible et son contexte professionnel.
| Couche | Technologies |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript, TailwindCSS 3.4, Shadcn/ui |
| Backend | Next.js API Routes (56 endpoints), NextAuth.js 4.24 |
| Base de données | PostgreSQL 14+, Prisma ORM 5.22 |
| IA/ML | Anthropic Claude, Groq LLaMA, Pyodide (Python WASM) |
| Infrastructure | Docker, Docker Compose |
ai4nieup/
├── app/ # Next.js App Router
│ ├── (auth)/ # Authentification (login, register, onboarding)
│ ├── (main)/ # Pages principales
│ │ ├── parcours/ # Dashboard personnalisé
│ │ ├── concepts/ # Catalogue des concepts
│ │ ├── competences/ # Les 5 compétences
│ │ ├── playground/ # Éditeur Python
│ │ ├── graphe/ # Graphe de connaissances
│ │ ├── documents/ # Upload PDF (RAG)
│ │ ├── assistant/ # Chatbot IA
│ │ ├── dashboard/ # Tableau de bord
│ │ ├── profile/ # Profil apprenant
│ │ └── admin/ # Administration
│ └── api/ # 56 API Routes REST
├── components/ # Composants React (15 modules)
│ ├── admin/ # Interface administration
│ ├── assistant/ # Chatbot IA
│ ├── auth/ # Authentification
│ ├── concept/ # Affichage des concepts
│ ├── content/ # Rendu du contenu pédagogique
│ ├── dashboard/ # Tableau de bord
│ ├── documents/ # Gestion documents PDF
│ ├── graph/ # ReactFlow - graphe de connaissances
│ ├── layout/ # Layout principal
│ ├── profile/ # Profil utilisateur
│ ├── python/ # Playground Pyodide
│ ├── quiz/ # Système de quiz
│ └── ui/ # Shadcn/ui
├── services/ # Logique métier
│ ├── adaptive/ # Moteur de recommandations
│ ├── llm/ # Providers LLM (Claude, Groq)
│ ├── rag/ # Pipeline PDF → Concepts
│ └── progress/ # Tracking progression
├── contexts/ # React Contexts (Auth, Theme)
├── lib/ # Utilitaires
├── prisma/ # Schéma BDD (20 tables)
├── scripts/ # Scripts utilitaires
└── public/ # Assets statiques
20 tables organisées en 6 domaines :
| Niveau | Description | Public cible | Durée |
|---|---|---|---|
| Intuition | Comprendre les concepts de manière intuitive | Décideurs, grand public | 15-30 min |
| Application | Mettre en pratique avec du code Python | Développeurs, data analysts | 45-90 min |
| Formel | Maîtriser les fondements mathématiques | Chercheurs, doctorants | 60-120 min |
| Code | Compétence | Description |
|---|---|---|
| C1 | Utiliser l'IA au quotidien | ChatGPT, assistants IA, outils pratiques |
| C2 | Analyser des données avec l'IA | Data science, visualisation, insights |
| C3 | Construire des modèles d'IA | Machine Learning, Deep Learning |
| C4 | Innover avec l'IA | Applications métier, entrepreneuriat |
| C5 | Maîtriser la théorie de l'IA | Fondements mathématiques, recherche |
# 1. Cloner le repository
git clone https://github.com/elbachir67/ai4nieup_shared.git
cd ai4nieup_shared
# 2. Installer les dépendances
npm install
# 3. Configurer l'environnement
cp .env.example .env
# Éditer .env avec vos valeurs
# 4. Initialiser la base de données
npx prisma migrate dev
npx prisma db seed
# 5. Lancer en développement
npm run dev
L'application sera accessible sur http://localhost:3000
# Base de données
DATABASE_URL="postgresql://user:password@localhost:5432/ai4nieup"
# Authentification
NEXTAUTH_SECRET="votre-secret-32-caracteres-minimum"
NEXTAUTH_URL="http://localhost:3000"
# LLM Providers
ANTHROPIC_API_KEY="sk-ant-..."
GROQ_API_KEY="gsk_..."
# Construire et lancer
docker-compose up -d
# Initialiser la base de données
docker-compose exec app npx prisma migrate deploy
docker-compose exec app npx prisma db seed
# Voir les logs
docker-compose logs -f app
| Commande | Description |
|---|---|
npm run dev | Serveur développement (port 3000) |
npm run build | Build production |
npm run start | Serveur production |
npm run lint | Linter ESLint |
npm run db:seed | Charger données initiales |
npm run db:reset | Reset complet base de données |
npm run db:studio | Interface Prisma Studio |
npm run seed:c1-culture | Seed concepts C1 - Culture IA |
npm run seed:c1-prerequisites | Seed prérequis C1 |
npm run seed:c2 | Seed concepts C2 - Analyse de données |
npm run seed:c2-prerequisites | Seed prérequis C2 |
npm run seed:c3 | Seed concepts C3 - Construction de modèles |
L'application expose 56 endpoints REST :
| Catégorie | Endpoints | Description |
|---|---|---|
| Auth | 2 | Inscription, connexion (NextAuth) |
| Onboarding | 3 | Profil, chat IA, finalisation |
| Concepts | 18 | CRUD, niveaux, quiz, prérequis, recherche, évaluations |
| Compétences | 2 | Liste et détail des compétences |
| Progression | 3 | Tracking, validation, complétions |
| Recommandations | 3 | Algorithme adaptatif, personnalisé, suivant |
| Quiz | 2 | Récupération et soumission |
| RAG | 10 | Upload PDF, extraction, génération, recherche, streaming |
| Documents | 2 | Extraction de concepts, publication |
| Dashboard | 1 | Tableau de bord personnalisé |
| Utilisateur | 3 | Profil, progression par concept |
| Admin | 3 | Statistiques, utilisateurs, statut LLM |
| Content | 1 | Validation de contenu |
| Health | 1 | Health check |
Le moteur adaptatif calcule un score pour chaque concept :
Score = 0.30 × (prérequis satisfaits)
+ 0.25 × (alignement compétence cible)
+ 0.20 × (correspondance difficulté)
+ 0.15 × (récence)
+ 0.10 × (popularité)
Pour accéder au concept C au niveau ℓ, tous les prérequis P de C doivent être complétés au niveau ℓ.
| Rôle | Permissions |
|---|---|
| LEARNER | Parcourir, quiz, progression |
| AUTHOR | + Créer/modifier concepts et quiz |
| ADMIN | + Gérer utilisateurs, statistiques |
Les manuels sont disponibles dans le dossier public/ :
| Document | Description |
|---|---|
| Manuel Fonctionnel | Guide utilisateur complet |
| Manuel Technique | Architecture, API, base de données |
# Créer une migration
npx prisma migrate dev --name nom_migration
# Appliquer en production
npx prisma migrate deploy
# Ouvrir Prisma Studio
npx prisma studio
GET /api/health
Dr. El Hadji Bassirou TOURÉ
Ce projet est développé dans le cadre de l'initiative AI4Nieup - L'IA pour Tous.
AI4Nieup — L'Intelligence Artificielle pour Tous
2 commits
TypeScript
91.8%
Python
6.0%
JavaScript
1.5%
AI4Nieup est une plateforme d'apprentissage adaptatif dédiée à l'Intelligence Artificielle, développée par le DiCentre4AI (Data Innovation Center for AI) de l'Université Cheikh Anta Diop de Dakar (UCAD).
Contrairement aux formations classiques qui imposent un parcours unique, AI4Nieup permet à chaque apprenant de choisir sa profondeur d'apprentissage selon ses objectifs, son temps disponible et son contexte professionnel.
| Couche | Technologies |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript, TailwindCSS 3.4, Shadcn/ui |
| Backend | Next.js API Routes (56 endpoints), NextAuth.js 4.24 |
| Base de données | PostgreSQL 14+, Prisma ORM 5.22 |
| IA/ML | Anthropic Claude, Groq LLaMA, Pyodide (Python WASM) |
| Infrastructure | Docker, Docker Compose |
ai4nieup/
├── app/ # Next.js App Router
│ ├── (auth)/ # Authentification (login, register, onboarding)
│ ├── (main)/ # Pages principales
│ │ ├── parcours/ # Dashboard personnalisé
│ │ ├── concepts/ # Catalogue des concepts
│ │ ├── competences/ # Les 5 compétences
│ │ ├── playground/ # Éditeur Python
│ │ ├── graphe/ # Graphe de connaissances
│ │ ├── documents/ # Upload PDF (RAG)
│ │ ├── assistant/ # Chatbot IA
│ │ ├── dashboard/ # Tableau de bord
│ │ ├── profile/ # Profil apprenant
│ │ └── admin/ # Administration
│ └── api/ # 56 API Routes REST
├── components/ # Composants React (15 modules)
│ ├── admin/ # Interface administration
│ ├── assistant/ # Chatbot IA
│ ├── auth/ # Authentification
│ ├── concept/ # Affichage des concepts
│ ├── content/ # Rendu du contenu pédagogique
│ ├── dashboard/ # Tableau de bord
│ ├── documents/ # Gestion documents PDF
│ ├── graph/ # ReactFlow - graphe de connaissances
│ ├── layout/ # Layout principal
│ ├── profile/ # Profil utilisateur
│ ├── python/ # Playground Pyodide
│ ├── quiz/ # Système de quiz
│ └── ui/ # Shadcn/ui
├── services/ # Logique métier
│ ├── adaptive/ # Moteur de recommandations
│ ├── llm/ # Providers LLM (Claude, Groq)
│ ├── rag/ # Pipeline PDF → Concepts
│ └── progress/ # Tracking progression
├── contexts/ # React Contexts (Auth, Theme)
├── lib/ # Utilitaires
├── prisma/ # Schéma BDD (20 tables)
├── scripts/ # Scripts utilitaires
└── public/ # Assets statiques
20 tables organisées en 6 domaines :
| Niveau | Description | Public cible | Durée |
|---|---|---|---|
| Intuition | Comprendre les concepts de manière intuitive | Décideurs, grand public | 15-30 min |
| Application | Mettre en pratique avec du code Python | Développeurs, data analysts | 45-90 min |
| Formel | Maîtriser les fondements mathématiques | Chercheurs, doctorants | 60-120 min |
| Code | Compétence | Description |
|---|---|---|
| C1 | Utiliser l'IA au quotidien | ChatGPT, assistants IA, outils pratiques |
| C2 | Analyser des données avec l'IA | Data science, visualisation, insights |
| C3 | Construire des modèles d'IA | Machine Learning, Deep Learning |
| C4 | Innover avec l'IA | Applications métier, entrepreneuriat |
| C5 | Maîtriser la théorie de l'IA | Fondements mathématiques, recherche |
# 1. Cloner le repository
git clone https://github.com/elbachir67/ai4nieup_shared.git
cd ai4nieup_shared
# 2. Installer les dépendances
npm install
# 3. Configurer l'environnement
cp .env.example .env
# Éditer .env avec vos valeurs
# 4. Initialiser la base de données
npx prisma migrate dev
npx prisma db seed
# 5. Lancer en développement
npm run dev
L'application sera accessible sur http://localhost:3000
# Base de données
DATABASE_URL="postgresql://user:password@localhost:5432/ai4nieup"
# Authentification
NEXTAUTH_SECRET="votre-secret-32-caracteres-minimum"
NEXTAUTH_URL="http://localhost:3000"
# LLM Providers
ANTHROPIC_API_KEY="sk-ant-..."
GROQ_API_KEY="gsk_..."
# Construire et lancer
docker-compose up -d
# Initialiser la base de données
docker-compose exec app npx prisma migrate deploy
docker-compose exec app npx prisma db seed
# Voir les logs
docker-compose logs -f app
| Commande | Description |
|---|---|
npm run dev | Serveur développement (port 3000) |
npm run build | Build production |
npm run start | Serveur production |
npm run lint | Linter ESLint |
npm run db:seed | Charger données initiales |
npm run db:reset | Reset complet base de données |
npm run db:studio | Interface Prisma Studio |
npm run seed:c1-culture | Seed concepts C1 - Culture IA |
npm run seed:c1-prerequisites | Seed prérequis C1 |
npm run seed:c2 | Seed concepts C2 - Analyse de données |
npm run seed:c2-prerequisites | Seed prérequis C2 |
npm run seed:c3 | Seed concepts C3 - Construction de modèles |
L'application expose 56 endpoints REST :
| Catégorie | Endpoints | Description |
|---|---|---|
| Auth | 2 | Inscription, connexion (NextAuth) |
| Onboarding | 3 | Profil, chat IA, finalisation |
| Concepts | 18 | CRUD, niveaux, quiz, prérequis, recherche, évaluations |
| Compétences | 2 | Liste et détail des compétences |
| Progression | 3 | Tracking, validation, complétions |
| Recommandations | 3 | Algorithme adaptatif, personnalisé, suivant |
| Quiz | 2 | Récupération et soumission |
| RAG | 10 | Upload PDF, extraction, génération, recherche, streaming |
| Documents | 2 | Extraction de concepts, publication |
| Dashboard | 1 | Tableau de bord personnalisé |
| Utilisateur | 3 | Profil, progression par concept |
| Admin | 3 | Statistiques, utilisateurs, statut LLM |
| Content | 1 | Validation de contenu |
| Health | 1 | Health check |
Le moteur adaptatif calcule un score pour chaque concept :
Score = 0.30 × (prérequis satisfaits)
+ 0.25 × (alignement compétence cible)
+ 0.20 × (correspondance difficulté)
+ 0.15 × (récence)
+ 0.10 × (popularité)
Pour accéder au concept C au niveau ℓ, tous les prérequis P de C doivent être complétés au niveau ℓ.
| Rôle | Permissions |
|---|---|
| LEARNER | Parcourir, quiz, progression |
| AUTHOR | + Créer/modifier concepts et quiz |
| ADMIN | + Gérer utilisateurs, statistiques |
Les manuels sont disponibles dans le dossier public/ :
| Document | Description |
|---|---|
| Manuel Fonctionnel | Guide utilisateur complet |
| Manuel Technique | Architecture, API, base de données |
# Créer une migration
npx prisma migrate dev --name nom_migration
# Appliquer en production
npx prisma migrate deploy
# Ouvrir Prisma Studio
npx prisma studio
GET /api/health
Dr. El Hadji Bassirou TOURÉ
Ce projet est développé dans le cadre de l'initiative AI4Nieup - L'IA pour Tous.
AI4Nieup — L'Intelligence Artificielle pour Tous
2 commits
TypeScript
91.8%
Python
6.0%
JavaScript
1.5%