BELOUARGA Mohamed

Ingénieur · Linux embarqué

Bordeaux, France
Download CV

Bienvenue sur mon portfolio en ligne !

Je suis ingénieur spécialisé en Linux Embarqué

Formation

Ecole Nationale Supérieure d'Électronique, Informatique, Télécommunications, Mathématique et Mécanique(ENSEIRB)

Bordeaux, France
Systèmes Embarqués(SE)

Spécialté: Électronique
Option: Systèmes Embarqués(SE)

Septembre 2018 - Septembre 2021

Classes Préparatoires aux Grandes Ecoles

Casablanca, Maroc
Mathématique, Physiques

Tronc commun: Mathématiques, Physique et Sciences de l'Ingénieur(MPSI)
Option: Mathématique et Physique(MP)

2016 - 2018

Compétences

  • C/C++: CUDA, OpenGL, OpenMP, SDL, MQTT, ...
  • Programmation Orientée Objet
  • Scripting: Python, Bash
  • HTML,CSS,Javascript/bootstrap
  • Visualisation: Latex, MATLAB, Matplotlib
  • Linux embarqué
  • Yocto
  • RTOS:µC/OS, XENOMAI
  • STM8, STM32
  • Communications: UART, I2C, SPI...
  • Drivers, multi-threading, cybersécurité, mise à jour à distance
  • CAO : Proteus
  • La théorie d'électron/électromagnétisme, micro-électonique, la conversion d'énergie
  • Automatique/systèmes linéaires, traitement du signal
  • Arabe/Langues maternelle
  • Français/bilingue
  • Anglais/TOIC: 845 en Mars 2021
  • Allemand/Bases préliminaires

Expérience

Sauermann Group

Bordeaux, France
Développement d'une sonde intelligente

Spécialité: Systèmes embarqués

Février 2020 - Août 2020
  • target: STM32, STM8
  • IDE: VS Code, IAR
  • Débogage: IAR, Vs Code, ST Link, FTDI (pour l'UART et la communications)
  • Environnement de développement: Azure, Git, DevOps
  • tests: FTDI, python, tests unitaires, tests d'intégration
  • Management: Agile
  • Les plus: Doxygen pour la documentation, programmation modulaire
  • La conception d'un cahier de charge et l'architecture logicielle
  • Le développement de la couche HAL (UART, Timers, EEPROM)
  • La conception et le développement d'un protocole de communication à base de HDLC et UART
  • La validation du protocole de communication à l'aide de python et d'un FTDI
  • L'étude et l'utilisation des modes low-power du microcontrôleur
  • L'étude de la mise à jour du microcontrôleur à travers l'UART
  • L'établissement d'une solution de documentation (Doxygen)
  • Le rapport du PFE

Technology & strategy

France
Ingénieur linux embarqué

Les projets accomplis :

Novembre 2021- Aujourd'hui
    Contexte

    Mission : Validation système d’un photomaton, dans le cadre du projet de modularisation du software embarqué:

    Réalisations
  • Valider le bon fonctionnement du software dans les conditions réelles d’exploitation
  • Valider le software en accord avec les spécifications systèmes
  • Réalisation d’une stratégie du test qui sera généralisée chez le client
  • Ecriture d’une banque de test cases
  • Déclaration d’une centaine de bugs
  • Modularisation des tests fonctionnels
  • Environnement technique
  • Ecriture des tests case sur Jira
  • La documentation des activités de la validation sur Confluence
  • Suivi de la couverture des spécifications avec Xray sur :
  • Software
  • OS
  • Hardware
  • Déclaration des bugs sur Jira
    Contexte

    Développement du projet ELF (Embedded Linux Factory) pour simplifier l’utilisation de Yocto et le développement d’un layer meta-tns pour ajouter quelques fonctionnalités

    Réalisations
  • Participation au développement d’une surcouche Yocto appelée ELF tool en Python
  • Développement d’un script en Bash pour le build de package Debian de ELF tool
  • Développement de la CI (Continuous Integration) sur Gitlab :
  • Test
  • Build
  • Release
  • Intégration du SWUpdate au meta-tns avec la configuration nécessaire de u-boot pour faire la mise à jour à distance
  • Développement d’un driver en C pour contrôler un GPIO et l’intégrer sur Yocto
  • Publication d’un article sur SWUpdate (lien)
  • Environnement technique
  • Développement: C, Python, Git, Gitlab, Docker, CI, Jira
  • Développement des scripts de packaging avec Bash
  • Debian Policy pour le packaging
    Contexte

    Support d’expertise pour le design et l’implémentation d’une solution serveur web embarqué pour la configuration et la maintenance d’une station RADT (Recueil Automatique de Données Traffic)

    Réalisations
  • Analyse, définition et proposition d’une nouvelle architecture logiciel répondant au besoin du client en proposant de nouveaux choix techniques Yocto:
  • Ajout des recettes pour Fast API, Uvicorn et d’autres dépendances
  • Participation à l’amélioration du layer du client
  • Choix des technologies Web adaptées
  • Définition de l’API d’interface entre le backend et l’applicatif UMT (Unité Mesures et Traitements)
  • Développement des différents sous-ensembles logiciels : backend, frontend et API d’interface Backend en Python:
  • Développement de l’interface (REST) entre le backend et l’applicatif
  • Développement de quelques callbacks système
  • Suivi du projet et communication avec le client
  • Environnement technique
  • Développement du backend : Python, Git, Gitlab, Fast API
  • Hardware : Atmel, ARMv5
  • Linux embarqué : Yocto, Network, SVN
    Contexte

    Durcissement de la sécurité sur un appareil embarqué destiné au nouveau TGV

    Réalisations
  • Implémentation du secure boot sur iMx8, et industrialisation de la procédure de la signature des binaires
  • Publication d’un article sur le secure boot (link)
  • Patches des failles de sécurité (CVEs) des packages utilisés :
  • Fermeture d’une centaine de failles de sécurité
  • Détection d’un bug hardware au niveau de USB C et correction
  • Reconfiguration d’u-boot et du kernel
  • Suppression des drivers et des packages inutiles
  • Environnement technique
  • Outil: Tina, code beamer, Nexus, gitlab, Git
  • Hardware : Home made card, Iwave SOM, iMx8MQ
  • Linux embarqué : Yocto, U-boot, Linux, C/C++, meta-security, Python
    Contexte

    Créer un système d'exploitation pour une carte destinée à l'IA sur l'agriculture

    Réalisations
  • Construire un POC avec Debian
  • Construire une distribution linux avec Yocto
  • Ajout de swupdate
  • Ajout des modules pour la puce wifi
  • Ajout des libraries I2C pour les composants de la carte: Température, GPS, Gyroscope, I/O expander ...
  • Streamer quelques patches pour Yocto et swupdate
  • Intégrer l'application Business, les bibliothèques de caméras et autres dépendances
  • Ajout de quelques fonctionnalités sur les lunettes de chasse Zwarovski (i.MX6 + Atmel Microcontroller)
  • Environnement technique
  • Outil: gitlab, Git
  • Hardware : Home made card, Genicam SOM, x86_32
  • Linux embarqué : Yocto, Grub, Linux, Debian, C/C++, meta-swupdate, Python
    Contexte

    Implémentation de deux layers Yocto pour la production, la mise à jour OTA et le secure boot

    Les deux layers Yocto seront utilisés par plusieurs projets

    Réalisations
  • Implémentation d'un layer ignorant du matériel pour les procédures de production (installation avec initRamFS + TFTP)
  • Implémentation d'un layer ignorant pour la mise à jour OTA Linux
  • Implémentation d'un layer pour le secure boot sur i.MX8 et sama5
  • Stream de quelques pathes pour U-boot, meta-security, Yocto et swupdate
  • Renforcement de la sécurité des mises à jour utilisant swupdate
  • Environnement technique
  • Outil: gitlab, Git, SVN
  • Hardware : Home made cards, Boundary SOM, i.MX8 MP, Microchip SOM, Sama5D2
  • Linux embarqué : Yocto, U-boot, Linux, C/C++, Bash, Python, TFTP, swupdate, Ethernet, secure boot

Centres d'intérêt

  • Nouvelles technologies, veille scientifique
  • Sport : Foot-ball, Fitness et pêche
  • Géopolitique, Psychologie et intelligence émotionnelle
  • Guitare

Contact

Si vous voulez me contacter vous pouvez le faire en utilisant LinkedIn
Ou vous pouvez utiliser mon adresse mail électronique personnelle: belouargamohamed@gmail.com
Votre projet m'intéresse !