Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
---
2026-02-18 18:46:21 +01:00
import { Image } from "astro:assets";
Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
import PageHeading from "../../components/page-heading.astro";
import Layout from "../../layouts/main.astro";
import Link from "../../components/Link.astro";
2026-02-18 18:46:21 +01:00
import logoTiqa from "../../assets/images/logo-tiqa-blanc.png";
Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
---
2026-02-18 18:46:21 +01:00
<Layout title="برمجة - جليل عرفاوي" facet="code">
Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
<section dir="rtl" lang="ar" class="relative z-20 max-w-2xl mx-auto my-12 px-7 lg:px-0">
<PageHeading
title="برمجة"
description="أكثر من 20 سنة في بناء البرمجيات. Craftsmanship، TDD، DDD — وهاجس التحيّزات التي نضعها في الكود دون أن ندري."
/>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">ما أفعله</h2>
<div class="space-y-4 text-gray-600 dark:text-neutral-400 leading-relaxed">
<p>
مطوّر مستقل مقيم في <strong class="text-gray-800 dark:text-neutral-200">ألبي، فرنسا</strong>، أرافق الفرق كمطوّر أول، أو قائد تقني، أو مدرب تقني. أفضّل البرمجيات الحرّة والأدوات التي تلبي احتياجات حقيقية.
</p>
<p>
2026-02-18 18:46:21 +01:00
أبرمج بعناية تطبيقات مدروسة تستجيب لاحتياجات حقيقية. أقود فريقي نحو أفضل الحلول والتطبيقات الأكثر فعالية لكل حالة استخدام.
Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
</p>
</div>
2026-02-18 18:46:21 +01:00
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">نقاط قوّتي</h2>
<div class="text-gray-600 dark:text-neutral-400 leading-relaxed">
<ul class="list-disc list-inside space-y-2">
<li>كتابة كود مستقر، تشغيلي، قابل للصيانة، قابل للتطوير ومُختبَر جيّدًا</li>
<li>التعلّم، ونقل المعرفة</li>
<li>العمل ضمن فريق</li>
<li>المساهمة في تحسين الفريق بطرح المشاكل واقتراح الحلول</li>
<li>الاستقلالية: معرفة ما يجب فعله والقيام به</li>
</ul>
</div>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">قيَمي</h2>
<div class="text-gray-600 dark:text-neutral-400 leading-relaxed">
<ul class="list-disc list-inside space-y-2">
<li>حركة <Link href="http://manifesto.softwarecraftsmanship.org/#/fr-fr" external>Software Craftsmanship</Link></li>
<li>الفائدة الاجتماعية للمطوّر</li>
<li>الفخر بالعمل، دون غرور</li>
<li>التسيير الذاتي، الاستقلالية والمسؤولية</li>
<li>منهج <strong class="text-gray-800 dark:text-neutral-200">Domain Driven Design</strong></li>
<li>تنظيم <Link href="https://agilemanifesto.org/iso/fr/manifesto.html" external>أجايل</Link>: التكرار والتحسين المستمر</li>
</ul>
</div>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">ما أقدّمه</h2>
<div class="text-gray-600 dark:text-neutral-400 leading-relaxed">
<ul class="list-disc list-inside space-y-2">
<li><Link href="https://www.linkedin.com/in/jalil/" external>20 سنة من الخبرة</Link> في تصميم البرمجيات</li>
<li>التزام قوي بجودة وفائدة إنجازاتي</li>
<li>تطوير محوره المستخدم</li>
</ul>
</div>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">ما أبحث عنه</h2>
<div class="text-gray-600 dark:text-neutral-400 leading-relaxed">
<ul class="list-disc list-inside space-y-2">
<li>مهمّة في خدمة المصلحة العامّة</li>
<li>أثر اجتماعي و/أو بيئي إيجابي</li>
<li>يُفضَّل أن تكون المنظمة غير ربحية</li>
<li>يُفضَّل أن يكون المشروع مفتوح المصدر أو برمجيات حرّة</li>
<li>فريق جيّد يريد رفع المستوى</li>
</ul>
</div>
Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">المهارات</h2>
<div class="space-y-4 text-gray-600 dark:text-neutral-400 leading-relaxed">
<p>
<strong class="text-gray-800 dark:text-neutral-200">اللغات</strong> — TypeScript/JavaScript، PHP، Elixir
</p>
<p>
<strong class="text-gray-800 dark:text-neutral-200">الممارسات</strong> — TDD، الكود النظيف، تصميم المجالات، العمارة السداسية، إعادة الهيكلة المستمرّة
</p>
</div>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">مشاريع مفتوحة المصدر</h2>
<div class="space-y-4 text-gray-600 dark:text-neutral-400 leading-relaxed">
<p>
<Link href="https://debats.co" external>Débats.co</Link> — منصّة تعاونية لتلخيص النقاشات المجتمعية.
</p>
<p>
<Link href="https://github.com/dis-moi" external>DisMoi</Link> — إضافة للمتصفّح في مجال التكنولوجيا المدنية، تضيف معلومات سياقية على الويب.
</p>
<p>
<Link href="https://github.com/betagouv/mon-entreprise" external>mon-entreprise</Link> — المساعد الرسمي لروّاد الأعمال في فرنسا، مشروع <Link href="https://beta.gouv.fr/" external>beta.gouv</Link>.
</p>
</div>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">المجتمع</h2>
<div class="space-y-4 text-gray-600 dark:text-neutral-400 leading-relaxed">
<p>
أنشّط مجتمع <Link href="https://www.meetup.com/software-crafters-albi/" external>Software Crafters Albi</Link> منذ 2018. نلتقي بانتظام للحديث عن الكود والممارسات وحرفة البرمجة.
</p>
</div>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">التدريس</h2>
<div class="space-y-4 text-gray-600 dark:text-neutral-400 leading-relaxed">
<p>
2026-02-18 18:46:21 +01:00
أستاذ هندسة البرمجيات في <Link href="https://www.univ-jfc.fr/" external>جامعة شامبوليون</Link> في ألبي منذ 2019 (ماستر AMINJ وليسانس معلوماتية). درّست أيضًا في <Link href="https://www.esn81.fr/" external>ESN 81</Link> في كاستر (أفضل الممارسات في التطوير، Node.js).
Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
</p>
</div>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">المسار</h2>
<div class="space-y-4 text-gray-600 dark:text-neutral-400 leading-relaxed">
<p>
2026-02-18 18:46:21 +01:00
حاليًا مطوّر رئيسي في <Link href="https://mon-entreprise.urssaf.fr/" external>mon-entreprise.urssaf.fr</Link> لدى <Link href="https://www.urssaf.fr/" external>Urssaf Caisse nationale</Link> — أكثر من 20 محاكيًا منشورًا على المواقع العامّة، مليون مستخدم شهريًا.
</p>
<p>
قبل ذلك: مدير تقني في <Link href="https://www.gobuild.fr" external>GoBuild</Link> (نمذجة المباني، ليون)، مهندس معماري للواجهات في <Link href="https://www.araymond.com/" external>ARaymond</Link> (غرونوبل)، قائد تقني في <Link href="https://www.veepee.com/" external>Veepee</Link> (سابقًا vente-privee) حيث قدت فريقًا من 8 مطوّرين وشاركت في تأسيس برنامج التدريب الداخلي React Academy.
</p>
<p>
مؤسّس مشارك لـ<Link href="https://github.com/dis-moi" external>DisMoi</Link>، إضافة متصفّح في مجال التكنولوجيا المدنية. مؤسّس <Link href="https://jalil.arfaoui.net/team-logics" external>Team Logics</Link> (2007-2011)، وكالة ويب أدرت فيها فريقًا من 6 أشخاص لعملاء مثل ALD Automotive وJoué Club وConsuel.
</p>
<p>
مطوّر عصامي منذ 2003. أفضل مشروع برمجة لدفعة 2003 في <Link href="https://www.uvsq.fr/" external>UVSQ</Link>.
</p>
</div>
<h2 class="mt-10 mb-4 text-2xl font-bold dark:text-neutral-200">على الإنترنت</h2>
<div class="space-y-4 text-gray-600 dark:text-neutral-400 leading-relaxed">
<p>
<Link href="https://www.linkedin.com/in/jalil" external>LinkedIn</Link> · <Link href="https://www.malt.fr/profile/jalilarfaoui" external>Malt</Link> · <Link href="https://stackexchange.com/users/54164/jalil" external>Stack Overflow</Link> · <Link href="https://github.com/JalilArfaoui" external>GitHub</Link> · <Link href="https://framagit.org/jalil" external>Framagit</Link> · <Link href="https://forge.tiqa.fr" external>Forge شخصية</Link>
Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
</p>
</div>
2026-02-18 18:46:21 +01:00
<Image src={logoTiqa} alt="شعار Tiqa" class="mx-auto mt-16 mb-4" width={200} />
2026-02-18 19:07:51 +01:00
<p class="text-center text-sm opacity-70">
<strong>SAS Tiqa</strong><br />
12, rue Fabre d'Églantine — 81 000 Albi, France<br />
811 917 871 RCS Albi
</p>
Internationalisation complète et ajout des pages code, théâtre, acting (FR, EN, AR)
Ajout des pages code et théâtre/acting en FR, EN et AR.
Création de vraies routes localisées /en/photo et /ar/تصوير au lieu du hack ?lang=. Extraction de composants partagés (PhotoHomeContent, PhotoBlogIndexContent, PhotoBlogPostContent, PhotoAlbumContent) pour éviter la duplication entre langues. Traduction des catégories photo (16 fichiers JSON), de la navigation, du footer et des aria-labels.
Routes AR avec slugs arabes (/ar/تصوير/مدونة, /ar/تصوير/ألبومات).
2026-02-18 14:14:00 +01:00
</section>
</Layout>