Metadata-Version: 2.4
Name: q-admin
Version: 0.1.1
Summary: Universal Database Admin Interface - Connect to any database and get an instant admin panel
Project-URL: Homepage, https://github.com/qadmin/q-admin
Project-URL: Documentation, https://github.com/qadmin/q-admin#readme
Project-URL: Repository, https://github.com/qadmin/q-admin
Author: Q Admin Team
Keywords: admin,crud,database,fastapi,sql
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Requires-Dist: aiomysql>=0.2.0
Requires-Dist: aiosqlite>=0.19.0
Requires-Dist: asyncpg>=0.29.0
Requires-Dist: fastapi>=0.104.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: sqlalchemy>=2.0.0
Requires-Dist: uvicorn[standard]>=0.24.0
Provides-Extra: dev
Requires-Dist: httpx>=0.25.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest>=7.4.0; extra == 'dev'
Description-Content-Type: text/markdown

# 🚀 Q Admin

**Interface d'administration universelle pour vos bases de données.**  
Connectez-vous à n'importe quelle base de données (SQLite, PostgreSQL, MySQL) et profitez instantanément d'un panel d'administration moderne, compact et performant.

![Aperçu de Q Admin](frontend/public/screenshot.png) *(Note: Vous pouvez remplacer ce fichier par votre propre capture d'écran)*

---

## ✨ Fonctionnalités

- 💎 **Interface "Elite Compact"** : Un design ultra-dense et moderne inspiré des meilleurs dashboards actuels.
- 🌍 **Multi-Projets** : Gérez plusieurs connexions de bases de données simultanément via le "Hub".
- 🔐 **Sécurité Native** : Système d'authentification intégré avec persistance des sessions.
- 🛠️ **Outils Intégrés** : 
  - Explorateur de données (CRUD).
  - Playground SQL pour des requêtes personnalisées.
  - Visualiseur de schéma (ERD).
  - Support des tunnels SSH pour les bases distantes.
- 🌓 **Mode Sombre / Clair** : Une interface qui s'adapte à vos préférences.

---

## 📋 Prérequis

### Pour l'utilisateur final (Utilisation simple)

- **Python 3.9+** uniquement.  
  *(L'interface est pré-compilée et incluse dans le package Python).*

### Pour le développeur (Modification de l'interface)

- **Node.js 18+** & **npm** (pour compiler le frontend).
- **Python 3.9+** (pour le backend).

---

## 📦 Installation Rapide

Q Admin est distribué en tant que package Python. Vous pouvez l'installer via `pip` ou `pipx` (recommandé pour les outils CLI).

### Via pipx (Recommandé)

```bash
pipx install q-admin
```

### Via pip

```bash
pip install q-admin
```

---

## 🚀 Utilisation

### Lancer le serveur

Une fois installé, lancez simplement la commande suivante :

```bash
q_admin --port 8787
```

Ouvrez ensuite votre navigateur sur : [http://localhost:8787/admin](http://localhost:8787/admin)

### Premier lancement

Au premier démarrage, Q Admin vous guidera via un **Assistant de Configuration** pour :

1. Créer votre compte administrateur maître.
2. Connecter votre première base de données (Locale ou Distante via SSH).

---

## 🛠️ Configuration des bases de données

Q Admin supporte nativement :

- **SQLite** : Indiquez simplement le chemin vers votre fichier `.db`.
- **PostgreSQL** : Support du pilote `asyncpg`.
- **MySQL / MariaDB** : Support du pilote `aiomysql`.
- **SSH Tunneling** : Si votre base n'est pas accessible publiquement, Q Admin peut ouvrir un tunnel sécurisé.

---

## 👨‍💻 Pour les développeurs

Si vous souhaitez contribuer ou modifier l'interface :

1. Cloner le dépôt.
2. **Backend** : `pip install -e .`
3. **Frontend** : `cd frontend && npm install && npm run dev`
4. **Build** : `npm run build` dans le dossier frontend pour intégrer les modifs au package Python.

---

## 📄 Licence

Distribué sous licence MIT. Voir `LICENSE` pour plus d'informations.
