Equityone commited on
Commit
a348baa
·
verified ·
1 Parent(s): ab072cb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -104
app.py CHANGED
@@ -1,123 +1,61 @@
1
  import gradio as gr
2
 
3
- class EquityAssistant:
4
- def __init__(self):
5
- self.user_preferences = {
6
- 'style_history': [],
7
- 'color_preferences': [],
8
- 'layout_choices': [],
9
- 'expertise_level': 'novice'
10
- }
11
-
12
- def process_request(self, poster_type, style_pref, message):
13
- """Traite la demande de l'utilisateur et génère des recommandations"""
14
- # Enregistrement des préférences
15
- self.user_preferences['style_history'].append(style_pref)
16
-
17
- recommendations = {
18
- 'layout': self.suggest_layout(poster_type),
19
- 'style': self.process_style(style_pref),
20
- 'message': self.analyze_message(message)
21
- }
22
-
23
- return self.format_response(recommendations)
24
-
25
- def suggest_layout(self, poster_type):
26
- layouts = {
27
- "événement": """
28
- • En-tête : Date et titre de l'événement
29
- Zone centrale : Image ou graphique principal
30
- Pied de page : Informations pratiques et contacts""",
31
-
32
- "présentation": """
33
- Structure hiérarchique claire
34
- • Points clés mis en évidence
35
- Espaces blancs pour la lisibilité""",
36
-
37
- "infographie": """
38
- • Organisation en sections distinctes
39
- • Utilisation d'icônes et de pictogrammes
40
- • Flow d'information logique""",
41
-
42
- "autre": """
43
- • Layout flexible adapté à votre contenu
44
- • Focus sur la hiérarchie visuelle
45
- • Zones de respiration"""
46
- }
47
- return layouts.get(poster_type.lower(), "Layout personnalisé selon vos besoins")
48
-
49
- def process_style(self, style_pref):
50
- style_tips = f"""
51
- Basé sur votre style '{style_pref}' :
52
- • Palette de couleurs harmonieuse et accessible
53
- • Typographie lisible et inclusive
54
- • Éléments visuels cohérents avec votre style"""
55
- return style_tips
56
-
57
- def analyze_message(self, message):
58
- return f"""
59
- Optimisation de votre message :
60
- • Clarté et concision du texte
61
- • Hiérarchie de l'information
62
- • Points d'attention pour l'inclusivité"""
63
-
64
- def format_response(self, recommendations):
65
- return f"""
66
- 📋 Recommandations pour votre affiche :
67
-
68
- 🎯 Layout recommandé :
69
- {recommendations['layout']}
70
-
71
- 🎨 Style et Design :
72
- {recommendations['style']}
73
-
74
- 💡 Message et Communication :
75
- {recommendations['message']}
76
-
77
- ✨ Tips pour l'équité :
78
- • Vérifiez les contrastes (WCAG 2.1)
79
- • Utilisez des polices lisibles
80
- • Évitez les stéréotypes
81
- • Pensez à l'accessibilité
82
- • Testez avec différents publics
83
- """
84
 
85
  # Création de l'interface
86
- assistant = EquityAssistant()
87
-
88
- demo = gr.Interface(
89
- fn=assistant.process_request,
90
  inputs=[
91
  gr.Dropdown(
92
  choices=["Événement", "Présentation", "Infographie", "Autre"],
93
- label="Type d'affiche",
94
- info="Sélectionnez le type de support que vous souhaitez créer"
95
  ),
96
  gr.Textbox(
97
  label="Style souhaité",
98
- placeholder="Ex: moderne, minimaliste, coloré...",
99
- info="Décrivez le style visuel que vous recherchez"
100
  ),
101
  gr.Textbox(
102
  label="Message principal",
103
- placeholder="Décrivez le message clé de votre affiche",
104
- info="Quel est le message essentiel à communiquer ?"
105
  )
106
  ],
107
  outputs=gr.Textbox(label="Recommandations"),
108
- title="🎨 Equity Assistant",
109
- description="""
110
- Bienvenue dans Equity Assistant !
111
- Cet outil vous aide à créer des affiches équitables, accessibles et efficaces.
112
- Commencez par remplir les informations ci-dessous pour recevoir des recommandations personnalisées.
113
- """,
114
- theme="soft",
115
- examples=[
116
- ["Événement", "moderne et dynamique", "Festival de musique multiculturel"],
117
- ["Présentation", "professionnel et épuré", "Rapport annuel d'impact social"],
118
- ["Infographie", "coloré et informatif", "Données sur la diversité en entreprise"]
119
- ]
120
  )
121
 
 
122
  if __name__ == "__main__":
123
- demo.launch()
 
1
  import gradio as gr
2
 
3
+ def generate_recommendations(poster_type, style, message):
4
+ """
5
+ Génère des recommandations pour la création d'affiches
6
+ """
7
+ # Dictionnaire des layouts recommandés
8
+ layouts = {
9
+ "Événement": "Format vertical, titre en haut, date et lieu mis en évidence",
10
+ "Présentation": "Structure claire, points clés hiérarchisés",
11
+ "Infographie": "Organisation en sections, utilisation de graphiques",
12
+ "Autre": "Layout flexible selon vos besoins"
13
+ }
14
+
15
+ # Récupérer le layout recommandé
16
+ layout = layouts.get(poster_type, layouts["Autre"])
17
+
18
+ # Construire la réponse
19
+ response = f"""
20
+ 🎨 Recommandations pour votre affiche :
21
+
22
+ 📌 Type : {poster_type}
23
+ 🎯 Style demandé : {style}
24
+ 💭 Message : {message}
25
+
26
+ Mise en page suggérée :
27
+ {layout}
28
+
29
+ 💡 Conseils :
30
+ Utilisez des contrastes adaptés
31
+ • Choisissez des polices lisibles
32
+ Vérifiez l'accessibilité des couleurs
33
+ Gardez une hiérarchie visuelle claire
34
+ """
35
+ return response
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
  # Création de l'interface
38
+ iface = gr.Interface(
39
+ fn=generate_recommendations,
 
 
40
  inputs=[
41
  gr.Dropdown(
42
  choices=["Événement", "Présentation", "Infographie", "Autre"],
43
+ label="Type d'affiche"
 
44
  ),
45
  gr.Textbox(
46
  label="Style souhaité",
47
+ placeholder="Ex: moderne, minimaliste, coloré..."
 
48
  ),
49
  gr.Textbox(
50
  label="Message principal",
51
+ placeholder="Ex: Annonce d'événement, présentation..."
 
52
  )
53
  ],
54
  outputs=gr.Textbox(label="Recommandations"),
55
+ title="🎨 Assistant Equity",
56
+ description="Créez des affiches équitables et accessibles"
 
 
 
 
 
 
 
 
 
 
57
  )
58
 
59
+ # Lancement de l'application
60
  if __name__ == "__main__":
61
+ iface.launch()