90 lines
No EOL
3.3 KiB
Python
90 lines
No EOL
3.3 KiB
Python
from core.form import Form
|
|
from core.generator import Generator
|
|
from modules.proposition.app import main as generate_proposal
|
|
from modules.devis.app import main as generate_quote
|
|
from modules.crm.cli import main as manage_crm
|
|
|
|
def fake_data():
|
|
"""
|
|
Fonction pour générer des données factices.
|
|
"""
|
|
print("Génération de données factices...")
|
|
|
|
# Données factices pour un client
|
|
fake_client_data = {
|
|
"client_name": "Fake Client",
|
|
"email": "fakeclient@example.com",
|
|
"telephone": "123456789",
|
|
"adresse": "123 Rue Imaginaire",
|
|
"project_name": "Projet de Test",
|
|
"project_type": "Développement Web",
|
|
"deadline": "06/09/2025",
|
|
"project_description": "Développement d'une application web pour la gestion de projet.",
|
|
"features": [
|
|
{"description": "Gestion des utilisateurs"},
|
|
{"description": "Tableau de bord"},
|
|
{"description": "Rapports personnalisés"}
|
|
],
|
|
"budget": "5000",
|
|
"payment_terms": "50% à la signature, 50% à la livraison",
|
|
"contact_info": "Contact principal : John Doe",
|
|
"additional_info": "Aucune information complémentaire.",
|
|
}
|
|
|
|
# Sauvegarder les données factices dans un fichier JSON
|
|
from core.data import Data
|
|
data_manager = Data("Data/clients/fake_client.json")
|
|
data_manager.save_data(fake_client_data)
|
|
generator = Generator(fake_client_data)
|
|
content = generator.generate_pdf("propositions")
|
|
|
|
print("\n✅ Proposition générée avec succès.")
|
|
|
|
print("Données factices générées avec succès.")
|
|
|
|
def display_title():
|
|
"""Affiche le titre de l'application"""
|
|
title = """
|
|
╔═══════════════════════════════════════════════════╗
|
|
║ SUITE CONSULTANCE ║
|
|
║ Gestion de cabinet de conseil ╚═══════════════════════════════════════════════════╝
|
|
"""
|
|
print(title)
|
|
|
|
def main():
|
|
# Boucle principale pour le menu
|
|
while True:
|
|
# Effacer l'écran pour une meilleure lisibilité
|
|
import os
|
|
os.system('cls' if os.name == 'nt' else 'clear')
|
|
|
|
display_title()
|
|
print("=== Menu Principal ===")
|
|
print("1. CRM - Gestion des clients")
|
|
print("2. Générer une proposition commerciale")
|
|
print("3. Générer un devis")
|
|
print("4. Générer des données de test")
|
|
print("5. Quitter")
|
|
|
|
choice = input("\nSélectionnez une option (1-5): ")
|
|
|
|
if choice == "1":
|
|
manage_crm()
|
|
elif choice == "2":
|
|
generate_proposal()
|
|
elif choice == "3":
|
|
generate_quote()
|
|
elif choice == "4":
|
|
fake_data()
|
|
elif choice == "5":
|
|
print("\nMerci d'avoir utilisé Suite Consultance. Au revoir!")
|
|
break
|
|
else:
|
|
print("\nChoix invalide, veuillez réessayer.")
|
|
|
|
# Pause avant de revenir au menu principal (sauf après certaines actions)
|
|
if choice not in ["1"]: # Le CRM a sa propre gestion de retour au menu
|
|
input("\nAppuyez sur Entrée pour revenir au menu principal...")
|
|
|
|
if __name__ == "__main__":
|
|
main() |