Mise en œuvre et déploiement d’un système d’intégration continue pour du développement embarqué (Set Top Box) - 1 an :
Caractéristiques des STBs :
Architecture Hardware basée sur SoC Intel et Broadcom
Architecture Soft basée sur un noyau Linux
Au sein de l’équipe STB software platforms (en charge de l'architecture et de l'intégration des basses couches logicielles des Set Top Box) composée de 45 personnes :
Développement d’un plug-in Jenkins - pour une surcouche de ClearCase (SCM), développement Java s'intégrant dans le projet open source Jenkins. Environ 2 000 lignes de code, note B donnée par SQuORE. Utilisation de Netbeans, maven. Écriture de tests unitaires. Interface Web (Html, Jelly)
Contribution au plug-in Jenkins « Warnings Plug-in » en développant un parser Java pour GNU/Make
Gestion de projet : o Identification des besoins o Planning o Relation avec les différents intervenants : équipe support SCM, intégrateurs projets, service informatique, management. o Reporting hebdomadaire au management o informations à l'équipe
Maîtrise des environnements de développement des STBs pour automatiser leur intégration, tests et analyse de code.
Apprentissage de l'intégration continue et de Jenkins
Installation d'un serveur Jenkins et configuration, mise en production du plug-in précédemment développé dans un environnement complexe (plusieurs serveurs ; master/slaves).
Automatisation du lancement d'analyse de code avec SQuORE
Mise en place d'un service de nightly build
Écriture des scripts d'automatisation en Python : o Connexion ssh sur une STB de développement (Intel) o Actualisation de fichiers dans la SCM o Chargement du dernier livrable généré sur une STB de tests o Récupération d'informations sur la STB de tests
Rédaction de la documentation (anglais)
Formation des utilisateurs
JAVA, PYTHON, Jenkins, intégration continue, Set Top Box, Buildroot, SQuORE, plug-in Jenkins, Netbeans, ClearCase, gestion de projet, Maven
Mise en place d’une solution de production de logiciel embarqué alternative – 2 ans
Caractéristiques de la STB (projet pilote) :
Architecture Hardware basée sur un chipset ST
Architecture Soft basée sur ST40 / OS21
Au sein de l’équipe Software and tools support composée de 6 personnes :
Développement d'un outil connexe à Scons permettant de générer un rapport pdf sur chaque compilation. Dans ce rapport (extensible à souhait des développeurs/intégrateurs, et du management) était présent une analyse sur les options de compilation utilisées ainsi que le résultat d'analyse de code de l'outil Splint. Cet outil fut écrit en Python avec la libraire ReportLab pour générer les pdf
Analyse de l’existant : GNU Make, tmake, options de compilation (cross-compilation)
Mise en évidence d'un certain nombre de défauts dont le principal est la non prise en charge des dépendances implicites (les nombreux « #include » dans les fichiers sources C/C++)
Identification d’autres solutions libres, via Internet ; une vingtaine
Sélection pour des tests approfondis pour les outils : Waf, Makepp, Cmake, Scons, Jam et Cook
Sélection de l'outil : Scons, outil écrit en Python dont les fichiers de configuration bénéficient de la puissance du langage Python. Lors de son exécution, il lit tous les fichiers sources et établit un DAG des dépendances entre tous les fichiers sources
Apprentissage du Python
Implémentation fonctionnelle sur un projet pilote : Set Top Box à base de chipset ST et d'OS21. Pour capitaliser ce travail j'ai écrit des scripts Python permettant de passer de l'existant vers la solution Scons tout en effectuant un travail d'optimisation sur les options de compilations
Présentation de la solution à l'équipe ainsi qu'au management décisionnel de Technicolor
Cette solution de production logicielle embarqué alternative basé autour de Scons permettait de générer toute la partie logiciel à destination des STBs de Technicolor. Cette solution était plus fiable, plus rapide (5 fois) et permettait une meilleure traçabilité.
Scons, Pyhton, ReportLab, Cross-compilation, Set Top Box, Optimisation des options de compilation, Splint
Réalisation d'un terminal de commande à travers un navigateur Web – 2 mois
Au sein de l'équipe Process and Tools support (notamment en charge du système de gestion de configuration) et avec un stagiaire, nous avons réalisé un terminal de commande dans une page internet. Ce projet avait pour but de faciliter l'accès au système de gestion de configuration pour effectuer des tâches courantes sans la nécessité de mettre en place un environnement complexe.
Développement Java, HTML, CSS, JavaScript
Découverte du framework Play!
Développement de différentes fonctionnalités de l'interface
framework Play!, programmation Java, HTML, CSS, JavaScript, travail en équipe, Git, Netbeans
Description de l'entreprise
Technicolor SA, anciennement Thomson, est une entreprise française spécialisée dans la conception et la fabrication de systèmes de vidéo et d'image numérique destinés aux professionnels des médias, tels que les producteurs de films et les chaînes de télévision, mais aussi les opérateurs de réseaux et autres distributeurs de contenu.