Skip to content

Repository files navigation

NxtAIGen

NxtAIGen

Plateforme d'IA conversationnelle multi-fournisseurs
Une interface unifiée. 12 fournisseurs d'IA. Streaming en temps réel.

PHP 8.5 MySQL 9.5 TailwindCSS v4 Vanilla JS Licence MIT

Fonctionnalités  •  Fournisseurs  •  Démarrage rapide  •  Abonnements  •  Structure  •  Licence


Fonctionnalités

Fonctionnalité Détails
Multi-IA 12 fournisseurs d'IA OpenAI, Anthropic, Gemini, DeepSeek, Mistral, xAI, Perplexity, OpenRouter, Hugging Face, Moonshot, GitHub Copilot, Ollama
Streaming Temps réel Server-Sent Events, affichage token par token
Multi-format Entrée riche Texte, images, PDF, DOCX (jusqu'à 10 Mo)
Accès invité Sans compte 5 messages par période de 24h
Abonnements Plans flexibles Gratuit, Basic, Premium, Ultra via Stripe
Sécurité Clés API chiffrées AES-256-CBC, jamais stockées en clair
Administration Panneau complet Gestion des fournisseurs, modèles, clés et limites

Stack technique

Couche Technologie
Backend PHP 8.5, MySQL 9.5
Frontend Vanilla JS, TailwindCSS v4
Rendu Markdown Marked.js 15.0.4
Coloration syntaxique Highlight.js 11.11.1 (thème github-dark)
Icônes Font Awesome 7.0.1
Polices TikTok Sans, Noto Color Emoji

Fournisseurs intégrés

Fournisseur Format API
OpenAI OpenAI
Anthropic Custom (images avant texte)
Google Gemini Custom (inlineData)
DeepSeek Compatible OpenAI
Mistral Compatible OpenAI
xAI (Grok) Compatible OpenAI
Perplexity Compatible OpenAI
OpenRouter Compatible OpenAI
Hugging Face Compatible OpenAI
Moonshot (Kimi) Compatible OpenAI
GitHub Copilot OpenAI + OAuth
Ollama Custom (local)

Démarrage rapide

Prérequis

  • PHP 8.5+
  • MySQL 9.5+
  • Node.js (pour TailwindCSS)
  • Serveur Apache (WAMP, XAMPP, etc.)

Installation

# 1. Cloner le dépôt
git clone https://github.com/scorpion7slayer/NxtAIGen.git
cd NxtAIGen

# 2. Installer les dépendances front-end
npm install

# 3. Importer le schéma de base de données
mysql -u root -p < database/nxtgenai.schema.sql

# 4. Configurer les variables d'environnement
cp .env.example .env
# Éditez .env avec vos clés de fournisseurs, credentials DB, Stripe, GitHub OAuth

# 5. Compiler le CSS (mode développement)
npx @tailwindcss/cli -i ./src/input.css -o ./src/output.css --watch

Première configuration

Créez un utilisateur administrateur avec is_admin = 1 dans la base de données, puis gérez l'ensemble de la plateforme depuis /admin/settings.php.


Abonnements & limites

Plan Par heure Par jour Par mois Prix
Gratuit 10 30 150 0 $
Basic 20 50 1 000 5 $/mois
Premium 50 200 5 000 15 $/mois
Ultra 100 Illimité Illimité 29 $/mois

Les paiements sont gérés via Stripe (mode test disponible).


Structure du projet

NxtAIGen/
├── admin/              # Panneau d'administration
├── api/                # APIs backend
│   ├── github/         # Intégration OAuth GitHub Copilot
│   ├── streamApi.php   # Point d'entrée unique (streaming SSE)
│   ├── helpers.php     # Formatage multi-fournisseurs
│   ├── models.php      # Auto-détection dynamique des modèles
│   ├── rate_limiter.php# Limites d'utilisation
│   └── *Api.php        # Endpoints par fournisseur
├── assets/
│   ├── js/             # Scripts front-end
│   ├── fonts/          # TikTok Sans, Noto Color Emoji
│   └── images/         # Icônes des fournisseurs (SVG)
├── database/           # Schéma SQL et migrations
├── shop/               # Intégration abonnements Stripe
├── zone_membres/       # Authentification utilisateur
├── src/
│   ├── input.css       # Source TailwindCSS
│   └── output.css      # CSS compilé
└── index.php           # Point d'entrée principal

Sécurité

  • Chiffrement AES-256-CBC pour toutes les clés API
  • Protection CSRF via tokens de session PHP
  • OAuth 2.0 pour l'intégration GitHub
  • En-têtes de sécurité : X-Content-Type-Options, X-Frame-Options, Referrer-Policy
  • Vérification HMAC-SHA256 des webhooks Stripe
  • Aucune clé en clair dans la base de données

Licence

Ce projet est distribué sous licence MIT.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages