fix: add denoising and douscord projects

This commit is contained in:
Adrien Marquès 2022-10-22 17:24:26 +02:00
parent d7f0ef05ee
commit 74524cb2ea
Signed by: xdrm-brackets
GPG Key ID: D75243CA236D825E
1 changed files with 38 additions and 3 deletions

View File

@ -43,7 +43,7 @@ export const Projects: Project[] = [
stopped_at: new Date(2021, 3, 11),
info: {
[Locales.EN]: 'Multi-platform (Surface, iOS) flight assistance application for pilots. In the research and development branch of an international aeronautical company (US). It performs data retrieval and visualization of standardized aeronautical data such as flight information, airport information, meteorological information, etc. The application is embedded in an existing software that interfaces with aircraft computers.<br><br>Project existing for about 10 years, I first rewrote and refactored critical parts in order to soften the blocking points. In a second time, I added new functionalities that were impossible or too expensive until then. I was also able to sensitize the team and the client to transition from SVN to Git. Some of my work:<ul><li>redesign of the network data fetching core</li><li>redesign of the asynchronous weather image download manager</li><li>redesign of the color management</li><li>support for the Arinc 424 standard</li><li>redesign of the popup system and click management</li><li>integration of new data sources</li></ul><br>The project ended with a stable version that is still in use today.',
[Locales.FR]: 'Application multi-plateforme (Surface, iOS) d\'assistance de vol pour pilotes de ligne. Dans la branche recherche et développement d\'une entreprise aéronautique internationale (US). Elle effecture la récupération et la représentation graphique de données standardisées aéronautiques d\'informations de vol, d\'aéroports, météorologiques, etc. L\'application est intégrée dans un logiciel existant qui s\'interface avec les calculateur avioniques.<br><br>Projet ayant environ 10 ans d\'existence, j\'ai tout d\'abord ré-écris et refactorisé des parties critiques afin d\'assouplir les points bloquants. Dans un second temps il a été question d\'ajouter de nouvelles fonctionnalités jusque là impossibles ou trop coûteuses. J\'ai aussi pu sensibiliser l\'équipe et le client à une transition de SVN vers Git. Quelques uns de mes travaux:<ul><li>refonte du moteur de récupération de données réseau</li><li>refonte du gestionnaire de téléchargement asynchrone d\'images météorologiques</li><li>refonte de la gestion des couleurs</li><li>support du standard Arinc 424</li><li>refonte du système de popups et gestion des clicks</li><li>ajout de nouvelles sources de données</li></ul><br>Le projet s\'est terminé sur une version stable qui est encore aujourd\'hui utilisée.',
[Locales.FR]: 'Application multi-plateforme (Surface, iOS) d\'assistance de vol pour pilotes de ligne. Dans la branche recherche et développement d\'une entreprise aéronautique internationale (US). Elle effectue la récupération et la représentation graphique de données standardisées aéronautiques d\'informations de vol, d\'aéroports, météorologiques, etc. L\'application est intégrée dans un logiciel existant qui s\'interface avec les calculateur avioniques.<br><br>Projet ayant environ 10 ans d\'existence, j\'ai tout d\'abord ré-écris et refactorisé des parties critiques afin d\'assouplir les points bloquants. Dans un second temps il a été question d\'ajouter de nouvelles fonctionnalités jusque là impossibles ou trop coûteuses. J\'ai aussi pu sensibiliser l\'équipe et le client à une transition de SVN vers Git. Quelques uns de mes travaux:<ul><li>refonte du moteur de récupération de données réseau</li><li>refonte du gestionnaire de téléchargement asynchrone d\'images météorologiques</li><li>refonte de la gestion des couleurs</li><li>support du standard Arinc 424</li><li>refonte du système de popups et gestion des clicks</li><li>ajout de nouvelles sources de données</li></ul><br>Le projet s\'est terminé sur une version stable qui est encore aujourd\'hui utilisée.',
},
source: null, doc: null,
commits: 840,
@ -69,7 +69,7 @@ export const Projects: Project[] = [
stopped_at: new Date(2022, 10, 1),
info: {
[Locales.EN]: 'Medical project for a French company with international reach. The project consists in a modern web platform for the management of nutrient pumps via Internet. I developed the backend of the system as well as the production environment.<br><br>The backend is written in Go and uses docker. It exposes a REST API for the frontend and a websocket API to communicate with the pumps. A PostgreSQL database allows managing the different resources. We have implemented several systems to ensure medical grade security at each level, such as the use of certificate chains, argon2, mTLS, jwt. The backend is fully tested by both unit and integration tests (dockerized) in order to reach a maximum code coverage (+80%). I have developed integration and continuous deployment mechanisms to provide an up-to-date version to the client throughout the development.<br><br>The REST API is based on the use of the open-source library <a href="#project-aicra">aicra</a> that I have been developing for several years.<br><br>My work consists of:<ul><li><b>backend</b> : the backend with its 2 APIs. <i>(1493 commits)</i></li><li><b>cert</b> : command line tool to manage certificate chains, used as a library by the backend. <i>(47 commits)</i></li><li><b>package</b> : simplified execution environment for team members. <i>(13 commits)</i></li><li><b>setup</b> : production environment. <i>(14 commits)</i></li></ul>',
[Locales.FR]: 'Projet médical pour une entreprise française à portée internationale. Le projet consiste en un système web moderne permettant la gestion de parcs de pompes à nutriments via Internet. J\'ai réalisé le backend du système ainsi que l\'élaboration de l\'environnement de production.<br><br>Le backend est développé en Go et utilise docker. Il expose une API REST pour le frontend et une API websocket pour communiquer avec les pompes. Une base de données postgreSQL permet la gestion des différentes ressouces. Plusieurs systèmes ont été mis en place afin d\'assurer une sécurité de grade médical aux différents niveaux, notamment avec l\'utilisation de chaînes de certificats, argon2, mTLS, jwt. Le backend est entièrement testé par des tests unitaires et d\'intégration (dockerisés) afin d\'atteindre une couverture maximale du code (+80%). J\'ai développé des mécanismes d\'intégration et de déploiement continu afin de fournir un version à jour au client tout au long du développement.<br><br>L\'API REST repose sur l\'utilisation de la librairie open-source <a href="#project-aicra">aicra</a> que je développe depuis plusieurs années.<br><br>Mon travail consiste en:<ul><li><b>backend</b> : le backend avec ses 2 APIs. <i>(1493 commits)</i></li><li><b>cert</b> : outil en ligne de commande permettant la gestion des chaînes de certificats, utilisé comme librairie par le backend. <i>(47 commits)</i></li><li><b>package</b> : environnement simplifié d\'exécution pour les membres de l\'équipe. <i>(13 commits)</i></li><li><b>setup</b> : environnement de production. <i>(14 commits)</i></li>',
[Locales.FR]: 'Projet médical pour une entreprise française à portée internationale. Le projet consiste en un système web moderne permettant la gestion de parcs de pompes à nutriments via Internet. J\'ai réalisé le backend du système ainsi que l\'élaboration de l\'environnement de production.<br><br>Le backend est développé en Go et utilise docker. Il expose une API REST pour le frontend et une API websocket pour communiquer avec les pompes. Une base de données postgreSQL permet la gestion des différentes ressources. Plusieurs systèmes ont été mis en place afin d\'assurer une sécurité de grade médical aux différents niveaux, notamment avec l\'utilisation de chaînes de certificats, argon2, mTLS, jwt. Le backend est entièrement testé par des tests unitaires et d\'intégration (dockerisés) afin d\'atteindre une couverture maximale du code (+80%). J\'ai développé des mécanismes d\'intégration et de déploiement continu afin de fournir un version à jour au client tout au long du développement.<br><br>L\'API REST repose sur l\'utilisation de la librairie open-source <a href="#project-aicra">aicra</a> que je développe depuis plusieurs années.<br><br>Mon travail consiste en:<ul><li><b>backend</b> : le backend avec ses 2 APIs. <i>(1493 commits)</i></li><li><b>cert</b> : outil en ligne de commande permettant la gestion des chaînes de certificats, utilisé comme librairie par le backend. <i>(47 commits)</i></li><li><b>package</b> : environnement simplifié d\'exécution pour les membres de l\'équipe. <i>(13 commits)</i></li><li><b>setup</b> : environnement de production. <i>(14 commits)</i></li>',
},
source: null, doc: null,
commits: 1493 + 47 + 13 + 14,
@ -83,7 +83,7 @@ export const Projects: Project[] = [
stopped_at: null, // still active
info: {
[Locales.EN]: 'Started as a personal go library to ease REST API development. The main goal is to greatly enhance maintainability by providing a single configuration file that describes every endpoint of the API. Everything that can be automated is while staying idiomatic to go. Aicra automates routing, parameter validation and extraction, permission management, response output formatting.<br><br>I then used it for a professional project in the medical field after corporate evaluation and audit. At the end of the project, results in production are promising : development and testing speed and ease, overall performances, configuration readability for other team members provides a real benefit, they can know the whole api at any time.',
[Locales.FR]: 'Démarré en tant que projet personnel afin de simplifier mes développements d\'API REST. L\'objectif principal et d\'améliorer significativement la maintenabilité avec l\'utilisation d\'un fichier de configuration unique qui décrit/définit tous les endpoints de l\'API. Tout ce qui peut être automatisé l\'est, tout en restant idiomatique à Go. Aicra automatise le routage, la validation et l\'extraction des paramètres, les classes de permissions, le formattage des réponses, etc.<br><br>Ce projet a été utilisé pour un projet industriel dans le domaine médical après audit et évaluation de l\'entreprise. Au terme du projet, les résultats sont plutôt encourageants :<ul><li>rapidité de développement</li><li>rapidité d\'écriture des tests</li><li>performances</li><li>lisibilité du fichier de configuration pour les membres de l\'équipe (permet de connaître toute l\'API à tout moment du développement)</li></ul>',
[Locales.FR]: 'Démarré en tant que projet personnel afin de simplifier mes développements d\'API REST. L\'objectif principal est d\'améliorer significativement la maintenabilité avec l\'utilisation d\'un fichier de configuration unique qui décrit/définit tous les endpoints de l\'API. Tout ce qui peut être automatisé l\'est, tout en restant idiomatique à Go. Aicra automatise le routage, la validation et l\'extraction des paramètres, les classes de permissions, le formattage des réponses, etc.<br><br>Ce projet a été utilisé pour un projet industriel dans le domaine médical après audit et évaluation de l\'entreprise. Au terme du projet, les résultats sont plutôt encourageants :<ul><li>rapidité de développement</li><li>rapidité d\'écriture des tests</li><li>performances</li><li>lisibilité du fichier de configuration pour les membres de l\'équipe (permet de connaître toute l\'API à tout moment du développement)</li></ul>',
},
source: [{ name: 'github.com/xdrm-io/aicra', link: 'https://github.com/xdrm-io/aicra', commits: 535 }],
doc: { name: 'pkg.go.dev/github.com/xdrm-io/aicra', link: 'https://pkg.go.dev/github.com/xdrm-io/aicra' },
@ -172,4 +172,39 @@ export const Projects: Project[] = [
doc: null,
commits: 0,
},
{
name: 'Denoising.py',
client: null,
skills: [s.RnD, s.Python, s.ImageProcessing, s.OpenSource, s.Git],
started_at: new Date(2015, 8, 6),
stopped_at: new Date(2015, 10, 13),
info: {
[Locales.EN]: 'Research project for my DUT degree (BTEC Higher National Dimploma equivalent). I had to propose denoising functions in order to restore image quality after several noise levels.<br><br>Manual encoding and decoding of BMP files (raw image format). It features noising and denoising functions for : salt and pepper, Berouilli\'s additive noise, gaussian additive noise, etc. It also uses convolution product in the later phase. Surprising results for salt and pepper and Berouilli noises.<br><br><a href="https://git.xdrm.io/dut/denoising.py/raw/branch/master/dossier/dossier.pdf">PDF report (fr)</a>',
[Locales.FR]: 'Projet de recherche dans le cadre du DUT informatique. Il fallait proposer des fonctions de débuitage d\'images afin de restaurer la qualité après différents niveaux de bruit.<br><br>Encodage et décodage manuel des fichiers BMP (fichier d\'image brut). Implémentation de fonctions de bruitage et débruitage pour les bruits : poivre et sel, bruit additif de Bernouilli, bruit additif gaussien, etc. Utilisation de produit de convolution dans les dernières phases. Résultats étonnament bons pour le poivre et sel et le bruit additif de Bernouilli.<br><br><a href="https://git.xdrm.io/dut/denoising.py/raw/branch/master/dossier/dossier.pdf">Dossier pdf</a>',
},
source: [
{ name: 'git.xdrm.io/dut/denoising.py', link: 'https://git.xdrm.io/dut/denoising.py', commits: 97 },
],
doc: null,
commits: 0,
},
{
name: 'Douscord',
client: null,
skills: [s.RnD, s.Vue, s.AudioAPI, s.Parcel, s.Docker, s.Web, s.Rest, s.Ajax, s.Cordova, s.Html, s.Css, s.Js, s.Git],
started_at: new Date(2018, 2, 21),
stopped_at: new Date(2018, 3, 24),
info: {
[Locales.EN]: 'Advanced web development project for my Master\'s degree. We created in duo a Discord clone (chat and audio/video streaming platform). We decided not to look at the original source code as a challenge.<br><br>I did the frontend part with Vue as a single-page application (SPA). We have deployed the web as well as a desktop version using Electron. We managed to achieve in the time alotted:<ul><li>a visual clone of the Discord user interface</li><li>multi-channel management for chat and audio</li><li>real-time chat capability</li><li>audio full-duplex streaming communication</li></ul>',
[Locales.FR]: 'Projet de développement web avancé dans le cadre de mon Master. Nous avons en binôme, créé un clone de Discord (plateforme de chat et streaming audio/vidéo). Nous nous sommes fixés de ne pas regarder le code source de l\'application officielle.<br><br>J\'ai développé la partie frontend avec Vue sous forme de single-page application (SPA). Nous avons pu déployer la version web ainsi qu\'une version bureau en utilisant Electron. Nous avons réussi à réaliser dans le temps imparti:<ul><li>une copie visuelle de l\'interface de Discord</li><li>la gestion de plusieurs "channels" de chat et audio</li><li>le chat temps réel</li><li>La communication audio full-duplex en streaming</li></ul>',
},
source: [
{ name: 'git.xdrm.io/mti/discord-client', link: 'https://git.xdrm.io/mti/discord-client', commits: 176 },
{ name: 'git.xdrm.io/mti/discord-server', link: 'https://git.xdrm.io/mti/discord-server', commits: 91 },
],
doc: null,
commits: 0,
},
];