Consultant C/C++ Linux
Société : Eagles Technologies
Client : PSA Sochaux
Lieu: Sochaux, France
Mission : Coordination et suivi du développement/intégration sur les projets VPM Etude
Durée : 3 mois
Principales tâches :
Intégration des développements faits sur les projets VPM Etude
Gestion des anomalies avec le système JIRA
Analyse et correction des anomalies en C++ et Java
Développement et mise à jour des scripts shell Unix
Pilotage des Test d’Intégration
Suivi des Test Fonctionnels
Coordination entre l’équipe développement et concepteurs
Ingénieur Développement Systèmes Embarqués C Linux
Société: SAGEM Tunisie
Lieu: Tunis, Tunisie
Métier: TV numérique et DVB
Octobre 2010 – Mars 2011 : Développement d’une stratégie de signalisation privée pour deux produits décodeurs numériques SAT : Zappeur et PVR
Principales tâches :
Responsabilité sur le développement et la maintenance des deux projets PVR et Zappeur (élaboration du planning, gestion de configuration sur SVN et Bugzilla, gestion du projet sur SharePoint, participation dans les conf-call avec le client …)
Analyse des besoins du client et étude de faisabilité
Conception de la structure de données utilisée pour cette signalisation privée.
Conception du module responsable de la gestion de cette nouvelle fonctionnalité (acquisition, sauvegarde, IHM)
Développement de l’outil de génération/édition de la table privée (puisqu’elle n’est pas supportée par les outils dont le client dispose)
Développement du module d’acquisition et analyse de la table privée
Formatage et présentation des données à l’utilisateur (liste des chaînes, organisation des chaînes favorites proposées par le diffuseur, message de blocage de chaînes)
Test unitaires et corrections des problèmes découverts
Test d’intégration et stabilisation de la nouvelle fonctionnalité
Correction des problèmes détectés par l’équipe de la validation et par le client
Supporter le client pour déployer la nouvelle signalisation du plan de service : mission à Budapest chez le client (présentation fonctionnelle et résolution des problèmes terrain rencontrés)
Cette nouvelle fonctionnalité a été conçue et développée sur deux architectures logicielles différentes, l’une pour un produit Zapppeur et l’autre pour un produit PVR (Personal Video Recorder).
Environnement : C/C++, Linux Ubuntu, Windows XP, Eclipse, Understand C, GDB, ST OS21, Architecture ST40, C#.Net 2.0, Visual Studio 2005, SVN, Bugzilla, Set-Top Box, Sonde STMC1.
Avril 2010 – Septembre 2010: Conception et implémentation de la fonctionnalité de gestion des chaines TV et Radio basée sur la table NIT.
Principales tâches :
Conception générale et détaillée du module de filtrage des tables NIT et SDT en se basant sur la spécification ETSI EN 300 468 V1.9.1
Conception détaillée de l'IHM
Implémentation et tests unitaires des modules demandés
Test d'intégration et correction des anomalies détectées
Les modules essentiels sont :
Recherche automatique des services : recherche basée sur les informations NIT
Classification des chaines par réseau d'appartenance
Gestion des services trouvés : tri selon type du service (TV/Radio), LCN et puissance du signal
Gestion de l'IHM et la synchronisation entre les écrans
Environnement: C/C++, STL (Standard Template Library), Linux Ubuntu, Eclipse, Understand C, GDB, ST OS21, Architecture ST40, SVN, Bugzilla, Set-Top Box, Sonde STMC1
Novembre 2009 – Mars 2010: Conception et implémentation du module EPG pour un Set-Top-Box IP.
Principales tâches :
Etude de l'architecture existante
Analyse de la spécification concernant la fonctionnalité EPG (structure de la table EIT, mécanisme de signalisation et descripteurs utiles). La spécification utilisée est ETSI EN 300 468 V1.8.1
Analyse de la spécification du client : organisation de l'information sur l'écran (ergonomie et précision des données affichées)
Conception générale et détaillée
Implémentation en respectant les règles du codage (langage C)
Détection et correction des anomalies du codage en utilisant le système Klocwork
Tests unitaires et intégration du code sur le serveur SVN
Débogage et robustesse
Environnement: C/C++, Linux Ubuntu, Ethereal, Eclipse, Understand C, GDB, ST OS21, Architecture ST40, SVN, Bugzilla, Set-Top Box, Sonde STMC1.
Juin 2009 - Octobre 2009: Implémentation de la fonctionnalité TOP (Table Of Pages) pour le télétexte d'un opérateur de TV numérique Allemand. « TOP teletext » est un système qui permet la navigation dans les pages télétexte d'une façon thématique en utilisant les boutons couleurs de la télécommande.
Principales tâches :
Lecture et analyse de la spécification du client
Analyse de la spécification ETS 300 706 « Enhanced Teletext Specification »
Conception générale du nouveau module responsable de la fonctionnalité « TOP teletext »
Conception détaillée (Fonctions, paramètres, messages, structure de données…)
Rédaction des documents de conception générale et détaillée.
Implémentation du module en langage C
Intégration du code sur le serveur SVN
Tests unitaires et tests d'intégration.
Correction des problèmes retournés par l'équipe de la validation.
Environnement: C/C++, Linux Ubuntu, Ethereal, Eclipse, Architecture ST40, SVN, Bugzilla, Set-Top Box, Sonde STMC1.
Septembre 2008 - Mai 2009: Maintenance et évolution du projet Set-Top-Box TNT SAT HD.
Principales tâches :
- Correction des anomalies IHM
- Evolution du module du paramétrage Audio/Vidéo (Type audio, Niveau audio, Résolution vidéo, Colorimétrie,…)
- Evolution HDMI/HDCP
- Amélioration DVB-SI : Résolution du conflit LCN, prise en compte de visible_flag, tri selon qualité du signal,…
- Gestion des clés de cryptage Ks dans l’EEPROM pour le système CONAX CAS
- Correction des anomalies de la fonctionnalité MHEG
- Réalisation des tests unitaires et des tests de non-régression
- Intégration et gestion du code sur SVN
- Gestion des anomalies sur Bugzilla
- Gestion des livrables sur SharePoint : Release Notes, Fiches de tests, Documents de conception, Binaires,…
Environnement: C/C++, Linux Ubuntu, Understand C, Architecture ST40, SVN, Bugzilla, Set-Top Box, Sonde STMC1.
Ingénieur Etude et Développement .Net
Société: TUNAV
Lieu: Tunis, Tunisie
Métier: Localisation et suivi par GPS
Mars - Août 2008 : Evolution du serveur de communication TCP/GPRS/SMS pour supporter un nouvel équipement
Principales tâches :
- Etude du protocole de communication spécifique à l’équipement.
- Etude du modèle de données et des modifications à apporter
- Mise à jour des documents de conception (diagrammes UML)
- Gestion de la base de données sur SQL Server 2005
- Conception et implémentation des classes de gestion du protocole spécifique à l’équipement
- Interrogation de la base de données en utilisant les services de la couche ADO.Net
- Réalisation des tests unitaires et des tests de non-régression
Environnement : C#.Net, ADO.Net, Microsoft Visual Studio 2005, SQL Server 2005, Windows XP
Septembre 2007 - Avril 2008 : Conception et développement d’un composant de communication entre l’utilisateur (chauffeur) et l’équipement GPS (à bord du véhicule) via une interface série
Principales tâches :
- Un ensemble d’E/S pour les alertes et les commandes de contrôle.
- Conception des modules et de l’interaction entre eux (messages et sémaphores)
- Implémentation des Drivers :
o Driver USART (sur RS-232)
o Driver du Clavier (clavier 16 boutons : 4x4)
o Driver de l’écran LCD HD44780 (4 lignes x 20 colonnes)
o Module de gestion des entrées analogiques fournis par des capteurs à bord du véhicule
- Implémentation basique du protocole PPP (Point to Point Protocol) en utilisant la RFC 1661
- Implémentation du protocole transport qui assure la fiabilité de la communication (inspiré du protocole TCP) en utilisant la RFC 793
- Conception et implémentation de l’IHM (Menus et zones texte)
- Réalisation des tests unitaires et des tests d’intégration
- Débogage et stabilisation de l’application
Plateforme : PIC18F8722
Environnement : Microchip MPLAB 7.6, MCC18 Compiler
Langage : C Standard
RTOS : PICOS18 v2.10
Avril - Août 2007 : Conception et implémentation d’un serveur de communication TCP/GPRS/SMS entre les équipements de suivi et la base de contrôle.
Le serveur de communication est un composant essentiel dans la solution de gestion de flotte puisqu’il permet la collecte des données envoyées par les équipements (qui utilisent des protocoles différents) et l’envoi (et l’ordonnancement) des commandes de contrôle/configuration à distance.
- Conception générale et détaillée en élaborant les diagrammes UML (Use cases, Classes, Séquences et Activités) sur Rational Rose
- Création de la base de données avec SQL Server 2005
- Mise en place d’une architecture en couche sous Visual Studio 2005
- Implémentation de la couche communication : les équipements peuvent envoyer les données soit par GPRS (TCP côté serveur) soit par SMS (pilote modem GSM côté serveur). Cette couche masque la technologie de communication pour les autres couches.
- Implémentation de la couche de codage/décodage des données
- Implémentation de la couche classification et stockage
- Réalisation des tests unitaires et des tests d’intégration
- Correction des anomalies détectées
- Préparation du projet Setup
- Gestion du projet sur SVN
Conception : UML sous Rational Rose
Langage : C#.NET 2.0
Base de données : SQL Server 2005
Environnement : Microsoft Visual Studio 2005, SVN
Octobre 2006 – Janvier 2007 : Conception et implémentation d’un protocole de communication (fiable et optimisé) entre l’équipement de suivi et la base de contrôle sur le lien GSM DATA.
- Analyse des besoins
- Conception générale : architecture en couches
- Conception détaillée des modules, des fonctions, des messages et des structures de données
- Implémentation de la couche physique : Configuration du modem MC45 de Siemens, interface de communication RS-232
- Implémentation de la couche liaison de données : Inspirée du protocole PPP (Point to Point Protocol) en utilisant la RFC 1661. Modification de la machine d’états du PPP pour être supportée par l’unité mobile (contrainte complexité et mémoire). Un champ de contrôle est utilisé pour détecter les erreurs éventuelles (FCS).
- Implémentation de la couche transport : inspirée du protocole TCP en utilisant la RFC 793. Essentiellement l’implémentation du mécanisme de la fenêtre glissante (Sliding Window) qui permet de gagner considérablement en bande passante et donc minimiser le coût de l’échange de données entre l’équipement et la base de contrôle.
- Implémentation de la couche présentation : interface WinForms
Conception : UML sous Rational Rose
Langage : C#.NET 2.0
Environnement : Microsoft Visual Studio 2005
Mars - Septembre 2006 : Conception et développement d’un service web pour la localisation et le suivi d’une flotte de véhicules.
- Conception du modèle de données
- Implémentation de la couche accès aux données : NHibernate
- Couche métier : analyse des données GPS (filtrage, extraction et classification des alertes, génération des états comparatifs, …), gestion des comptes clients, fournir des fonctionnalités SIG en se basant sur les services offerts par ArcIMS.
- Couche présentation : L’interface utilisateur a été développée avec le langage ASP.Net 2.0. Le concept de MasterPage et ContentPage a été adopté. Les actions de l’utilisateur ont été implémentées avec C#.Net. La visualisation des rapports et des états (statistiques sous forme des tableaux, des courbes et des histogrammes) a été faite avec Crystal Reports 10. La plupart des services et des fonctionnalités sont axés autour d’une carte géographique (navigation, suivi, présentation des parcours des véhicules, présentation des lieux des stop, présentation des lieux d’excès de vitesse).
Environnement et Outils : Microsoft Visual Studio 2005, SQL Server 2005, Rational Rose, Puzzle Object Mapper, Crystal Reports 10
Langages : C#.Net 2.0, ASP.Net 2.0
STAGES ET PROJETS
Février – Juin 2005
Projet de fin d’études : Fusion d’images radar/optiques basée sur la théorie de l’évidence de Dempster-Shafer.
Langage: C++
Outil: Borland C++Builder 6.0
Lieu : Sup’Com
Acquis :
- Implémentations d’algorithmes complexes : algorithmes de classification et de segmentations d’images numériques et algorithmes de fusion des données provenant de sources homogènes et hétérogènes.
- Gestion dynamique de la mémoire.
- Optimisation des procédures de calcul.
Juillet - Août 2004
Stage d’été : Analyseur syntaxique et lexical.
Langage : C++
Outil : Visual C++ 6
Lieu : Ubitrade (actuellement GLTrade)
Février - Mai 2004
Projet de fin d’année : Tatouage d’images numériques.
Langage : C++
Outil : Borland C++ Builder 6.0
Lieu : Sup’Com
FORMATIONS PROFESSIONNELLES
Linux Embarqué:
Organisme: ACSYS
Architecture: ST40
OS: STLinux
Environnement: Linux Ubuntu
Acquis: cross-compiling, architecture du noyau linux, compilation du noyau, génération de l'image du noyau, le mécanisme du boot, système de fichier, débogage sur cible en utilisant STWorkbench, ...
Outils: STWorkbench
SVN Subversion:
Organisme: interne (Sagem)
Environnement: Linux Ubuntu
Forge
Organisme: interne (Sagem)
Bonnes pratiques pour le langage C:
Organisme: proxym-it
Environnement: Linux Ubuntu
Outils: Eclipse
FORMATION
2002 - 2005
Trois années d’étude à Sup’Com, école supérieure des communications de Tunis.
2000 - 2002
Deux années d’étude à IPEIN, Institut Préparatoires aux Etudes d’Ingénieurs de Nabeul.
LANGUES
Anglais Technique
Français Courant
Arabe Maternelle