Un script Bash universel pour créer rapidement des projets Python/Django avec :
Environnement virtuel .venv automatique
Support Django ou structure Python générique
Configuration .env avec SECRET_KEY et DATABASE_URL
Base de données : SQLite (par défaut), PostgreSQL ou MySQL/MariaDB
Initialisation Git + .gitignore complet
Makefile avec commandes utiles (setup, run, migrate, createsuperuser, …)
README + .env.example générés automatiquement
📦 Installation
Cloner le dépôt :
git clone https://github.com/drbea/system-utilities.git
# ou
git clone [email protected]:drbea/system-utilities.git
cd system-utilities
chmod +x create_project.sh-
Créer un projet Django
./create_project.sh --django mon_projet
-
Créer un projet Python générique
./create_project.sh mon_package
-
Créer un projet dans le dossier courant
./create_project.sh --django
-
⚙️ Options disponibles
Option Description --no-venvNe pas créer d’environnement virtuel --no-gitNe pas initialiser de dépôt Git --djangoCréer un projet Django ( src/config)--dbBase de données : sqlite,postgres,mysql--db-nameNom de la base (par défaut : <project>_db)--db-userUtilisateur DB (postgres/mysql) --db-passMot de passe DB --yesMode non interactif (tout par défaut) --helpAffiche l’aide -
🗃️ Exemple d’utilisation avec PostgreSQL
./create_project.sh --django --db postgres --db-name blog_db --db-user bloguser --db-pass secret blog
Cela va créer : Un projet Django dans src/config/ Un fichier .env :
DEBUG=True SECRET_KEY=xxxxxx DATABASE_URL=postgres://bloguser:secret@localhost:5432/blog_db📂 Structure générée Avec Django
mon_projet/ ├── .venv/ ├── src/ │ └── config/ ├── tests/ ├── docs/ ├── .env ├── .env.example ├── requirements.txt ├── Makefile ├── .gitignore └── README.mdProjet Python générique
mon_package/ ├── .venv/ ├── src/ │ └── mon_package/ │ └── __init__.py ├── tests/ ├── docs/ ├── .env ├── .env.example ├── requirements.txt ├── Makefile ├── .gitignore └── README.md🔧 Makefile inclus
Commande Description make setupCrée .venvet installe les dépendancesmake runLance le serveur Django make migrateExécute les migrations Django make createsuperuserCrée un super utilisateur Django make testLance les tests unitaires make freezeMet à jour requirements.txtmake cleanNettoie le projet -
🤝 Contribution
Fork le repo 🍴
- Crée ta branche (
bash git checkout -b feature/ma-feature)
Commit tes changements (bash git commit -m "Ajout nouvelle option")
Push ta branche (bash git push origin feature/ma-feature)
Ouvre une Pull Request 🚀 10. ----