Expérience professionnelle
Centum T&S Toulouse, France
Oct 2023- présent
Consultant en systèmes embarqués
Description de l'emploi
Projets en interne.
Réalisations
1. Participation et contribution active à une formation interne sur la norme DO 178,
renforçant ainsi ma compréhension des exigences de certification des logiciels
embarqués dans l'industrie aéronautique.
2. Développement d'outil Excel avancé pour la gestion des risques, permettant une
analyse et évaluation de la criticité d'un risque et de proposer des actions pour une
maitrise des couts efficace pour l'équipe de COSTING.
3. Mise en place d'un système Excel automatisé pour le suivi des PCB, facilitant le
processus de demande d’ADEC, de conception et de gestion des cartes électroniques
pour l'équipe CAO.
4. Conception d'un script Python capable de sélectionner des paragraphes spécifiques
dans un répertoire de datasheets de composants électroniques et de les organiser
dans un document PDF, optimisant ainsi la recherche et l'organisation des
informations techniques.
5. Développement d'un script Python pour le client MBDA pour vérifier la conformité
des entrées dans une base de données interne selon des formats spécifiques, et
signalement des erreurs existantes, améliorant ainsi la qualité et la précision des
données.
6. Réalisation d'une phase importante d'une interface homme-machine (IHM) avec QT
Creator, permettant de configurer et de communiquer avec un banc électronique,
répondant aux besoins spécifiques du client Sermat Soterem.
CELAD Rennes, France
Client : STmicroelectronics
Mars 2022- Août 2023
Développeur en systèmes embarqués
Description de l'emploi
Développement et migration des drivers SPI-IWDG pour projet CUBE2.0 sur une cible U5
Réalisations
1. Phase de ramp-up ST
• Formation accélérée et TP GIT, préparation de l'environnement de travail,
installation des logiciels, récupération de la baseline U5_Cube2, lecture des
documents : U5 referance manual, SAD (Software Architecture Description) projet
CUBE2.0, règles de codage MISRA, les standards SC2...
• Plusieurs réunions sont organisées pour discuter et comprendre les CRs (Changes
Requests) de l'SAD et les améliorations recommandées par le TC (Technical
committee).
• Réunion de brainstorming avec le référent ST CUBE2.0 et l'IP owner SPI : Fournir
les cartes de test, fournir la branche de référence, discuter les CRs génériques
applicables à l'IP et proposer des CRs spécifiques.
• Tester l'environnement de valide U5 CUBE1 pour le SPI sur une carte NUCLEOH743ZI et un esclave et extraire le rapport de test.
2. Phase SRS : Software Requiements Specifications
• Mettre à jour le SRS CUBE1 de l'IP SPI conformément à l’SAD en modifiant les
requirements impactées par les CRs et en ajoutant de nouvelles requirements de
robustesse.
• Enchainer les mails de Call for review, Control for rework, Approval request et les
meetings avec les gens concernés pour valider la SRS
• Versionner les documents au fur et à mesure et les placer sous Medoc avec un ID
spécifique.
3. Phase SDD : Software Detailed Description
• Rédaction de l'SPI driver architecture proposal PPT
• Enchainer les kick-off meeting avec l'IP owner et le TC pour discuter et améliorer
l'architecture proposée
• Application des CRs à hal_spi.h, hal_spi.c avec fusion des fichiers extended.
• Rédaction de la documentation Doxygen pour les API, les macros et les data
structures
• Codage de la state machine et les sequence diagrams des processus avec PlanUML
• Génération de la SDD à partir d'un script Python dédiée.
• Enchainer les mails de Call for review, Control for rework, Approval request et les
meetings avec les gens concernés pour valider la SDD
• Versionner les documents au fur et à mesure et les placer sous Medoc avec un ID
spécifique.
CELAD Rennes, France
Client : STmicroelectronics
1.1.1 STMicroelectronics
1.1.2 STMicroelectronics
Mars 2022- Août 2023
Développeur en systèmes embarqués
7
4. Phase de codage
• Création d'une branche dédiée à chaque phase de codage.
• Implémentation des API dans les fichiers génériques.
• Génération de code sur toutes les familles pour faciliter la phase de déploiement.
• Application du MCU Astyle pour s'assurer que le code respecte les règles de codage.
• Compilation du code.
• Commit des changements effectués avec Commitizen pour un message de commit
selon les standards.
• Envoyer une revue Gerrit (en WIP avant pour vérifier le rapport ACI sur Jenkins) et
sélectionner les reviewers concernés.
• Faire les mises à jour nécessaires sur le code et répondre aux commentaires.
5. Phase tests unitaires
• Création d'une branche dédiée à l'update de l'environnement de valide.
• Coder / Updater les tests exhaustifs et fonctionnels (automatiques et manuels).
• Lancer des Gerrit review.
• Tester l'environnement de valide sur le driver CUBE2.0 et s'assurer que tous les
tests sont PASS
• Lancer le LDRA pour pouvoir connaitre le pourcentage du test coverage.
Méthodologie
• Projet géré avec la méthode agile Scrum
• Assister aux dailys pour parler des achèvements, de l'avancement et des points de
blocage et communiquer les informations projet importantes entre membres de
l'équipe.
• Préparation et animation des réunions avec les différents membres du projet sur
Teams.
• Participer aux Sprints plannings et préciser les tickets à travailler pour le prochain
Mois
• Participer aux Sprints reviews pour donner des feedbacks sur le process, ce qui
marche et ce qui n'a pas marché...
• Updater les tickets sur Jira : Epics, Estimation, workflow, log work, commentaires
sur l'avancement...
Environnements techniques
Langages : C, Python, Doxygen, PlantUML
Outils : IAR, VScode, Notepad++, STM32CubeStudio, Winmerge, Tortoise,
LDRA, JIRA
Méthode : Scrum, Cycle en V, git, Gerrit, Jenkins
SintWARE Djerba-Zarzis, Tunisie
Sept 2017- Fév 2022
Développeur en systèmes embarqués
Description de l'emploi
Développement et amélioration des spécifications imposées par les clients en fonction des
demandes.
Buts
La satisfaction du client
Le respect des spécifications au cours des procédures de programmation
L’optimisation des solutions envisagées
Réalisations
1. Réalisation d'une IHM dynamique « Thermilogue » pour le contrôle et
la supervision d'un système utilisateur avec Python (Tkinter) :
Beagle Black Bone + Module d'affichage
2. Procédure de test pour les cartes électroniques :
✓ Cartes électroniques : TermiNar6-V3, V4-TermiNar6,
SIM32-Meteo, Sim32-IOT
✓ Eléments de test : Le contrôle complet des courts-circuits, la
communication UART, le contrôle de l'horloge et la tension de
la batterie, vérification de la tactile d'écran et le rétroéclairage,
d'E / S analogiques, E / S TOR, vérification GSM, vérification
GPS
✓ Revendication en cas de défauts
✓ Re-test et validation
✓ Interventions de soudage
✓ Outils de test : Voltmètre, MPLAB ICD 3, Machine à souder,
l'interface d'essai communiquant en série avec la carte
3. Projet : « Coagulation / floculation des eaux usées »
✓ Membres du projet : Un chef de projet, 3 développeurs
embarqués et un testeur
✓ Tâches exécutées : Discussion et amélioration du cahier des
charges, proposition des solutions, estimation des délais,
Programmation réussite des blocs « Coagulation, floculation,
stock boue et stock concentrat » en langage C embarqué, les
tests primitifs des blocks programmés à l'aide d'une IHM
conçue par moi-même, validation du projet final.
✓ Outils : MplabX IDE, MplabX IPE, compilateur C32, MPLAB ICD
3, Hercules HW-groupe, Filezilla FTP, méthodologie scrum
ASANA
SintWARE Djerba-Zarzis, Tunisie
Sept 2017- Fév 2022
Développeur en systèmes embarqués
9
4. Projet : « MC-irrigation Variateur, Diesel »
✓ Membres du projet : Un chef de projet et un développeur en
systèmes embarqués
✓ Tâches exécutées : Reformulation d'un projet existant sous
forme de blocs, la reformulation du cahier des charges,
l'amélioration et la modification du code existant (code en
langage C), test du bon fonctionnement du projet, rediffuser
aux clients
✓ Outils : MplabX IDE, MplabX IPE, compilateur C32, MPLAB ICD
3, Hercules HW-groupe, Filezilla FTP, méthodologie scrum
ASANA
5. Configuration de l’horloge, Timers, UART, SPI, I²C, ADC,
consoles de débogage avec MPLAB Harmony configurator pour
PIC32 de Microchip :
✓ L'utilisation MHG (configurateur MPLAB Harmony) pour
configurer et utiliser facilement les périphériques du
microcontrôleur Microchip.
6. Exploit du réseau Lora
✓ Membres du projet : Un chef de projet et un développeur en
systèmes embarqués
✓ Tâches exécutées : Recherches approfondies sur le thème,
création d'un réseau Lora utilisant le Lora Explorer kit avec le
module Lora Wan Microchip RN2483 et basé sur la carte
Arduino.
Orange propose toutes les bibliothèques (En langage C ++)
nécessaires pour connecter la carte au réseau LoRa d’Orange,
l'extraction du DevEUI, l’ajout de la carte au réseau, la
consultation de la plate-forme orange pour recevoir et envoyer
des Payload de données
➔ L'objectif de ce projet est l'exploit, ultérieurement, du
module RN2483 dans des cartes spécifiques crées à
l'entreprise
✓ Outils : Arduino IDE, LoRa® Kit Explorateur, objets en direct
orange plate-forme
7. Conception d’une PCB pour commande d’afficheur couleur
Riverdi 7’’/Développement d’une plateforme desktop pour
préparation et transfert de la configuration afficheur.
✓ Membres du projet : Un chef de projet, un concepteur senior
en PCB et deux développeurs en firmware embarqués
✓ Tâches exécutées :
- Recherche et choix des différents composants de la PCB
(PIC32MZ2048EFM144, Afficheur couleur Riverdi avec
contrôleur graphique SSD1963, 2 mémoires flash externes,
module WiFi MRF24wn, module Ethernet, module de
...