File size: 2,570 Bytes
c290e43
 
4390781
c290e43
4390781
 
 
 
 
 
c290e43
4390781
 
 
 
 
 
 
c290e43
4390781
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c290e43
 
4390781
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c290e43
 
4390781
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import gradio as gr

class EquityAssistant:
    def __init__(self):
        self.user_preferences = {
            'style_history': [],
            'color_preferences': [],
            'layout_choices': [],
            'expertise_level': 'novice'
        }

    def process_request(self, poster_type, style_pref, message):
        """Traite la demande de l'utilisateur et génère des recommandations"""
        recommendations = {
            'layout': self.suggest_layout(poster_type),
            'style': self.process_style(style_pref),
            'message': self.analyze_message(message)
        }
        
        return self.format_response(recommendations)
    
    def suggest_layout(self, poster_type):
        layouts = {
            "événement": "Layout vertical avec focus sur la date et le lieu",
            "présentation": "Layout structuré avec hiérarchie claire",
            "infographie": "Layout en grille ou flux avec données visuelles",
            "autre": "Layout flexible selon le contenu"
        }
        return layouts.get(poster_type.lower(), "Layout personnalisé selon vos besoins")
    
    def process_style(self, style_pref):
        return f"Style recommandé basé sur vos préférences : {style_pref}"
    
    def analyze_message(self, message):
        return f"Recommendations pour votre message : {message}"
    
    def format_response(self, recommendations):
        return f"""
📋 Recommandations pour votre affiche :

🎯 Layout suggéré :
{recommendations['layout']}

🎨 Style :
{recommendations['style']}

💡 Message :
{recommendations['message']}

Tips pour l'équité :
• Utilisez des contrastes adaptés pour la lisibilité
• Privilégiez des polices inclusives
• Vérifiez l'accessibilité des couleurs
        """

# Création de l'interface
assistant = EquityAssistant()

demo = gr.Interface(
    fn=assistant.process_request,
    inputs=[
        gr.Dropdown(
            choices=["Événement", "Présentation", "Infographie", "Autre"],
            label="Type d'affiche"
        ),
        gr.Textbox(
            label="Style souhaité",
            placeholder="Ex: moderne, minimaliste, coloré..."
        ),
        gr.Textbox(
            label="Message principal",
            placeholder="Décrivez le message clé de votre affiche"
        )
    ],
    outputs=gr.Textbox(label="Recommandations"),
    title="🎨 Equity Assistant",
    description="Assistant IA pour la création d'affiches équitables et efficaces",
    theme="soft"
)

if __name__ == "__main__":
    demo.launch()