[{"data":1,"prerenderedAt":408},["ShallowReactive",2],{"site:fr":3,"projects:fr":43},{"id":4,"title":5,"availability":6,"brand":7,"domain":8,"email":9,"extension":10,"gitlab":11,"heroStack":12,"linkedin":21,"location":22,"meta":23,"name":7,"photo":24,"resume":25,"stats":26,"statusBar":39,"stem":40,"tagline":41,"__hash__":42},"site\u002Fsite\u002Ffr.yml","Ingénieur logiciel","ouvert à un poste à temps plein","Burak Daliahmad","burak-daliahmad.pages.dev","burakdaliahmad@gmail.com","yml","https:\u002F\u002Fgitlab.com\u002Fburak77",[13,14,15,16,17,18,19,20],"Laravel","Nuxt 3","Vue 3","TypeScript","Odoo","PostgreSQL","Socket.io","Redis","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fburak-daliahmad","Lattaquié, Syrie · ouvert au télétravail",{},"\u002Fimages\u002Fburak.jpg","\u002Fresume.pdf",[27,30,33,36],{"value":28,"label":29},"4+","ans en production",{"value":31,"label":32},"11","projets ici",{"value":34,"label":35},"5+","systèmes en service",{"value":37,"label":38},"ouvert","à un poste à temps plein","ouvert aux offres","site\u002Ffr","Ingénieur logiciel, plus de quatre ans de métier. Je construis les backends Laravel et Odoo qui font tourner l'activité, et les frontends Nuxt que les gens ont vraiment plaisir à utiliser.\n","4uq7Z4n3IDvuVrPdlaHiPb68Y9h8YVACoVZPmlL-_Y0",[44,77,111,140,164,189,223,250,282,311,377],{"id":45,"title":46,"body":47,"code":61,"desc":62,"description":53,"extension":63,"featured":64,"live":61,"meta":65,"name":66,"navigation":64,"num":67,"order":68,"path":69,"seo":70,"shot":61,"shotNote":61,"stack":71,"stem":75,"__hash__":76},"projects\u002Fprojects\u002Ffr\u002Fqueue-management-system.md","Queue Management System",{"type":48,"value":49,"toc":57},"minimark",[50,54],[51,52,53],"p",{},"Construit chez Zeour Ltd et porté de bout en bout — schéma, architecture,\nbackend, frontend et déploiement.",[51,55,56],{},"Le visiteur prend un ticket, les guichets appellent le numéro suivant, et les\nécrans se mettent à jour via Socket.io sans rechargement. L'ensemble tourne sur\ndes bornes en libre-service dans le centre de services, ce qui a fixé\nl'essentiel des contraintes : l'interface devait fonctionner au toucher, et la\ncouche temps réel devait survivre à un réseau local capricieux sans perdre une\nplace dans la file.",{"title":58,"searchDepth":59,"depth":59,"links":60},"",2,[],null,"Plateforme complète de gestion de file pour centres de services — tickets, routage des guichets et écrans d'affichage en direct pilotés par Socket.io. Déployée sur des bornes en libre-service.\n","md",true,{},"Système de gestion de file d'attente","01","1","\u002Fprojects\u002Ffr\u002Fqueue-management-system",{"description":53},[13,19,72,73,74],"MySQL","Blade","Déploiement sur bornes","projects\u002Ffr\u002Fqueue-management-system","Zp_YaYpg4FILwbSTUFJoccIkJUQkEffzN75hindapTI",{"id":78,"title":79,"body":80,"code":61,"desc":96,"description":84,"extension":63,"featured":64,"live":61,"meta":97,"name":98,"navigation":64,"num":99,"order":99,"path":100,"seo":101,"shot":61,"shotNote":102,"stack":103,"stem":109,"__hash__":110},"projects\u002Fprojects\u002Ffr\u002Ffilter-car.md","Filter Car",{"type":48,"value":81,"toc":94},[82,85,88,91],[51,83,84],{},"Réalisé chez Davinda. L'unité de ce système n'est pas l'utilisateur, c'est le\nlocataire. Une société détient des franchises, une franchise détient des agences,\net chaque ligne de données appartient à un endroit de cet arbre.",[51,86,87],{},"Ce qui fait de l'autorisation le problème entier, et non une fonctionnalité en\nmarge. Ce qu'une personne peut lire, modifier, ou même savoir exister, est décidé\npar sa place dans la hiérarchie — pas par une liste plate de permissions\naccrochée à un compte. Une erreur dans une seule requête, et une agence voit les\nrecettes d'une autre société.",[51,89,90],{},"Au-dessus vient le métier dont l'entreprise vit réellement : les lavages et les\ninterventions, les travaux d'entretien, et un stock de pièces détachées dont\nchaque agence tient sa propre vue.",[51,92,93],{},"Ma part, c'était le back-end — le modèle multi-locataires, les rôles et\npermissions, et l'API.",{"title":58,"searchDepth":59,"depth":59,"links":95},[],"Lavage, entretien et pièces détachées pour un réseau qui n'est pas une entreprise mais plusieurs — des sociétés, les franchises en dessous et leurs agences, chacune ne voyant que ce qui lui appartient.\n",{},"Filter Car — Exploitation multi-locataires","10","\u002Fprojects\u002Ffr\u002Ffilter-car",{"description":84},"Back-end uniquement — aucune interface visible à capturer",[104,105,106,72,107,108],"Laravel 12","Sanctum","OpenAPI \u002F Swagger","Multi-location","Rôles et permissions","projects\u002Ffr\u002Ffilter-car","Klo1R1tR6USfa2sq17wk1u0grOyjcYqE0jupG_FjuMk",{"id":112,"title":113,"body":114,"code":61,"desc":130,"description":118,"extension":63,"featured":64,"live":61,"meta":131,"name":132,"navigation":64,"num":31,"order":31,"path":133,"seo":134,"shot":61,"shotNote":102,"stack":135,"stem":138,"__hash__":139},"projects\u002Fprojects\u002Ffr\u002Fquest.md","Quest",{"type":48,"value":115,"toc":128},[116,119,122,125],[51,117,118],{},"Réalisé chez Davinda. Deux parties qui ne se connaissent pas doivent se trouver,\ns'entendre, se parler et payer. On fait confiance à une place de marché\nexactement aussi longtemps que rien de tout cela n'a besoin de se passer\nailleurs.",[51,120,121],{},"La plateforme possède donc le milieu. D'un côté arrivent les demandes, de l'autre\nles offres, et la messagerie entre les deux appartient à la plateforme plutôt\nqu'à un numéro de téléphone échangé dans un commentaire — c'est précisément\nl'instant où une place de marché cesse de pouvoir répondre de quoi que ce soit.",[51,123,124],{},"Le paiement est l'autre moitié de la même promesse. Il passe par l'application,\nsi bien qu'il reste une trace de ce qui a été convenu et de ce qui a changé de\nmains, et que la plateforme peut agir sur un litige au lieu d'en être informée.",[51,126,127],{},"Ma part, c'était le back-end — la mise en relation, la messagerie et les\nintégrations de paiement.",{"title":58,"searchDepth":59,"depth":59,"links":129},[],"Une place de marché qui met face à face ceux qui cherchent un service et ceux qui le rendent, et garde les deux moitiés de l'accord — la conversation et le paiement — à l'intérieur de la plateforme.\n",{},"Quest — Place de marché de services","\u002Fprojects\u002Ffr\u002Fquest",{"description":118},[104,105,106,72,136,137],"Messagerie intégrée","Intégration de paiement","projects\u002Ffr\u002Fquest","FcsBoR2ywa2wL6ydAoM3MuhV2R1wpolGkbQ0t7QiVqY",{"id":141,"title":142,"body":143,"code":61,"desc":153,"description":147,"extension":63,"featured":64,"live":61,"meta":154,"name":155,"navigation":64,"num":156,"order":157,"path":158,"seo":159,"shot":61,"shotNote":61,"stack":160,"stem":162,"__hash__":163},"projects\u002Fprojects\u002Ffr\u002Fvisitor-management-system.md","Visitor Management System",{"type":48,"value":144,"toc":151},[145,148],[51,146,147],{},"Construit chez Zeour Ltd.",[51,149,150],{},"Le visiteur s'enregistre à l'accueil, le personnel est notifié à l'instant où\nson invité arrive, et le badge est édité sur place. Le tableau de bord est\nl'endroit où le personnel sur site voit qui se trouve dans le bâtiment à cet\ninstant — et c'est la partie qui devait être juste, pas seulement rapide.",{"title":58,"searchDepth":59,"depth":59,"links":152},[],"Système d'enregistrement et de suivi des visiteurs, avec notifications en temps réel, édition de badges et un tableau de bord pour le personnel sur site.\n",{},"Système de gestion des visiteurs","02","2","\u002Fprojects\u002Ffr\u002Fvisitor-management-system",{"description":147},[13,19,72,161],"Vue","projects\u002Ffr\u002Fvisitor-management-system","R-AeDsVPsi6Gk_q9Ky61SWnxljJOggIN7p638-sNmSI",{"id":165,"title":166,"body":167,"code":61,"desc":176,"description":147,"extension":63,"featured":64,"live":61,"meta":177,"name":178,"navigation":64,"num":179,"order":180,"path":181,"seo":182,"shot":61,"shotNote":61,"stack":183,"stem":187,"__hash__":188},"projects\u002Fprojects\u002Ffr\u002Fecommerce-platform.md","Ecommerce Platform",{"type":48,"value":168,"toc":174},[169,171],[51,170,147],{},[51,172,173],{},"L'intéressant n'était pas le catalogue mais tout ce qui l'entoure : un parcours\nde paiement qui devait être juste du premier coup, un contrôle d'accès par rôle\ncouvrant plusieurs types de comptes internes, et une authentification assez\ndurcie pour tenir sous un trafic réel plutôt que dans une démo.",{"title":58,"searchDepth":59,"depth":59,"links":175},[],"E-commerce sécurisé conçu pour un fort trafic — de la conception du schéma au parcours de paiement jusqu'à la mise en production, avec contrôle d'accès par rôle et authentification durcie.\n",{},"Plateforme e-commerce","03","3","\u002Fprojects\u002Ffr\u002Fecommerce-platform",{"description":147},[13,72,184,185,186,20],"React \u002F Next.js","JWT","RBAC","projects\u002Ffr\u002Fecommerce-platform","HGCP40XTacxwuSkVHLS86WLj6efoJQJM5_gxrKFX0Fw",{"id":190,"title":191,"body":192,"code":61,"desc":208,"description":196,"extension":63,"featured":64,"live":209,"meta":210,"name":211,"navigation":64,"num":212,"order":213,"path":214,"seo":215,"shot":61,"shotNote":61,"stack":216,"stem":221,"__hash__":222},"projects\u002Fprojects\u002Ffr\u002Fsss-platform.md","Sss Platform",{"type":48,"value":193,"toc":206},[194,197,200,203],[51,195,196],{},"Construite pour Smart Solutions Suppliers ; en recette finale en juin 2026.",[51,198,199],{},"Trois produits dans une seule base de code. Le constructeur de site permet au\nclient d'assembler ses pages lui-même au lieu d'ouvrir un ticket pour chaque\nchangement. La boutique gère le catalogue produits. Le blog couvre la partie\nrédactionnelle.",[51,201,202],{},"Laravel sert le backend et Vue l'interface, réunis par Inertia — ce qui garde\nl'ensemble comme une seule application au lieu d'une API et d'un client\nséparés, et laisse le routage et l'authentification côté Laravel, là où ils ont\nleur place.",[51,204,205],{},"Je l'ai menée sur tout le cycle de développement : recueillir les besoins avec\nles parties prenantes, concevoir le système et le schéma, la construire, et la\nsuivre jusqu'à la recette.",{"title":58,"searchDepth":59,"depth":59,"links":207},[],"Laravel et Vue via Inertia.js, portant un constructeur de site complet, une boutique de produits et un blog. Menée sur tout le cycle de développement — recueil des besoins avec les parties prenantes, conception système et schéma, développement, et la phase de recette en cours.\n","https:\u002F\u002Fwww.sss-syr.com\u002F",{},"Plateforme institutionnelle SSS","04","4","\u002Fprojects\u002Ffr\u002Fsss-platform",{"description":196},[13,15,217,218,219,220],"Inertia.js","Constructeur de site","E-commerce","Blog","projects\u002Ffr\u002Fsss-platform","m9YCd7z1PNi-SJecOJmgaV3vzADBeuFYpTQa3ylW8NQ",{"id":224,"title":225,"body":226,"code":61,"desc":236,"description":230,"extension":63,"featured":237,"live":61,"meta":238,"name":239,"navigation":64,"num":240,"order":241,"path":242,"seo":243,"shot":61,"shotNote":61,"stack":244,"stem":248,"__hash__":249},"projects\u002Fprojects\u002Ffr\u002Fhassad-accounting-app.md","Hassad Accounting App",{"type":48,"value":227,"toc":234},[228,231],[51,229,230],{},"Construite chez Value Company.",[51,232,233],{},"Une application comptable de bureau que des gens utilisaient chaque jour\nouvré, ce qui en fait une histoire de maintenance plus qu'un projet neuf :\najouter des fonctions sans casser des habitudes déjà passées dans les réflexes,\net descendre directement dans SQL Server pour réparer les requêtes devenues\nlentes avec l'accumulation des données.",{"title":58,"searchDepth":59,"depth":59,"links":235},[],"Application comptable Windows Forms en usage quotidien. Maintenue, enrichie de nouvelles fonctions et optimisée au niveau SQL Server pour la performance des requêtes.\n",false,{},"Hassad — application comptable de bureau","05","5","\u002Fprojects\u002Ffr\u002Fhassad-accounting-app",{"description":230},[245,246,247],"C#","Windows Forms","SQL Server","projects\u002Ffr\u002Fhassad-accounting-app","SJOXo_Cglu8mhOa0WsgwnB0RvNevHiy24BrD0MxT3qk",{"id":251,"title":252,"body":253,"code":61,"desc":266,"description":257,"extension":63,"featured":64,"live":267,"meta":268,"name":269,"navigation":64,"num":270,"order":271,"path":272,"seo":273,"shot":274,"shotNote":61,"stack":275,"stem":280,"__hash__":281},"projects\u002Fprojects\u002Ffr\u002Fsmbkc-cultural-center.md","Smbkc Cultural Center",{"type":48,"value":254,"toc":264},[255,258,261],[51,256,257],{},"Réalisé chez FSIT pour une institution culturelle aux Émirats. Le front-end\nest le mien de bout en bout — la conception comme la réalisation.",[51,259,260],{},"Trois des activités du centre ont leur propre parcours sur le site : une\nbibliothèque électronique par laquelle les membres empruntent des livres, un\nsystème de réservation des salles, et les prix et concours auxquels les membres\ns'inscrivent. Autour se trouve la moitié institutionnelle — le conseil, la\nstructure organisationnelle, les valeurs, la stratégie, les objectifs et les\nplans, l'école et l'association affiliées, le calendrier des expositions et des\névénements. Les membres se connectent ; les visiteurs peuvent demander leur\nadhésion.",[51,262,263],{},"Le site fonctionne en arabe et en anglais, ce qui, sur un site aussi dense en\ntexte, relève de la mise en page plus que de la traduction : toute la page se\nreflète, donc chaque règle contenant une gauche ou une droite doit s'écrire\ncomme un début ou une fin.",{"title":58,"searchDepth":59,"depth":59,"links":265},[],"Tout le front-end du Sheikh Mohammed bin Khalid Al Nahyan Cultural Center — un site institutionnel en arabe et en anglais portant une bibliothèque de prêt, la réservation de salles et l'inscription aux concours. Conçu et développé de bout en bout côté front.\n","https:\u002F\u002Fsmbkc.online\u002F",{},"Centre culturel SMBKC","06","6","\u002Fprojects\u002Ffr\u002Fsmbkc-cultural-center",{"description":257},"\u002Fimages\u002Fprojects\u002Fsmbkc-cultural-center.webp",[14,15,276,277,278,279],"Bootstrap 5","i18n (ar\u002Fen)","RTL","Responsive","projects\u002Ffr\u002Fsmbkc-cultural-center","8MR_mdM3rUW1MvNdiG-QlEFO5eZtanBV_C7YXKjy6Bc",{"id":283,"title":284,"body":285,"code":61,"desc":298,"description":289,"extension":63,"featured":237,"live":299,"meta":300,"name":301,"navigation":64,"num":302,"order":303,"path":304,"seo":305,"shot":306,"shotNote":61,"stack":307,"stem":309,"__hash__":310},"projects\u002Fprojects\u002Ffr\u002Fhr-libya.md","Hr Libya",{"type":48,"value":286,"toc":296},[287,290,293],[51,288,289],{},"Conçue et développée chez FSIT. Une page, en arabe et en anglais : la\nprésentation, les services principaux, la liste des fonctionnalités du système\nRH derrière, les paliers tarifaires, et les formulaires de contact et de\nnewsletter.",[51,291,292],{},"Tout l'intérêt est que rien de cela n'est écrit en dur. Chaque titre, chaque\nparagraphe, chaque ligne de fonctionnalité et chaque tarif est chargé depuis\nl'administration : le client réécrit ses propres textes et change ses offres\nsans livraison.",[51,294,295],{},"C'est la différence entre une page d'atterrissage et une photo de page. Une\npage dont le texte réclame un développeur cesse d'être modifiée après le\npremier mois.",{"title":58,"searchDepth":59,"depth":59,"links":297},[],"Une page d'atterrissage bilingue pour une plateforme RH libyenne, conçue et développée pour que tout ce qui s'y trouve — textes, fonctionnalités, services, tarifs — soit du contenu que le client modifie depuis l'administration, et non du balisage qu'un développeur redéploie.\n","https:\u002F\u002Fhradmin.ly\u002F",{},"HR Libya — page d'atterrissage","07","7","\u002Fprojects\u002Ffr\u002Fhr-libya",{"description":289},"\u002Fimages\u002Fprojects\u002Fhr-libya.webp",[14,15,276,277,308],"Contenu piloté par l'admin","projects\u002Ffr\u002Fhr-libya","aVyPeFQz1Knlgtf8DIsK4BSY07GdAyYWAtTCcAMoj0Y",{"id":312,"title":313,"body":314,"code":61,"desc":362,"description":318,"extension":63,"featured":64,"live":363,"meta":364,"name":365,"navigation":64,"num":366,"order":367,"path":368,"seo":369,"shot":370,"shotNote":61,"stack":371,"stem":375,"__hash__":376},"projects\u002Fprojects\u002Ffr\u002Falbadia-tent.md","Albadia Tent",{"type":48,"value":315,"toc":358},[316,319,322,327,338,341,345,352,355],[51,317,318],{},"Un site bilingue existant pour un fabricant de tentes et de chapiteaux aux\nÉmirats — produits, services, un espace média avec actualités, photos et\nvidéos, et une liste de clients composée d'administrations et de conseils. Il\nfonctionnait. Il était lent.",[51,320,321],{},"Le travail chez FSIT consistait à lire le source, à trouver où passait\nréellement le temps de chargement, et à restructurer le projet autour de cette\nréponse plutôt qu'à rustiner autour.",[323,324,326],"h2",{"id":325},"avant","Avant",[51,328,329],{},[330,331],"img",{"alt":332,"decoding":333,"height":334,"loading":335,"src":336,"width":337},"Scores Lighthouse avant le travail : performance 50, accessibilité 75, bonnes pratiques 88, SEO 91","async",142,"lazy","\u002Fimages\u002Fprojects\u002Falbadia-tent-before.webp",972,[51,339,340],{},"Lighthouse avant le travail — performance 50, accessibilité 75, bonnes pratiques 88, SEO 91.",[323,342,344],{"id":343},"après","Après",[51,346,347],{},[330,348],{"alt":349,"decoding":333,"height":350,"loading":335,"src":351,"width":337},"Scores PageSpeed Insights après le travail : performance 94, accessibilité 94, bonnes pratiques 92, SEO 100",141,"\u002Fimages\u002Fprojects\u002Falbadia-tent-after.webp",[51,353,354],{},"PageSpeed Insights, ordinateur, après — performance 94, accessibilité 94, bonnes pratiques 92, SEO 100.",[51,356,357],{},"Les quatre catégories ont bougé, pas seulement une : c'est généralement à quoi\nressemble une restructuration, puisque le balisage réécrit pour le temps de\nchargement est celui-là même dont on lit l'accessibilité et le SEO.",{"title":58,"searchDepth":59,"depth":59,"links":359},[360,361],{"id":325,"depth":59,"text":326},{"id":343,"depth":59,"text":344},"Une revue du code source et une restructuration complète d'un site Nuxt existant, visant précisément la vitesse de chargement. Les quatre catégories Lighthouse ont bougé, et la performance est passée de 50 à 94.\n","https:\u002F\u002Falbadiatent.net\u002F",{},"Al Badya Tent — refonte pour la performance","08","8","\u002Fprojects\u002Ffr\u002Falbadia-tent",{"description":318},"\u002Fimages\u002Fprojects\u002Falbadia-tent.webp",[14,15,276,372,373,374],"Revue de code","Refactorisation","Performance web","projects\u002Ffr\u002Falbadia-tent","b9o80WjSGsy05LSG2rYbBfJW31ybKgND48oCfsALFTA",{"id":378,"title":379,"body":380,"code":61,"desc":396,"description":384,"extension":63,"featured":64,"live":61,"meta":397,"name":398,"navigation":64,"num":399,"order":400,"path":401,"seo":402,"shot":61,"shotNote":102,"stack":403,"stem":406,"__hash__":407},"projects\u002Fprojects\u002Ffr\u002Fchloellia.md","Chloellia",{"type":48,"value":381,"toc":394},[382,385,388,391],[51,383,384],{},"Réalisé chez Davinda. L'or n'a pas de prix, il a un cours, et le cours bouge. Un\ncatalogue de joaillerie bâti sur des prix stockés est faux à l'instant même où\nil est enregistré — la boutique vend à perte, ou bien retarife chaque pièce à la\nmain tous les matins.",[51,386,387],{},"Le prix n'est donc pas une colonne. Chaque pièce est décrite par ce dont elle est\nfaite — métal, poids, titre, pierres, la façon par-dessus — et le prix est\ndérivé du cours en vigueur au moment où on le demande. Le cours change, et tout\nle catalogue redevient juste sans que rien n'ait été modifié.",[51,389,390],{},"Le même modèle porte la moitié la plus difficile. Un client qui compose sa propre\npièce n'est pas un cas particulier à chiffrer à la main : la commande sur mesure\nest assemblée à partir des mêmes composants et chiffrée selon les mêmes règles,\nsi bien qu'une pièce qui n'existe pas encore a malgré tout un prix.",[51,392,393],{},"Ma part, c'était le back-end — le modèle de données, les règles de tarification\net l'API REST au-dessus.",{"title":58,"searchDepth":59,"depth":59,"links":395},[],"Une boutique d'or et de joaillerie fine où aucun prix n'est un nombre stocké : le cours du métal pilote le catalogue, et une pièce que le client compose lui-même est chiffrée et assemblée automatiquement à partir de ses composants.\n",{},"Chloéllia — Commerce de joaillerie","09","9","\u002Fprojects\u002Ffr\u002Fchloellia",{"description":384},[104,105,106,72,404,405],"API REST","Moteur de tarification","projects\u002Ffr\u002Fchloellia","q_qiaHpX4pKFisb3RvlvsgnrkveKbg3FfYLQM2F9Oxc",1788026175921]