@charset "UTF-8";._udwi_jmmz5_2{max-width:1200px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,sans-serif;line-height:1.6;color:#333}._header_jmmz5_11{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid #e0e0e0}._header_jmmz5_11 h1{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem;font-weight:700}._subtitle_jmmz5_24{font-size:1.2rem;color:#7f8c8d;margin-bottom:1rem;font-weight:500}._period_jmmz5_31{display:inline-block;background:linear-gradient(135deg,#74ba4e,#a8c82b);color:#fff;padding:.8rem 1.5rem;border-radius:6px;font-weight:600;font-size:1rem}._intro_jmmz5_41{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:3rem;border-left:4px solid #74ba4e}._intro_jmmz5_41 p{font-size:1.1rem;color:#2c3e50;margin:0}._achievements_jmmz5_54{margin-bottom:3rem}._achievements_jmmz5_54 h2{color:#2c3e50;font-size:2rem;margin-bottom:2rem;text-align:center;font-weight:600}._achievementGrid_jmmz5_65{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;margin-bottom:2rem}._achievementCard_jmmz5_72{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease}._achievementCard_jmmz5_72:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}._achievementCard_jmmz5_72 h3{color:#2c3e50;font-size:1.3rem;margin-bottom:1rem;font-weight:600}._achievementCard_jmmz5_72 ul{list-style:none;padding:0;margin:0 0 1rem}._achievementCard_jmmz5_72 ul li{margin-bottom:.8rem;padding-left:1.2rem;position:relative}._achievementCard_jmmz5_72 ul li:before{content:"→";position:absolute;left:0;color:#74ba4e;font-weight:700}._achievementCard_jmmz5_72 ul li strong{color:#2c3e50;font-weight:600}._skill_jmmz5_112{background:linear-gradient(135deg,#74ba4e,#a8c82b);color:#fff;padding:.8rem 1rem;border-radius:6px;font-weight:600;font-style:italic;margin:0;text-align:center}._technologies_jmmz5_123{margin-bottom:2rem}._technologies_jmmz5_123 h2{color:#2c3e50;font-size:1.8rem;margin-bottom:1.5rem;text-align:center;font-weight:600}._techGrid_jmmz5_134{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}._techCategory_jmmz5_140{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-align:center;box-shadow:0 2px 4px #0000000d}._techCategory_jmmz5_140 h3{color:#74ba4e;font-size:1.1rem;margin-bottom:.8rem;font-weight:600}._techCategory_jmmz5_140 p{color:#7f8c8d;margin:0;font-size:.95rem}@media (max-width: 768px){._udwi_jmmz5_2{padding:1rem}._header_jmmz5_11 h1{font-size:2rem}._achievementGrid_jmmz5_65{grid-template-columns:1fr}._techGrid_jmmz5_134{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}._achievementCard_jmmz5_72{padding:1.5rem}}._housebrain_1swse_2{max-width:1200px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,sans-serif;line-height:1.6;color:#333}._header_1swse_11{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid #e0e0e0}._header_1swse_11 h1{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem;font-weight:700}._subtitle_1swse_24{font-size:1.2rem;color:#7f8c8d;margin-bottom:1rem;font-weight:500}._links_1swse_31{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}._demoLink_1swse_38,._githubLink_1swse_39{display:inline-block;color:#fff;padding:.8rem 1.5rem;text-decoration:none;border-radius:6px;font-weight:600;transition:all .3s ease}._demoLink_1swse_38{background:linear-gradient(135deg,#3498db,#2980b9)}._demoLink_1swse_38:hover{background:linear-gradient(135deg,#2980b9,#1f618d);transform:translateY(-2px);box-shadow:0 4px 12px #3498db4d}._githubLink_1swse_39{background:linear-gradient(135deg,#333,#555)}._githubLink_1swse_39:hover{background:linear-gradient(135deg,#555,#777);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}._intro_1swse_67{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:3rem;border-left:4px solid #3498db}._intro_1swse_67 p{font-size:1.1rem;color:#2c3e50;margin:0}._achievements_1swse_80{margin-bottom:3rem}._achievements_1swse_80 h2{color:#2c3e50;font-size:2rem;margin-bottom:2rem;text-align:center;font-weight:600}._achievementGrid_1swse_91{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;margin-bottom:2rem}._achievementCard_1swse_98{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease}._achievementCard_1swse_98:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}._achievementCard_1swse_98 h3{color:#2c3e50;font-size:1.3rem;margin-bottom:1rem;font-weight:600}._achievementCard_1swse_98 ul{list-style:none;padding:0;margin:0 0 1rem}._achievementCard_1swse_98 ul li{margin-bottom:.8rem;padding-left:1.2rem;position:relative}._achievementCard_1swse_98 ul li:before{content:"→";position:absolute;left:0;color:#3498db;font-weight:700}._achievementCard_1swse_98 ul li strong{color:#2c3e50;font-weight:600}._skill_1swse_138{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;padding:.8rem 1rem;border-radius:6px;font-weight:600;font-style:italic;margin:0;text-align:center}._status_1swse_149{background:#f8f9fa;border-radius:12px;padding:2rem;margin-bottom:3rem}._status_1swse_149 h2{color:#2c3e50;font-size:1.8rem;margin-bottom:1.5rem;text-align:center;font-weight:600}._phases_1swse_163{display:flex;gap:2rem;margin-bottom:2rem;justify-content:center}._phases_1swse_163 ._phase_1swse_163{background:#fff;padding:1.5rem;border-radius:8px;text-align:center;box-shadow:0 2px 4px #0000001a;flex:1;max-width:250px}._phases_1swse_163 ._phase_1swse_163 h3{color:#27ae60;font-size:1.2rem;margin-bottom:.5rem;font-weight:600}._phases_1swse_163 ._phase_1swse_163 p{color:#7f8c8d;margin:0}._currentState_1swse_189{border-top:1px solid #e0e0e0;padding-top:1.5rem}._currentState_1swse_189 p{margin:.5rem 0}._currentState_1swse_189 p strong{color:#2c3e50}._technologies_1swse_200{margin-bottom:2rem}._technologies_1swse_200 h2{color:#2c3e50;font-size:1.8rem;margin-bottom:1.5rem;text-align:center;font-weight:600}._techGrid_1swse_211{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}._techCategory_1swse_217{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-align:center;box-shadow:0 2px 4px #0000000d}._techCategory_1swse_217 h3{color:#3498db;font-size:1.1rem;margin-bottom:.8rem;font-weight:600}._techCategory_1swse_217 p{color:#7f8c8d;margin:0;font-size:.95rem}@media (max-width: 768px){._housebrain_1swse_2{padding:1rem}._header_1swse_11 h1{font-size:2rem}._achievementGrid_1swse_91{grid-template-columns:1fr}._phases_1swse_163{flex-direction:column}._techGrid_1swse_211{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}._achievementCard_1swse_98{padding:1.5rem}}._experiencesContainer_12q5w_1{max-width:1200px;margin:0 auto;padding:20px}._header_12q5w_7{text-align:center;margin-bottom:4rem}._pageTitle_12q5w_12{font-size:2.5rem;font-weight:700;color:#333;margin-bottom:2rem;border-bottom:3px solid #667eea;padding-bottom:1rem;display:inline-block}._projectNav_12q5w_22{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}._projectNav_12q5w_22 ._navLink_12q5w_28{text-decoration:none;transition:transform .3s ease}._projectNav_12q5w_22 ._navLink_12q5w_28:hover{transform:translateY(-4px)}._navCard_12q5w_36{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;cursor:pointer}._navCard_12q5w_36:hover{border-color:#667eea;box-shadow:0 8px 25px #00000026}._navCard_12q5w_36 h3{color:#333;font-size:1.4rem;font-weight:600;margin:0 0 .5rem}._navCard_12q5w_36 p{color:#666;font-size:1rem;margin:0 0 .8rem;line-height:1.4}._navLink_12q5w_28[href="#housebrain"] ._navCard_12q5w_36:hover{border-color:#3498db}._navLink_12q5w_28[href="#housebrain"] ._tech_12q5w_65{background:linear-gradient(135deg,#3498db,#2980b9)}._navLink_12q5w_28[href="#udwi"] ._navCard_12q5w_36:hover{border-color:#74ba4e}._navLink_12q5w_28[href="#udwi"] ._tech_12q5w_65{background:linear-gradient(135deg,#74ba4e,#a8c82b)}._tech_12q5w_65{display:inline-block;background:linear-gradient(135deg,#667eea,#2345e1);color:#fff;font-size:.85rem;font-weight:500;padding:.3rem .8rem;border-radius:20px;letter-spacing:.5px}._scrollTopButton_12q5w_87{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;border-radius:50%;background:#667eea;color:#fff;border:none;font-size:1.5rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s ease;z-index:1000}._scrollTopButton_12q5w_87:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000040;background:#3958e4}._projectSection_12q5w_110{margin-bottom:4rem;padding:2rem 0;border-bottom:1px solid #e0e0e0}._projectSection_12q5w_110:last-child{border-bottom:none;margin-bottom:2rem}._projectSection_12q5w_110{scroll-margin-top:2rem}@media (max-width: 768px){._experiencesContainer_12q5w_1{padding:1rem}._pageTitle_12q5w_12{font-size:2rem}._projectNav_12q5w_22{grid-template-columns:1fr;gap:1rem}._navCard_12q5w_36{padding:1rem}._navCard_12q5w_36 h3{font-size:1.2rem}._navCard_12q5w_36 p{font-size:.9rem}._projectSection_12q5w_110{padding:1rem 0}}@keyframes _fadeInUp_12q5w_1{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}._projectSection_12q5w_110{animation:_fadeInUp_12q5w_1 .6s ease-out}._printButton_1bppx_1{background-color:#2c3e50;color:#fff;border:none;border-radius:6px;padding:.6rem 1.2rem;font-size:1rem;cursor:pointer;transition:background .2s ease}._printButton_1bppx_1:hover{background-color:#5d7894}._print-hide_1bppx_15{display:inline-block}@media print{._print-hide_1bppx_15{display:none!important}}._photoContainer_b50kn_1{position:relative;width:100px;height:100px;margin:0 auto 30px;border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.3)}._profilePhoto_b50kn_12{width:100%;height:100%;object-fit:cover}._languagesContainer_u5i2r_1{margin-bottom:30px}._sectionTitle_u5i2r_5{font-size:15px;font-weight:600;margin-bottom:10px;color:#fff;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:3px;text-transform:uppercase;letter-spacing:.5px}._languagesItem_u5i2r_16{margin-bottom:10px;font-size:13px}._contactContainer_jb6z0_1{margin-bottom:30px}._sectionTitle_jb6z0_5{font-size:15px;font-weight:600;margin-bottom:10px;color:#fff;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:3px;text-transform:uppercase;letter-spacing:.5px}._contactItem_jb6z0_16{margin-bottom:10px;font-size:13px}._linkItem_jb6z0_21{display:flex;align-items:center;margin-bottom:10px;font-size:13px}._linkItem_jb6z0_21 a{text-decoration:none;color:inherit;margin-left:6px}._linkIcon_jb6z0_33{width:16px;height:16px}._technicalSkillsContainer_4nzao_1{margin-bottom:20px}._sectionTitle_4nzao_5{font-size:15px;font-weight:600;margin-bottom:10px;color:#fff;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:3px;text-transform:uppercase;letter-spacing:.5px}._skillsCategory_4nzao_16{margin-bottom:10px}._skillsCategoryTitle_4nzao_20{font-weight:600;margin-bottom:4px}._skillsList_4nzao_25{font-size:13px;line-height:1.4;color:#fff;padding-left:5px}._softSkillsContainer_l0x6s_1{margin-bottom:20px}._sectionTitle_l0x6s_5{font-size:15px;font-weight:600;margin-bottom:10px;color:#fff;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:3px;text-transform:uppercase;letter-spacing:.5px}._softSkills_l0x6s_1{display:flex;flex-wrap:wrap;gap:8px}._skillTag_l0x6s_22{background:#fff3;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500}._cvHeaderContainer_7y53v_1{text-align:center;margin-bottom:20px}._name_7y53v_6{font-size:28px;font-weight:700;margin-bottom:5px;color:#333}._title_7y53v_13{font-size:16px;font-weight:500;margin-bottom:3px;color:#666}._subtitle_7y53v_20{font-size:14px;font-style:italic;color:#666}._profileContainer_hzn9m_1{margin-bottom:16px;padding:0 10px}._profileContainer_hzn9m_1 ._profileText_hzn9m_5{font-size:12px;line-height:1.6;color:#333;text-align:justify;margin-bottom:10px}._profileContainer_hzn9m_1 ._profileText_hzn9m_5:last-child{margin-bottom:0}._profileContainer_hzn9m_1 ._profileText_hzn9m_5 strong{color:#667eea;font-weight:600}._profileContainer_hzn9m_1 ._profileText_hzn9m_5 ._highlight_hzn9m_19{background:linear-gradient(120deg,#a8edea,#fed6e3);padding:2px 6px;border-radius:3px;font-weight:500;white-space:nowrap}._timelineContainer_g58xc_1{margin-bottom:16px;padding:0 10px}._sectionTitle_g58xc_6{font-size:15px;font-weight:600;margin-bottom:10px;color:#667eea;border-bottom:2px solid #667eea;padding-bottom:3px;text-transform:uppercase;letter-spacing:.5px}._timeline_g58xc_1{position:relative;padding-left:24px}._timeline_g58xc_1:before{content:"";position:absolute;left:3px;top:8px;bottom:0;width:2px;background-color:#999}._timelineItem_g58xc_31{position:relative;margin-bottom:10px;padding-left:10px}._timelineItem_g58xc_31:before{content:"";position:absolute;left:-5px;top:1px;width:8px;height:8px;border-radius:50%;background-color:#667eea;border:2px solid #ffffff;z-index:1}._timelineItem_g58xc_31:last-child{margin-bottom:0}._timelineContent_g58xc_52{display:flex;flex-direction:column;gap:3px}._header_g58xc_58{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px}._header_g58xc_58 ._title_g58xc_64{font-weight:600;font-size:13px;color:#333}._header_g58xc_58 ._company_g58xc_69{font-size:12px;color:#667eea;font-weight:500}._date_g58xc_75{font-size:11px;color:#666;font-style:italic;margin-top:2px}._description_g58xc_82{font-size:11px;color:#666;margin-top:6px;padding-left:10px;list-style:disc}._description_g58xc_82 li{margin-bottom:3px;line-height:1.5}._description_g58xc_82 li:last-child{margin-bottom:0}._moreDetails_g58xc_97{margin-top:20px;padding-top:10px;border-top:1px solid #999;font-size:11px;color:#666;text-align:center}._moreDetails_g58xc_97 a{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s ease}._moreDetails_g58xc_97 a:hover{color:#764ba2;text-decoration:underline}._linksContainer_17j4n_1{margin-bottom:20px}._sectionTitle_17j4n_5{font-size:15px;font-weight:600;margin-bottom:10px;color:#fff;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:3px;text-transform:uppercase;letter-spacing:.5px}._linkItem_17j4n_16{display:flex;align-items:center;margin-bottom:10px;font-size:13px}._linkItem_17j4n_16 a{text-decoration:none;color:inherit;margin-left:6px}._linkIcon_17j4n_28{width:16px;height:16px}._cvWrapper_1qa9s_1{display:flex;flex-direction:column;min-height:100vh}._cvContainer_1qa9s_7{max-width:21cm;min-height:29.7cm;margin:20px auto;background:#fff;display:flex;overflow:hidden;box-shadow:0 0 20px #0000001a}@media print{._cvContainer_1qa9s_7{margin:0!important;min-height:auto!important;box-shadow:none!important}}._sidebar_1qa9s_24{width:35%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px 25px}@media print{._sidebar_1qa9s_24{padding:20px 15px!important}}._mainContent_1qa9s_36{width:65%;padding:25px 30px}@media print{._mainContent_1qa9s_36{padding:20px 20px 20px 25px!important}}._printButton_1qa9s_46{margin:10px auto}@media print{._printButton_1qa9s_46{display:none!important}}@media print{header,.header,nav,.navbar,.navigation{display:none!important}@page{size:A4;margin:.4cm 0 .4cm .4cm}._cvContainer_16al6_15{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;min-height:100vh!important;height:auto!important;page-break-inside:avoid;break-inside:avoid}._sidebar_16al6_27{width:35%!important;-webkit-print-color-adjust:exact!important;color-adjust:exact!important;print-color-adjust:exact!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;padding:25px 20px!important;page-break-inside:avoid;break-inside:avoid}._sidebar_16al6_27>*{color:#fff!important}._mainContent_16al6_41{width:65%!important;padding:25px!important;page-break-inside:avoid;break-inside:avoid}*{-webkit-print-color-adjust:exact!important;color-adjust:exact!important;print-color-adjust:exact!important}.print-hide{display:none!important}body{font-size:12px!important;line-height:1.4!important;color:#333!important;background:#fff!important}h1,h2,h3,h4,h5,h6{margin-top:0!important;margin-bottom:8px!important;page-break-after:avoid;break-after:avoid}p,li{margin-bottom:4px!important;line-height:1.3!important}ul,ol{margin-bottom:10px!important;padding-left:15px!important}.experience-item,.formation-item,.skills-section,.contact-section,.profile-section{page-break-inside:avoid;break-inside:avoid;margin-bottom:12px!important}.highlight,.skill-tag,.section-title{-webkit-print-color-adjust:exact!important;color-adjust:exact!important;print-color-adjust:exact!important}.skill-tag{font-size:10px!important;padding:2px 6px!important;margin:2px!important}a{color:inherit!important;text-decoration:none!important}*{max-width:100%!important;word-wrap:break-word!important;overflow-wrap:break-word!important}img{max-width:100%!important;height:auto!important;page-break-inside:avoid}}._atsKeywords_16al6_118{position:absolute;left:-9999px;top:-9999px;font-size:0}@media print{._atsKeywords_16al6_118{position:static;left:auto;top:auto;overflow:hidden;color:#fff;font-size:1px;line-height:1}._atsKeywords_16al6_118:after{content:"Informations complémentaires : Je n'ai pas de diplôme Bac+5, mais mon expérience en développement logiciel couvre l'ensemble du cycle de vie des applications back-end et front-end. J'ai conçu et développé des systèmes complexes en Python et Django, créé des interfaces réactives avec React et JavaScript, optimisé la performance et la scalabilité des services, géré la persistance des données sur PostgreSQL et Redis, automatisé les tâches avec Celery, mis en place des pipelines CI/CD, supervisé le monitoring et la fiabilité des applications en production, et collaboré avec des équipes Agile multidisciplinaires. Mon parcours m'a permis de maîtriser la conception d'API REST, l'intégration IoT, la gestion de microservices, le déploiement Docker et la supervision via Sentry et Datadog, tout en respectant les bonnes pratiques de développement, les tests automatisés et l'architecture orientée performance et résilience.";font-weight:700}}._header_mmzpd_1{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;box-shadow:0 2px 6px #0000001a}._container_mmzpd_8{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}._brand_mmzpd_16{font-size:1.5rem;font-weight:700;letter-spacing:.5px}._navList_mmzpd_22{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}a{color:#fff;font-weight:500;position:relative;transition:color .3s ease}a:hover{color:#fff}._active_mmzpd_40:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:#fff;border-radius:2px}._highlight_mmzpd_51{position:relative;display:inline-block;color:#fff;font-weight:500;background:linear-gradient(120deg,#667eea 0% 50%,#fff 50% 100%);background-size:220% 100%;background-position:100% 0;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:_textSweep_mmzpd_1 1.2s ease-in-out 2,_zoomPulse_mmzpd_1 1.2s ease-in-out 2}@keyframes _textSweep_mmzpd_1{0%{background-position:100% 0}50%{background-position:0 0}to{background-position:100% 0}}@keyframes _zoomPulse_mmzpd_1{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background:#f5f5f5;color:#333;min-width:600px}
