Expérience professionnelle
DÉVELOPPEUR IOS SÉNIOR - EGIS DATA & SOLUTIONS
Depuis juin 2016
EGIS Data & Solutions est une entité du groupe international EGIS,
spécialisé dans le conseil, l’ingénierie, la construction et
l’exploitation d’infrastructures. Elle développe des solutions
numériques au service des métiers du BTP et de l’aménagement,
en France et à l’international.
3 Développeurs iOS, 1 Product Manager, 2 Développeurs Backend,
1 Product Owner, 1 Testeur QA, 1 DevOps
DÉVELOPPEUR IOS SÉNIOR - STREAMWIDE
Mai 2014 - Juin 2016
StreamWide est un éditeur international de solutions télécom à
valeur ajoutée pour opérateurs fixes et mobiles.
6 Développeurs iOS, 1 Product Manager, 6 Développeurs Android ,
4 Développeurs Backend, 1 Product Owner, 3 Testeurs QA.
DÉVELOPPEUR IOS - BACDEV
Septembre 2012 - Mai 2014
BacDev est une société franco-tunisienne spécialisée dans le
développement de solutions logicielles sur mesure, notamment
dans le domaine de l’édition numérique et des applications mobiles.
3 Développeurs iOS, 1 Product Manager, 1 Développeurs Backend,
1 Testeur QA, 1 Graphiste.
PROJETS RÉALISÉS
EGIS DATA & SOLUTIONS
1- InSitu V2
Refonte complète de l’application mobile de suivi de projets terrain – Secteurs BTP, ingénierie,
infrastructures
Stack : Swift, SwiftUI, Clean Architecture, Combine, MVVM, REST/JSON, SPM, URLSession, CoreData,
MapKit, PDFTron, Git (Gitlab), Bitrise, Fastlane, XCTest, Jira, TestFlight
Implication dès les phases de conception pour définir l’architecture (Clean Architecture + MVVM) et
orienter les choix technologiques.
Développement de l’application avec SwiftUI et Combine, dans un cadre modulaire visant une
meilleure maintenabilité.
Collaboration avec le PO pour analyser les besoins, évaluer les solutions techniques et assurer une
mise en œuvre adaptée.
Participation aux revues de code, aux tests fonctionnels, et à la livraison des versions via TestFlight.
2- InSitu V1
Application de gestion de projets et de suivi d’activités terrain – Secteurs BTP, ingénierie, infrastructures
Stack : Objective-C, Swift, UIKit, MVC, REST/JSON, CocoaPods, Alamofire, CoreData, SQLite, MapKit,
PSPDFKit, Charts, Git(Gitea), Jira, TestFlight, App Store Connect
Participation aux réunions produit avec le PO pour évaluer la faisabilité technique et estimer les
charges des évolutions demandées.
Conception et développement de nouvelles fonctionnalités, avec consommation de web services,
gestion de données locales et mise en place d'interfaces utilisateur avancées.
Participation à l’optimisation du mécanisme de synchronisation des données iPad/serveur, avec une
meilleure gestion des accès concurrents pour réduire le temps de traitement
Conception et mise en place d’un système de gestion de licence par tablette, modélisé à l’aide de
diagrammes d’état et de schémas techniques.
Revue de code et collaboration étroite avec l’équipe pour assurer la qualité et la cohérence du code.
Correction de bugs, gestion de la maintenance corrective et évolutive.
Support technique réactif, y compris assistance sur le terrain pour débloquer des utilisateurs
confrontés à des situations urgentes.
Déploiement et gestion des versions via TestFlight et App Store Connect.
3- FrameworkCViewer
Framework iOS BIM (Building Information Modeling) pour la visualisation interactive de maquettesC
(Industry Foundation Classes)
Stack : Swift, UIKit, MVVM, SceneKit, Realm, REST/JSON, CocoaPods, GitHub, Jira
Proposition et mise en place de l’architecture MVVM combinée à UIKit pour une intégration fluide de
la 3D avec SceneKit.
Développement de la vue principale du viewer 3D permettant la navigation dans des maquettes BIM
complexes (formatsC).
Ajout de fonctionnalités interactives : sélection et masquage d’objets, ajout de réserves, interactions
contextuelles sur la maquette.
Conception et implémentation d’un algorithme sur mesure permettant des coupes dynamiques dans
la maquette, en contournant les limites de SceneKit.
Contribution à la publication du framework sur CocoaPods pour intégration dans d’autres projets iOS.
STREAMWIDE
Team on The Run
Application de communication sécurisée (messagerie instantanée et VoIP) pour les entreprises – Secteur
: Technologies de la communication (B2B)
Stack : Objective-C, Swift, UIKit, CoreData, VoIP, CoreAudio, PushKit, REST/JSON, MVC, SVN
Participation au développement et à l’évolution d’une application mobile B2B de messagerie
professionnelle et VoIP.
Rédaction de spécifications techniques et conception de diagrammes d’état avancés pour modéliser
les scénarios d’appel VoIP (appels individuels et conférences).
Contribution au refactoring du code existant afin de structurer le projet en modules réutilisables et à
l’extraction d’un framework indépendant (messagerie + VoIP).
Réalisation de revue de code, corrections de bugs, et développement de nombreuses fonctionnalités
dans un environnement multithreadé et sensible à la performance.
BACDEV
Design Touch
Application iPad pour la visualisation et l’édition de documents Adobe InDesign (IDML)
Stack : Objective-C, MVC, IDML, KissXML, REST, JSON/XML, SVN
Conception et développement d’une application iOS permettant l’affichage interactif et la retouche
légère de documents Adobe InDesign au format IDML.
Implémentation de fonctionnalités d’édition de texte et d’attributs graphiques, avec synchronisation à
la demande via serveur InDesign.
Optimisation des performances via gestion mémoire et traitement multithreadé pour garantir la fluidité
sur des documents complexes.
Collaboration étroite avec l’équipe en charge des plugins InDesign pour résoudre des contraintes
techniques liées au format IDML via des solutions partagées.
GO-MAKKAH
Go-Makkah (Projet de fin d’études)
Application iPhone de réservation d’hôtels avec paiement en ligne
Stack : Objective-C, UIKit, SOAP, MapKit, CoreData
Conception et développement d’une application de réservation d’hôtels intégrant recherche
multicritère, filtres, affichage cartographique et consultation des offres.
Mise en place des fonctionnalités de réservation et paiement sécurisé via le prestataire Ogone.
Gestion des favoris et consultation offline des offres enregistrées.