File size: 4,045 Bytes
c290e43 4390781 c290e43 4390781 c290e43 4390781 d348c37 4390781 c290e43 4390781 d348c37 4390781 d348c37 4390781 d348c37 4390781 d348c37 4390781 d348c37 4390781 d348c37 4390781 d348c37 c290e43 4390781 d348c37 4390781 d348c37 4390781 d348c37 4390781 d348c37 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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
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() |