diff --git a/public/assets/images/projects/dns.surf.png b/src/assets/images/projects/dns.surf.png similarity index 100% rename from public/assets/images/projects/dns.surf.png rename to src/assets/images/projects/dns.surf.png diff --git a/public/assets/images/projects/email.ml.png b/src/assets/images/projects/email.ml.png similarity index 100% rename from public/assets/images/projects/email.ml.png rename to src/assets/images/projects/email.ml.png diff --git a/public/assets/images/projects/html.zone.png b/src/assets/images/projects/html.zone.png similarity index 100% rename from public/assets/images/projects/html.zone.png rename to src/assets/images/projects/html.zone.png diff --git a/src/components/about-experience.astro b/src/components/about-experience.astro deleted file mode 100644 index 3bed43d..0000000 --- a/src/components/about-experience.astro +++ /dev/null @@ -1,22 +0,0 @@ ---- -const { logo, dates, role, company, description } = Astro.props; ---- - -
- {dates} -
-{company}
-- {description} -
-+ {companyUrl ? ( + {company} + ) : ( + company + )} +
+ + + + {technologies && technologies.length > 0 && ( ++diff --git a/src/components/code/NavigationCard.astro b/src/components/code/NavigationCard.astro new file mode 100644 index 0000000..2108cee --- /dev/null +++ b/src/components/code/NavigationCard.astro @@ -0,0 +1,23 @@ +--- +interface Props { + title: string; + description: string; + href: string; + icon: string; +} + +const { title, description, href, icon } = Astro.props; +--- + + ++ "{truncated}" +
++ {avatar ? ( +++ ) : ( + + {initials} ++ )} + + {author} + · {authorRole}, {company} + +
+ {description} +
+ diff --git a/src/components/code/ProjectCard.astro b/src/components/code/ProjectCard.astro new file mode 100644 index 0000000..a68122e --- /dev/null +++ b/src/components/code/ProjectCard.astro @@ -0,0 +1,57 @@ +--- +interface Props { + title: string; + description: string; + technologies?: string[]; + url?: string; + github?: string; + featured?: boolean; +} + +const { title, description, technologies, url, github, featured = false } = Astro.props; +--- + ++ {description} +
+ + {technologies && technologies.length > 0 && ( +- Here are some of my recent projects. I'm always working on something new, so - check back often! -
-{text}
-- Along with coding I also like to write about life and technology. Here are - some of my recent posts. -
- -- مطوّر مستقل مقيم في ألبي، فرنسا، أرافق الفرق كمطوّر أول، أو قائد تقني، أو مدرب تقني. أفضّل البرمجيات الحرّة والأدوات التي تلبي احتياجات حقيقية. -
-- أبرمج بعناية تطبيقات مدروسة تستجيب لاحتياجات حقيقية. أقود فريقي نحو أفضل الحلول والتطبيقات الأكثر فعالية لكل حالة استخدام. -
-- اللغات — TypeScript/JavaScript، PHP، Elixir -
-- الممارسات — TDD، الكود النظيف، تصميم المجالات، العمارة السداسية، إعادة الهيكلة المستمرّة -
-- Débats.co — منصّة تعاونية لتلخيص النقاشات المجتمعية. -
-- DisMoi — إضافة للمتصفّح في مجال التكنولوجيا المدنية، تضيف معلومات سياقية على الويب. -
-- mon-entreprise — المساعد الرسمي لروّاد الأعمال في فرنسا، مشروع beta.gouv. -
-- أنشّط مجتمع Software Crafters Albi منذ 2018. نلتقي بانتظام للحديث عن الكود والممارسات وحرفة البرمجة. -
-- أستاذ هندسة البرمجيات في جامعة شامبوليون في ألبي منذ 2019 (ماستر AMINJ وليسانس معلوماتية). درّست أيضًا في ESN 81 في كاستر (أفضل الممارسات في التطوير، Node.js). -
-- حاليًا مطوّر رئيسي في mon-entreprise.urssaf.fr لدى Urssaf Caisse nationale — أكثر من 20 محاكيًا منشورًا على المواقع العامّة، مليون مستخدم شهريًا. -
-- قبل ذلك: مدير تقني في GoBuild (نمذجة المباني، ليون)، مهندس معماري للواجهات في ARaymond (غرونوبل)، قائد تقني في Veepee (سابقًا vente-privee) حيث قدت فريقًا من 8 مطوّرين وشاركت في تأسيس برنامج التدريب الداخلي React Academy. -
-- مؤسّس مشارك لـDisMoi، إضافة متصفّح في مجال التكنولوجيا المدنية. مؤسّس Team Logics (2007-2011)، وكالة ويب أدرت فيها فريقًا من 6 أشخاص لعملاء مثل ALD Automotive وJoué Club وConsuel. -
-- مطوّر عصامي منذ 2003. أفضل مشروع برمجة لدفعة 2003 في UVSQ. -
-- LinkedIn · Malt · Stack Overflow · GitHub · Framagit · Forge شخصية -
-
- SAS Tiqa
- 12, rue Fabre d'Églantine — 81 000 Albi, France
- 811 917 871 RCS Albi
-
+ أكثر من 20 سنة في بناء البرمجيات. Craftsmanship، TDD، DDD — وهاجس التحيّزات التي نضعها في الكود دون أن ندري. +
++ مطوّر مستقل مقيم في ألبي، فرنسا، أرافق الفرق كمطوّر أول، أو قائد تقني، أو مدرب تقني. أفضّل البرمجيات الحرّة والأدوات التي تلبي احتياجات حقيقية. +
+المنصب الحالي
+{currentPosition.data.role}
++ {currentPosition.data.companyUrl ? ( + {currentPosition.data.company} + ) : ( + currentPosition.data.company + )} + {currentPosition.data.location && ` · ${currentPosition.data.location}`} +
++ أنشّط مجتمع Software Crafters Albi منذ 2018. أستاذ هندسة البرمجيات في جامعة شامبوليون في ألبي منذ 2019. +
+
+ SAS Tiqa
+ 12, rue Fabre d'Églantine — 81 000 Albi, France
+ 811 917 871 RCS Albi
+
+ {exp.data.companyUrl ? ( + {exp.data.company} + ) : exp.data.company} +
+ +- Développeur freelance basé à Albi, j'accompagne les équipes comme développeur senior, tech lead ou coach technique. Je privilégie le logiciel libre et les outils qui répondent à de vrais besoins. -
-- Je code soigneusement des applications bien pensées qui répondent à des besoins réels. Je mène mon équipe vers les meilleures solutions et les implémentations les plus efficaces pour chaque cas d'usage. -
-- Langages — TypeScript/JavaScript, PHP, Elixir -
-- Pratiques — TDD, Clean Code, Domain-Driven Design, architecture hexagonale, refactoring continu -
-- Débats.co — Plateforme collaborative de synthèse des débats de société. -
-- DisMoi — Extension navigateur civic tech, pour ajouter de l'information contextuelle sur le web. -
-- mon-entreprise — L'assistant officiel des entrepreneurs, un projet beta.gouv. -
-- J'anime les Software Crafters d'Albi depuis 2018. On se retrouve régulièrement pour parler code, pratiques et artisanat logiciel. -
-- Enseignant en génie logiciel à l'université Champollion d'Albi depuis 2019 (Master AMINJ et Licence informatique). Également intervenu à l'ESN 81 à Castres (bonnes pratiques de développement, Node.js). -
-- Actuellement lead developer de mon-entreprise.urssaf.fr à l'Urssaf Caisse nationale — plus de 20 simulateurs diffusés sur les sites publics, un million d'usagers par mois. -
-- Avant ça : CTO de GoBuild (modélisation de bâtiments, Lyon), architecte front-end chez ARaymond (Grenoble), tech lead chez Veepee (ex vente-privee) où j'ai encadré une équipe de 8 développeurs et cofondé le programme de formation interne React Academy. -
-- Cofondateur de DisMoi, extension navigateur civic tech. Fondateur de Team Logics (2007-2011), agence web où j'ai dirigé une équipe de 6 personnes pour des clients comme ALD Automotive, Joué Club ou Consuel. -
-- Développeur autodidacte depuis 2003. Meilleur projet de programmation de la promo 2003 à l'UVSQ. -
-- LinkedIn · Malt · Stack Overflow · GitHub · Framagit · Forge personnelle -
-
- SAS Tiqa
- 12, rue Fabre d'Églantine — 81 000 Albi
- 811 917 871 RCS Albi
-
Langages, frameworks, pratiques et outils que j'utilise au quotidien.
++ Plus de 20 ans à construire du logiciel. Craftsmanship, TDD, DDD — et une obsession pour les biais qu'on met dans le code sans le savoir. +
++ Développeur freelance basé à Albi, j'accompagne les équipes comme développeur senior, tech lead ou coach technique. Je privilégie le logiciel libre et les outils qui répondent à de vrais besoins. +
+Poste actuel
+{currentPosition.data.role}
++ {currentPosition.data.companyUrl ? ( + {currentPosition.data.company} + ) : ( + currentPosition.data.company + )} + {currentPosition.data.location && ` · ${currentPosition.data.location}`} +
++ J'anime les Software Crafters d'Albi depuis 2018. Enseignant en génie logiciel à l'université Champollion d'Albi depuis 2019. +
+
+ SAS Tiqa
+ 12, rue Fabre d'Églantine — 81 000 Albi
+ 811 917 871 RCS Albi
+
+ {exp.data.companyUrl ? ( + {exp.data.company} + ) : exp.data.company} +
+ +- Freelance developer based in Albi, France, I work with teams as a senior developer, tech lead or technical coach. I favor free software and tools that address real needs. -
-- I carefully code well-thought-out applications that meet real needs. I lead my team toward the best solutions and most effective implementations for each use case. -
-- Languages — TypeScript/JavaScript, PHP, Elixir -
-- Practices — TDD, Clean Code, Domain-Driven Design, hexagonal architecture, continuous refactoring -
-- Débats.co — A collaborative platform for synthesizing public debates. -
-- DisMoi — A civic tech browser extension that adds contextual information to the web. -
-- mon-entreprise — The official assistant for entrepreneurs in France, a beta.gouv project. -
-- I've been running the Software Crafters Albi meetup since 2018. We gather regularly to discuss code, practices and software craftsmanship. -
-- Software engineering professor at Université Champollion in Albi since 2019 (Master AMINJ and Bachelor in Computer Science). Also taught at ESN 81 in Castres (development best practices, Node.js). -
-- Currently lead developer of mon-entreprise.urssaf.fr at Urssaf Caisse nationale — 20+ simulators deployed on public websites, one million users per month. -
-- Previously: CTO at GoBuild (building modeling, Lyon), frontend architect at ARaymond (Grenoble), tech lead at Veepee (formerly vente-privee) where I led a team of 8 developers and co-founded the internal React Academy training program. -
-- Co-founder of DisMoi, a civic tech browser extension. Founder of Team Logics (2007-2011), a web agency where I led a team of 6 for clients like ALD Automotive, Joué Club and Consuel. -
-- Self-taught developer since 2003. Best programming project of the 2003 class at UVSQ. -
-- LinkedIn · Malt · Stack Overflow · GitHub · Framagit · Personal forge -
-
- SAS Tiqa
- 12, rue Fabre d'Églantine — 81 000 Albi, France
- 811 917 871 RCS Albi
-
+ {exp.data.companyUrl ? ( + {exp.data.company} + ) : exp.data.company} +
+ ++ Over 20 years building software. Craftsmanship, TDD, DDD — and an obsession with the biases we unknowingly put into code. +
++ Freelance developer based in Albi, France, I work with teams as a senior developer, tech lead or technical coach. I favor free software and tools that address real needs. +
+Current position
+{currentPosition.data.role}
++ {currentPosition.data.companyUrl ? ( + {currentPosition.data.company} + ) : ( + currentPosition.data.company + )} + {currentPosition.data.location && ` · ${currentPosition.data.location}`} +
++ I've been running the Software Crafters Albi meetup since 2018. Software engineering professor at Université Champollion in Albi since 2019. +
+
+ SAS Tiqa
+ 12, rue Fabre d'Églantine — 81 000 Albi, France
+ 811 917 871 RCS Albi
+