generart / app.py
Equityone's picture
Update app.py
d348c37 verified
raw
history blame
4.05 kB
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"""
# Enregistrement des préférences
self.user_preferences['style_history'].append(style_pref)
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": """
• En-tête : Date et titre de l'événement
• Zone centrale : Image ou graphique principal
• Pied de page : Informations pratiques et contacts""",
"présentation": """
• Structure hiérarchique claire
• Points clés mis en évidence
• Espaces blancs pour la lisibilité""",
"infographie": """
• Organisation en sections distinctes
• Utilisation d'icônes et de pictogrammes
• Flow d'information logique""",
"autre": """
• Layout flexible adapté à votre contenu
• Focus sur la hiérarchie visuelle
• Zones de respiration"""
}
return layouts.get(poster_type.lower(), "Layout personnalisé selon vos besoins")
def process_style(self, style_pref):
style_tips = f"""
Basé sur votre style '{style_pref}' :
• Palette de couleurs harmonieuse et accessible
• Typographie lisible et inclusive
• Éléments visuels cohérents avec votre style"""
return style_tips
def analyze_message(self, message):
return f"""
Optimisation de votre message :
• Clarté et concision du texte
• Hiérarchie de l'information
• Points d'attention pour l'inclusivité"""
def format_response(self, recommendations):
return f"""
📋 Recommandations pour votre affiche :
🎯 Layout recommandé :
{recommendations['layout']}
🎨 Style et Design :
{recommendations['style']}
💡 Message et Communication :
{recommendations['message']}
✨ Tips pour l'équité :
• Vérifiez les contrastes (WCAG 2.1)
• Utilisez des polices lisibles
• Évitez les stéréotypes
• Pensez à l'accessibilité
• Testez avec différents publics
"""
# 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",
info="Sélectionnez le type de support que vous souhaitez créer"
),
gr.Textbox(
label="Style souhaité",
placeholder="Ex: moderne, minimaliste, coloré...",
info="Décrivez le style visuel que vous recherchez"
),
gr.Textbox(
label="Message principal",
placeholder="Décrivez le message clé de votre affiche",
info="Quel est le message essentiel à communiquer ?"
)
],
outputs=gr.Textbox(label="Recommandations"),
title="🎨 Equity Assistant",
description="""
Bienvenue dans Equity Assistant !
Cet outil vous aide à créer des affiches équitables, accessibles et efficaces.
Commencez par remplir les informations ci-dessous pour recevoir des recommandations personnalisées.
""",
theme="soft",
examples=[
["Événement", "moderne et dynamique", "Festival de musique multiculturel"],
["Présentation", "professionnel et épuré", "Rapport annuel d'impact social"],
["Infographie", "coloré et informatif", "Données sur la diversité en entreprise"]
]
)
if __name__ == "__main__":
demo.launch()