- 🔗 Création de liens courts automatiques
- 📊 Statistiques détaillées (clics, appareils, navigateurs)
- 🔐 Protection par mot de passe
- ⏰ Date d'expiration configurable
- 🎯 Limite de clics
- 📱 QR codes personnalisables (couleurs, fond transparent)
- ✏️ Édition complète des liens
- 🔒 Chiffrement AES-256 côté client (end-to-end)
- 🔐 Protection par mot de passe optionnelle
- 🔥 Auto-destruction après lecture (burn after read)
- ⏰ Date d'expiration configurable
- 👁️ Limite de vues configurable
- 📋 Dashboard de gestion des notes
- 🎫 Création de tickets de support avec catégorie et priorité
- 💬 Vue chat pour les conversations en temps réel
- ⚡ Messages instantanés (optimistic updates + polling)
- 📋 Liste des tickets avec statuts et historique
- 👥 Gestion complète des utilisateurs (blocage, suppression, réinitialisation mot de passe)
- 🛡️ Système de rôles avec permissions granulaires (19 permissions, 6 modules)
- 🎫 Gestion des tickets (réponse, notes internes, changement de statut)
- 📊 Dashboard avec statistiques en temps réel
- 📋 Logs d'audit pour tracer toutes les actions
- ⚙️ Paramètres système configurables
- 🔒 Hiérarchie des rôles avec protections de sécurité
- 🌍 Multi-langue (Français / English) avec détection automatique
- 🎨 Thèmes clair / sombre / système (synchronisé avec le compte)
- 🔔 Notifications toast personnalisées
- 💬 Popups de confirmation personnalisées
- 📱 Interface responsive
- ⚖️ Pages légales complètes (Mentions, Confidentialité, CGU, Cookies)
| Outil | Description | Status |
|---|---|---|
| ATransfer | Transfert de fichiers jusqu'à 50 Go | 🔜 Bientôt |
| ACalendar | Gestion d'agenda et événements | 🔜 Bientôt |
| AMail | Messagerie sécurisée | 🔜 Bientôt |
| ADrive | Stockage cloud | 🔜 Bientôt |
| AMeet | Visioconférence | 🔜 Bientôt |
| ADocs | Traitement de texte collaboratif | 🔜 Bientôt |
| ASheets | Tableur en ligne | 🔜 Bientôt |
| ASlides | Présentations et diaporamas | 🔜 Bientôt |
- Node.js 20+ (télécharger)
- pnpm 9+ (
npm install -g pnpm)
# Cloner le projet
git clone https://github.com/Aprilox/ASuite.git
cd ASuite
# Installer les dépendances
pnpm install
# Copier la configuration
cp env.example .env # Linux/Mac
copy env.example .env # WindowsÉditez le fichier .env avec vos paramètres. Configuration minimale :
DATABASE_URL="file:./dev.db"
NEXTAUTH_SECRET="votre-secret-change-moi"
NEXTAUTH_URL="http://localhost:3000"
APP_URL="http://localhost:3000"
NEXT_PUBLIC_APP_URL="http://localhost:3000"📄 Voir
env.examplepour toutes les options disponibles.
# Générer le client Prisma
pnpm db:generate
# Créer les tables dans la base de données
pnpm db:push
# Initialiser les permissions et rôles par défaut
pnpm db:seed
# Lancer en développement
pnpm devOuvrez http://localhost:3000 🎉
Après l'installation, créez votre compte administrateur via le CLI interactif :
pnpm db:adminLe script vous guidera pas à pas :
- 📧 Entrez l'email de l'administrateur
- 🔐 Entrez le mot de passe (min. 8 caractères, masqué)
- 🔐 Confirmez le mot de passe
- 👤 Entrez un nom (optionnel)
⚠️ Si un administrateur existe déjà, le script mettra à jour son mot de passe.
Une fois connecté avec un compte administrateur :
- Cliquez sur votre avatar en haut à droite
- Sélectionnez "Administration"
- Ou accédez directement à http://localhost:3000/admin
| Module | Permissions |
|---|---|
| Utilisateurs | Voir, Modifier, Bloquer, Supprimer, Réinitialiser mot de passe |
| Rôles | Voir, Créer, Modifier, Supprimer, Assigner, Réorganiser |
| Tickets | Voir, Répondre, Fermer, Supprimer |
| Paramètres | Voir, Modifier |
| Audit | Voir les logs d'activité |
| Administration | Accès au dashboard |
Les rôles sont organisés par priorité (0 = plus important) :
- Un utilisateur ne peut pas modifier un rôle de rang supérieur ou égal
- Un utilisateur ne peut pas agir sur un utilisateur avec un rôle supérieur
- Un utilisateur ne peut pas modifier son propre rôle
- L'administrateur système (priority 0) ne peut pas être supprimé
Aucune installation requise. La base de données est un fichier local.
DATABASE_URL="file:./dev.db"DATABASE_URL="postgresql://user:password@host:5432/asuite"DATABASE_URL="mysql://user:password@host:3306/asuite"ASuite/
├── apps/
│ └── web/ # Application Next.js principale
│ ├── public/ # Assets statiques (favicon, images)
│ ├── src/
│ │ ├── app/ # Routes et pages
│ │ ├── components/ # Composants React
│ │ ├── hooks/ # Hooks personnalisés
│ │ ├── lib/ # Utilitaires
│ │ ├── providers/ # Context providers (Auth, Theme)
│ │ └── types/ # Types TypeScript
│ └── ...
├── packages/
│ ├── database/ # Prisma ORM et client
│ ├── ui/ # Composants UI partagés
│ └── utils/ # Utilitaires partagés
├── env.example # Configuration exemple
├── turbo.json # Configuration Turborepo
└── pnpm-workspace.yaml # Workspaces pnpm
| Commande | Description |
|---|---|
pnpm dev |
Lancer en mode développement |
pnpm build |
Build de production |
pnpm start |
Lancer en mode production (après build) |
pnpm lint |
Vérification du code |
pnpm db:generate |
Générer le client Prisma |
pnpm db:push |
Appliquer le schéma à la DB |
pnpm db:seed |
Initialiser permissions et rôles par défaut |
pnpm db:admin |
Créer/mettre à jour un compte administrateur |
pnpm db:studio |
Interface graphique pour la DB |
pnpm clean |
Nettoyer les builds et node_modules |
- ✅ Authentification par session sécurisée
- ✅ Mots de passe hashés avec bcrypt (cost 12)
- ✅ Protection anti brute-force (rate limiting par IP)
- ✅ Headers HTTP sécurisés (CSP, X-Frame-Options, etc.)
- ✅ Invalidation des sessions au changement de mot de passe
- ✅ Protection CSRF
- ✅ Validation des entrées côté serveur
- ✅ Données isolées par utilisateur
- Frontend : Next.js 14, React 18, Tailwind CSS
- Backend : Next.js API Routes
- Base de données : Prisma ORM (SQLite/PostgreSQL/MySQL)
- Authentification : Sessions + Cookies
- Monorepo : Turborepo + pnpm workspaces
- Langage : TypeScript
Version actuelle : v1.6.2 - Système de réinitialisation de mot de passe sécurisé
📋 Voir le Journal des modifications complet
Propriétaire - Tous droits réservés
Ce projet est sous licence propriétaire. Toute utilisation, modification ou distribution sans autorisation écrite préalable est strictement interdite.
📧 Contact : contact@aprilox.fr
Voir le fichier LICENSE pour plus de détails.
Fait avec ❤️ pour la productivité
© 2025 Aprilox - Tous droits réservés