Skip to main content

Package Django réutilisable pour personnaliser l'interface d'administration avec graphiques dynamiques, grilles de données et thèmes modernes

Project description

Admin Custom - Personnalisation Complète de l'Admin Django

📋 À propos du projet

Admin Custom est un package Django réutilisable qui transforme l'interface d'administration Django standard en une expérience moderne, personnalisable et professionnelle. Ce projet répond au besoin de créer une interface admin sur-mesure sans avoir à réécrire tout le système d'administration Django.

🎯 Pourquoi ce projet ?

L'administration Django par défaut, bien que fonctionnelle, présente plusieurs limitations :

  • Design obsolète : L'interface standard manque de modernité et de personnalisation
  • Configuration manuelle fastidieuse : Chaque modèle doit être enregistré manuellement
  • Manque de flexibilité : Difficile d'ajouter des fonctionnalités personnalisées (graphiques, dashboards)
  • Pas de système de thèmes : Impossible de changer l'apparence sans modifier le code
  • Structure non réutilisable : Les personnalisations sont liées à un projet spécifique

Admin Custom résout tous ces problèmes en offrant :

Auto-découverte automatique : Tous vos modèles sont détectés et enregistrés automatiquement ✅ 7 thèmes personnalisables : Choisissez parmi plusieurs palettes de couleurs sobres et professionnelles ✅ Dashboard interactif : Graphiques dynamiques et grilles de données configurables ✅ Package réutilisable : Installez-le dans n'importe quel projet Django ✅ Navigation moderne : Interface intuitive avec indicateurs visuels ✅ Effets visuels avancés : Glassmorphism et animations fluides

🚀 Installation et lancement

Prérequis

  • Python 3.8 ou supérieur
  • Django 4.0 ou supérieur
  • pip (gestionnaire de paquets Python)

Installation

  1. Cloner le projet (si vous travaillez depuis le dépôt Git)

  2. Créer un environnement virtuel (recommandé)

    python -m venv venv
    
  3. Activer l'environnement virtuel

    Sur Windows :

    venv\Scripts\activate
    

    Sur Linux/Mac :

    source venv/bin/activate
    
  4. Installer les dépendances

    pip install -r requirements.txt
    

    Si le fichier requirements.txt n'existe pas, installez Django :

    pip install django
    
  5. Configurer la base de données

    python manage.py migrate
    
  6. Créer un superutilisateur (pour accéder à l'admin)

    python manage.py createsuperuser
    

    Suivez les instructions pour créer un compte administrateur.

  7. Lancer le serveur de développement

    python manage.py runserver
    
  8. Accéder à l'interface admin

    Ouvrez votre navigateur et allez à :

    http://127.0.0.1:8000/admin/
    

    Connectez-vous avec les identifiants du superutilisateur créé à l'étape 6.

🎨 Fonctionnalités principales

Auto-découverte des modèles

Aucun enregistrement manuel nécessaire ! Tous vos modèles sont automatiquement détectés et enregistrés dans l'admin personnalisé. Il suffit de créer vos fichiers admin.py normalement avec @admin.register(), et le système fait le reste.

Système de thèmes

7 thèmes disponibles avec des palettes de couleurs sobres et professionnelles :

  • Default : Gris-bleu sobre et classique
  • Dark : Mode sombre moderne
  • Liquid Glass : Effets glassmorphism élégants
  • Nostalgie : Style rétro discret
  • Océan : Palette bleu-gris apaisante
  • Sunset : Tons beige-rose chaleureux
  • Forêt : Vert-gris naturel

Chaque thème adapte automatiquement :

  • Les couleurs de fond et de texte
  • La navigation
  • Les cartes et modules
  • Les boutons et formulaires
  • Les tableaux

Dashboard interactif

  • Graphiques dynamiques : Visualisez vos données avec des graphiques configurables
  • Grilles de données : Créez des tableaux personnalisés avec filtres et recherche
  • Statistiques en temps réel : Suivez les métriques importantes de votre application

Navigation personnalisée

  • Barre de navigation moderne avec indicateurs visuels
  • Liens actifs mis en évidence
  • Transitions fluides entre les pages
  • Responsive et adaptatif

📁 Structure du projet

AGILE Méth/
├── admin_custom/          # Package principal
│   ├── static/            # Fichiers statiques (CSS, JS, images)
│   ├── templates/         # Templates personnalisés
│   ├── admin_site.py      # CustomAdminSite
│   ├── autodiscover.py    # Système d'auto-découverte
│   └── ...
├── sandbox/               # Projet Django de démonstration
│   ├── settings.py
│   ├── urls.py
│   └── ...
├── sales/                 # Exemple d'app avec modèles
├── catalog/               # Exemple d'app avec modèles
├── accounts/              # Exemple d'app avec modèles
├── manage.py
├── requirements.txt
└── README.md

🔧 Configuration

Utilisation dans votre projet

  1. Ajouter admin_custom à INSTALLED_APPS dans settings.py

  2. Configurer les URLs dans urls.py :

    from admin_custom.admin_site import custom_admin_site
    from admin_custom.autodiscover import autodiscover_models
    
    # Auto-découvrir tous les modèles
    autodiscover_models(custom_admin_site, exclude_apps=['admin_custom'])
    
    urlpatterns = [
        path('admin/', custom_admin_site.urls),
    ]
    
  3. C'est tout ! Vos modèles sont automatiquement détectés.

Personnalisation avancée

Consultez le fichier admin_custom/AUTODISCOVERY.md pour plus de détails sur :

  • L'exclusion d'apps ou de modèles spécifiques
  • La configuration via settings.py
  • Les cas d'usage avancés

📚 Documentation

  • AUTODISCOVERY.md : Documentation complète du système d'auto-découverte
  • Code source : Commentaires détaillés dans tous les fichiers Python

🛠️ Commandes utiles

Développement

# Lancer le serveur
python manage.py runserver

# Créer des migrations
python manage.py makemigrations

# Appliquer les migrations
python manage.py migrate

# Créer un superutilisateur
python manage.py createsuperuser

# Accéder au shell Django
python manage.py shell

# Collecter les fichiers statiques (production)
python manage.py collectstatic

Nettoyage de la base de données

# Nettoyer les commandes tout en gardant des dates variées
python manage.py cleanup_orders --keep 50

🎯 Cas d'usage

Ce package est idéal pour :

  • Applications métier : Interface admin professionnelle pour vos clients
  • Projets internes : Dashboard moderne pour la gestion de données
  • Développement rapide : Pas besoin de configurer chaque modèle manuellement
  • Projets réutilisables : Installez le package dans plusieurs projets

🔒 Sécurité

  • Toutes les fonctionnalités respectent le système de permissions Django
  • Les utilisateurs doivent être authentifiés pour accéder à l'admin
  • Les permissions par modèle sont préservées

📝 Notes importantes

  • Ce projet est en développement actif
  • Les thèmes peuvent être personnalisés via les variables CSS
  • L'auto-découverte fonctionne avec tous les modèles Django standards
  • Compatible avec Django 4.0+

🤝 Contribution

Ce projet est développé dans le cadre d'une étude sur les méthodes agiles et la personnalisation de l'administration Django.

📄 Licence

Ce projet est fourni à des fins éducatives et de démonstration.


Développé avec ❤️ pour améliorer l'expérience d'administration Django

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

personnalisation_admin_django_iit-0.3.0.tar.gz (5.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file personnalisation_admin_django_iit-0.3.0.tar.gz.

File metadata

File hashes

Hashes for personnalisation_admin_django_iit-0.3.0.tar.gz
Algorithm Hash digest
SHA256 414a311fa4bc19169fdccd38400f4e1d3d09464bf7da3404150506b9b0016aac
MD5 4bcf162d54058ee7bff10272706028a2
BLAKE2b-256 7394feaf5ef3c4044bff4e66502e767ef870ac571bcbd313a52692dc5d2adf18

See more details on using hashes here.

File details

Details for the file personnalisation_admin_django_iit-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for personnalisation_admin_django_iit-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b189e87051f3e2949910d384f1ce3cd5ac2b347ac71ca434f1852d9dc9eb8157
MD5 124423fabe45c9bbc82205cb26b86eea
BLAKE2b-256 3effff472c7f5f57c76dc0f303f67d490e24c989665634ebe44d88c9b9a2a546

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page