Guide d'Installation d'AletWiki

Bienvenue dans le guide d'installation d'AletWiki ! Ce guide vous accompagnera pas à pas pour mettre en place votre environnement de développement.

Prérequis

Avant de commencer, assurez-vous d'avoir installé :

  • Node.js 18.0 ou supérieur
  • PostgreSQL 15.0 ou supérieur
  • Git pour le contrôle de version

Vérification des versions

# Vérifier Node.js
node --version
# Devrait afficher v18.0.0 ou supérieur

# Vérifier npm
npm --version
# Devrait afficher 8.0.0 ou supérieur

# Vérifier PostgreSQL
psql --version
# Devrait afficher 15.0 ou supérieur

Installation

1. Clonage du repository

git clone https://github.com/AletWork/AletWiki.git
cd AletWiki

2. Installation des dépendances

npm install

3. Configuration de la base de données

Créez une base de données PostgreSQL et un utilisateur :

-- Créer la base de données
CREATE DATABASE aletwiki;

-- Créer un utilisateur
CREATE USER aletwiki_user WITH PASSWORD 'votre_mot_de_passe';

-- Donner les permissions
GRANT ALL PRIVILEGES ON DATABASE aletwiki TO aletwiki_user;

4. Configuration Supabase

  1. Créez un projet sur Supabase
  2. Récupérez l'URL et la clé anonyme
  3. Configurez les variables d'environnement

5. Variables d'environnement

Créez un fichier .env.local à la racine du projet :

# Base de données Supabase
NEXT_PUBLIC_SUPABASE_URL=https://votre-projet.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=votre_clé_anonyme
SUPABASE_SERVICE_ROLE_KEY=votre_clé_service

# NextAuth.js
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=votre_secret_nextauth

# OAuth (optionnel)
GOOGLE_CLIENT_ID=votre_client_id_google
GOOGLE_CLIENT_SECRET=votre_client_secret_google

6. Application des politiques RLS

Exécutez le script SQL des politiques de sécurité :

# Via l'interface Supabase ou psql
psql -h votre_host -U votre_user -d aletwiki -f policies.sql

7. Démarrage du serveur

npm run dev

Votre application sera accessible sur http://localhost:3000.

Structure du Projet

Après installation, votre projet aura cette structure :

aletwiki/
├── app/                    # Routes Next.js
│   ├── (public)/          # Contenu public
│   ├── (authenticated)/   # Contenu authentifié
│   └── (admin)/           # Administration
├── content/               # Fichiers MDX
│   ├── public/           # Contenu accessible sans auth
│   └── private/          # Contenu réservé
├── src/
│   ├── components/       # Composants React
│   ├── hooks/           # Hooks personnalisés
│   └── lib/             # Utilitaires
└── docs/                 # Documentation

Premiers Pas

Création d'un compte administrateur

  1. Accédez à l'application
  2. Cliquez sur "Se connecter"
  3. Utilisez OAuth ou créez un compte
  4. Un rôle 'learner' sera automatiquement assigné

Accès à l'administration

Pour obtenir les droits admin, contactez l'équipe ou modifiez manuellement les rôles en base de données.

Dépannage

Erreur de connexion à la base de données

Vérifiez :

  • Que PostgreSQL est démarré
  • Que les variables d'environnement sont correctes
  • Que l'utilisateur a les bonnes permissions

Erreur lors du build

# Nettoyer le cache
rm -rf .next
npm run build

Problème avec les politiques RLS

Assurez-vous que le script policies.sql a été exécuté correctement dans Supabase.

Prochaines Étapes

Maintenant que AletWiki est installé, vous pouvez :


Note : Ce guide est accessible publiquement. Pour accéder aux fonctionnalités avancées, créez un compte utilisateur.