Spaces:
Running on Zero
Running on Zero
File size: 8,863 Bytes
84c79bf 734b127 075a2b3 734b127 84c79bf 0cb962d 84c79bf 0cb962d 84c79bf 075a2b3 84c79bf 0cb962d 075a2b3 0cb962d 84c79bf 075a2b3 0cb962d 84c79bf 0cb962d 84c79bf 0cb962d 84c79bf 075a2b3 84c79bf 075a2b3 84c79bf 075a2b3 84c79bf 075a2b3 84c79bf 075a2b3 84c79bf 0cb962d 84c79bf 075a2b3 84c79bf 0cb962d 84c79bf 0cb962d 84c79bf 075a2b3 84c79bf 075a2b3 0cb962d 075a2b3 84c79bf 0cb962d 84c79bf 075a2b3 84c79bf 075a2b3 0cb962d 84c79bf 075a2b3 84c79bf 2f50db4 | 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 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | import gradio as gr
import spaces
# Initialisation du conteneur ZeroGPU
@spaces.GPU
def init_gpu():
return True
init_gpu()
# Style CSS personnalisé (Glassmorphism ultra-lisible et responsive)
custom_css = """
.hero-card {
background: linear-gradient(135deg, #1e293b, #0f172a) !important;
border: 1px solid #334155 !important;
border-radius: 16px !important;
padding: 24px !important;
color: #f8fafc !important;
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3) !important;
margin-bottom: 20px !important;
}
.hero-title {
font-size: 2.2rem;
font-weight: 800;
background: linear-gradient(90deg, #38bdf8, #818cf8);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-bottom: 6px;
}
.hero-sub {
font-size: 1.1rem;
font-weight: 600;
color: #cbd5e1;
margin-bottom: 14px;
}
.badge-container {
margin-bottom: 12px;
}
.badge {
display: inline-block;
background: rgba(56, 189, 248, 0.15);
color: #38bdf8;
border: 1px solid rgba(56, 189, 248, 0.4);
padding: 4px 12px;
border-radius: 20px;
font-size: 12px;
font-weight: 600;
margin-right: 6px;
margin-bottom: 6px;
}
.contact-card {
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 12px;
padding: 16px;
color: #e2e8f0;
}
.contact-card h3 {
margin-top: 0;
color: #38bdf8;
}
.contact-card p {
margin: 8px 0;
font-size: 14px;
}
.contact-card a {
color: #38bdf8;
text-decoration: underline;
}
.quote-box {
border-left: 4px solid #38bdf8;
background: rgba(15, 23, 42, 0.6);
padding: 12px 16px;
border-radius: 0 8px 8px 0;
color: #94a3b8;
font-style: italic;
margin-top: 10px;
}
"""
with gr.Blocks(title="Portfolio & Carte de Visite - Hoby Tahiry") as demo:
# En-tête / Carte de Visite (Glassmorphism Sombre Ultra-Lisible)
with gr.Row(elem_classes=["hero-card"]):
with gr.Column(scale=2):
gr.HTML(
"""
<div class="hero-title">RANDRIANARISOA Hoby Tahiry</div>
<div class="hero-sub">Développeur d'Applications | Spécialiste Fine-Tuning IA & Workflows n8n</div>
<div class="badge-container">
<span class="badge">🎓 42 Antananarivo</span>
<span class="badge">📐 Mathématiques Fondamentales</span>
<span class="badge">🧠 Fine-Tuning IA</span>
<span class="badge">⚡ Expert n8n</span>
</div>
<div class="quote-box">
"Formé aux exigences de l'École 42 et fort d'un parcours en mathématiques fondamentales, je me spécialise dans l'adaptation et le réglage fin (fine-tuning) de modèles d'IA, le développement logiciel robuste C/C++ / Python, et l'architecture d'automatisations complexes via n8n."
</div>
"""
)
with gr.Column(scale=1):
gr.HTML(
"""
<div class="contact-card">
<h3>📬 Contacts & Réseaux</h3>
<p>📍 <b>Localisation :</b> Manjakaray, Antananarivo 101</p>
<p>📧 <b>Email :</b> <a href="mailto:randrianarisoa.hoby.pro@gmail.com">randrianarisoa.hoby.pro@gmail.com</a></p>
<p>📞 <b>Téléphone :</b> 034 74 373 11 / 033 74 373 11</p>
<p>🐙 <b>GitHub :</b> <a href="https://github.com/Orhtrhto" target="_blank">github.com/Orhtrhto</a></p>
</div>
"""
)
# Contenu Onglets
with gr.Tabs():
# Onglet 1: Spécialités IA & Automatisations
with gr.TabItem("🤖 IA & Automatisations (n8n)"):
with gr.Row():
with gr.Column():
gr.Markdown(
"""
### 🎯 Adaptation & Fine-Tuning de Modèles IA
* **Fine-Tuning & Quantization :** Entraînement spécialisé et optimisation de modèles de langage (LLM), Speech-to-Text et Vision.
* **Traitement & Saisie de Données :** Création de jeux de données ciblés, pipelines d'évaluation et alignement de modèles.
* **Intégration d'IA Applicative :** Déploiement et intégration d'API d'inférence avancées au cœur de systèmes existants.
"""
)
with gr.Column():
gr.Markdown(
"""
### ⚡ Expertise Automatisation n8n
* **Workflows Complexes :** Conception de scénarios d'automatisation multi-services, gestion d'erreurs et webhooks.
* **Traitement de Documents :** Extraction, transformation et routage de données automatisés via IA + n8n.
* **Intégration API :** Interconnexion fluide entre bases de données, backends et services tiers.
"""
)
# Onglet 2: Distinctions & Hackathons
with gr.TabItem("🏆 Hackathons & Distinctions"):
gr.Markdown(
"""
* ❤️ **Coup de cœur du jury** – Stupid Hackathon 2025 (Code Talent)
* *Projet web éco-humoristique distingué pour sa créativité, son design et son expérience utilisateur.*
* 🥉 **3ᵉ place – Hackathon AgreTech FIA** (Projet VOLEO)
* *Plateforme AgTech d'analyse intelligente du sol et du climat par IA, avec recommandation de cultures.*
* 🏅 **Finaliste à CCI Ivato** – Hackathon Agretec Ministère de l'Agriculture (Projet VOLEO)
* 🥈 **2ᵉ place nationale interuniversitaire** – Orange Digital Center Codingame Madagascar 2025
"""
)
# Onglet 3: Projets 42 & Logiciels
with gr.TabItem("🚀 Projets Système & Web"):
with gr.Row():
with gr.Column():
gr.Markdown(
"""
### 🎓 Projets École 42 Antananarivo
* **ft_transcendence** *(Python/Django)* : Jeu 2D multijoueur temps réel (bots IA, collisions, WebSockets).
* **ft_irc** *(C++)* : Serveur de chat réseau conforme au protocole IRC (sockets, communication concurrente).
"""
)
with gr.Column():
gr.Markdown(
"""
* **Inception** *(Docker)* : Infrastructure microservices conteneurisée et déployée sous Docker.
* **Minishell** *(C)* : Interpréteur de commandes UNIX (gestion des processus, parsing, mémoire).
"""
)
# Onglet 4: Parcours & Compétences
with gr.TabItem("💼 Parcours & Compétences"):
with gr.Row():
with gr.Column():
gr.Markdown("### 💼 Expériences Professionnelles")
gr.Markdown(
"""
* **2026 :** Stage - Développeur IA chez *CONNECTEO*
* **2022 - 2024 :** Professeur particulier (Mathématiques & Physique)
"""
)
gr.Markdown("### 🎓 Formations & Diplômes")
gr.Markdown(
"""
* **42 Antananarivo :** Cursus Développement (Tronc commun & Pro Piscine AI/ML)
* **Université d'Antananarivo / Fianarantsoa :** Licence 3 en Mathématiques Fondamentales
* **Certifications :** Automatisation n8n (KODATA), Library Pandas, Odoo, Flutter (ODC), Éducation financière (Axian University)
"""
)
with gr.Column():
gr.Markdown("### 🛠 Stack Technique")
gr.Markdown(
"""
* **IA & Data :** Fine-tuning LLM/IA, Python, Pandas, PyTorch / Hugging Face.
* **Langages Système & Backend :** C, C++, Python (FastAPI/Django).
* **Automation & DevOps :** n8n, Docker, Git/GitHub, Linux.
* **Soft Skills :** Rigueur analytique, leadership, adaptabilité, résolution de problèmes complexes.
"""
)
gr.Markdown("---")
gr.Markdown("<center><i>Carte de Visite & Portfolio hébergés sur Hugging Face Spaces</i></center>")
if __name__ == "__main__":
demo.launch(theme=gr.themes.Soft(), css=custom_css) |