ATEO Finance

Depuis sa création en 2000, Ateo apporte sur le marché les meilleures solutions middle-office dans le monde des échanges d’actifs (brokers). J’interviens dans le cadre d’un projet prototype (plus qu’avancé à l’heure actuelle) « Proove of Concept » pour valider les points essentiels du métier d’ATEO dans une version de leurs applicatifs remis au goût du jour, avec des technologies actuelles, Blazor pour ne citer qu’elle. L’applicatif legacy est codé en VB.net sur .net Framework 4.5 et WPF. ATEO a souhaité miser sur l’avenir en pariant sur Blazor Server pour migrer d’un client lourd vers une interface web. Réalisations : Environnement Technique :

OutQuest

Un projet formateur OutQuest est le nom de mon entreprise qui propose des jeux outdoor pour découvrir nos territoires sous forme d’escape game, de jeu de piste, de chasse au trésor etc. C’est l’aboutissement de plusieurs années de réflexion et de travail (Trysor en fait parti). Je suis donc au four et au moulin sur ce projet. Marketing et Communication : faire en sorte de faire connaitre mon produit. Une tâche des plus ardues. Canva, CapCut, Affinity Designer, Administration, Networking, Réseau sociaux : parler de mon projet, s’entourer, trouver des partenaires et des clients (TikTok Buisiness, Meta Buisness, Google Ads, Linkedin) Technique : Blazor ! Je suis de prêt cette techno depuis ses débuts. Etant un dev .net depuis 20 ans (en gros depuis que .net existe), Blazor est pour moi l’aboutissement des technos .net web. D’ailleurs on ne sait plus trop si on fait du web, de l’applicatif, du client server car aujourd’hui tout ça est mélangé au sein de l’écosystème .net Blazor. (MAUI) J’adore cette techno. Côté frontend je l’utilise en version WASM (web assembly) avec de la géolocalisation ainsi que la caméra du téléphone d’un utilisateur. Côté backend Blazor Server. Blazor me permet d’être ultra productif (encore plus qu’avec Angular/Vue/React) et d’une manière structurée (architecture hexa, DDD), cohérente (Visual Studio) et industrielle (devops avec Azure Devops, CI/CD full auto, staging et prod sous debian). J’ai crée mes propres composants Blazor dont certain open source (ReactorBlazorQRCodeScanner) téléchargé plus de 20 000 fois. L’application web avait besoin d’une carte pour la navigation, j’ai utilisé MapBox JS que j’ai embarqué dans un composant maison pour n’avoir qu’à utiliser du C#. Je travaille aussi sur d’autre composants plus petit (audio, webshare…) Bref je m’éclate avec cette techno 🙂 Page officielle : https://outquest.fr

Clapn

Imaginez Facebook, Utip et Patreon dans une même application. Clapn : En collaboration avec le CTO Maxime Frappat et le CEO Stéphane Legrand nous avons travaillé à la création d’un réseau social d’un nouveau genre. Cette solution est composée de : d’une application mobile Xamarin Forms publié sur Android et iOS en bêta. d’un backend Asp.net Core microservice sur Azure (Azure Kubernetes, Docker) d’un front web Blazor d’un site corporate (wordpress) avec edition vidéo de présentation (http://clapn.eu) Le tout géré avec Azure DevOps (Git, CI/CD, versionning, branches) et AppCenter (monitoring et crash report) J’ai collaboré à toute ces couches techniques, plus particulièrement sur l’application mobile et les sites web. (7 mois)

TICK&LIVE

Prestation chez le client Je suis intervenu à Rennes pendant presque un an pour renforcer les équipes de la société Tick&Live (France Billet – Fnac Darty). Tick&Live est spécialisé dans la gestion d’évènement et tout particulièrement dans la billeterie en ligne. J’ai travaillé dans la branche DataSport qui gère les évènements sportifs aux travers des réseaux de distribution comme Ticketmaster, Francebillet, Digitick… J’ai eu l’occasion de pouvoir travailler sur 4 projets majeurs : – App qui est l’application historique (C# Asp.net WebForm) – Chromeback qui est la refonte d’App (C# Asp.net MVC5) – CashRegister qui est logiciel de caisse (C# Asp.net MVC5) – Api Auth qui un Web Service pour gérer les authentifications de ces 3 dernières (C# Asp.net Core 2.2) C’est la première fois que j’utilise l’intégralité de mes connaissances web avec Microsoft Asp.net depuis Webform (2003 pour moi) jusqu’à Asp.net Core 2.2 en passant par Asp.net MVC5 sur un seul applicatif. Plus précisément, App est une application web qui a plusieurs années, probablement du siècle dernier. Ce qui rend la maintenance extrèmement périlleuse. Le code n’est plus forcément à jour et une armée de développeur a au fil du temps rajouté des couches de complexité. C’est pourquoi Chromeback, la solution de remplacement est en cours de développement (une partie étant déjà en prod). Ce dernier est un mix de nouvelle technologie (React, MVC5, architecture découplé) mais qui repose encore sur du code legacy dans les couches basses (DAL ré-adapté, Oracle viellissant, beaucoup de procédure stockées, couche métier encore dans le SQL). La difficulté est historique, beaucoup trop complexe pour que je l’explique ici. J’ai donc commencé par faire un peu de TMA (Tierce Maintenance Applicative) principalement sur App. J’ai aussi développé un outil pour extraire les tribunes d’un stade (avec info place vendu, libre, réservée…) sous format tableur Excel. Puis j’ai implémenté un système de SSO (Single Sign On) pour permetttre de basculer entre App et Chromeback en toute sécurité. Ensuite on m’a confié le développement de la mise en norme GDPR, un gros chantier. Pour cela, j’ai proposé de créer une API Web pour gérer les authentifications des utilisateurs afin de centraliser et découpler cette fonctionalité qui existe sur chacun des applicatifs, mais indépendament, ce qui posait déjà problème. Deux gros challenges : – respecter les recommandations des normes européennes GDPR (mot de passe hashé, système de bloquage, complexité du mot de passe, gestion des connexions, droit à l’oubli etc…) – intégrer l’outil sans douleur. Ce dernier point a nécessité une étude approfondi des mécanismes déjà en place, de l’implémentation d’une API Web Asp.net Core 2.2 et d’outil de migration permettant une transition complétement transparente pour le metier et pour les clients. Au final, pour un utilisateur, la mise aux normes est totalement transparente. L’API Web dispose de son propre backoffice lui permettant de gérer les utilisateurs et d’opérer via des outils en ligne à la migration des comptes existant. Elle dispose d’un Swagger permettant aux développeurs de pouvoir développer leurs propres fonctionnalités (comme par exemple la création d’un utilisateur depuis une application comme App.) Quelques élements techniques de l’API : – Backoffice MVC (bootstrap) – IOC injection de dépendance au startup (découplage en service DAL, service metier, service x…) – Log développeur et Journalisation (GDPR) – JWToken, Controler sécurisé – Projet Test couvrant des cas basiques (CRUD) et verification des niveaux de sécurité – Deploiement facilité, même si il n’y a pas de CI/CD encore en place, j’ai préparé le terrain – Documentation complète (et pas un listing de code généré automatiquement, une doc pédagogique couvrant l’ensemble des applicatifs, de l’achitecture globale, des bases de données (sur Confluence)…) Ces 10 mois ont été fort enrichissant, j’ai pu revoir du code dont j’avais complétement oublié l’existance jusqu’à coder sur une techno récente. Je m’aperçois aujourd’hui à quel point le framework Asp.net à pu évolué en presque 20 ans !

Roazhon Quest

[vc_row margin_top= »-30″ margin_bottom= »15″][vc_column offset= »vc_col-lg-8 vc_col-md-8 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Une enquête à Rennes [/vc_column_text][vc_empty_space height= »16px »][vc_column_text css_animation= »bounceIn »]Vous vous sentez l’âme d’un détective ou d’un chasseur de trésor ? La Roazhon Quest est faite pour vous ! Ce jeu vous permettra d’explorer la ville de Rennes depuis votre fauteuil ou dans ses rues. Votre seule interface : ce site web : https://roazhon-quest.trysor.fr/ Un beau projet proposé par Yves Suranna, spécialiste des jeux de pistes et autres aventures énigmatiques. Le site web est basé sur Angular 7 et Asp .Net Core 2.1. [/vc_column_text][vc_empty_space height= »30px »][vc_column_text]Tâches effectuées :[/vc_column_text][vc_empty_space height= »16px »][vc_column_text][dt_list style= »1″ bullet_position= »top » dividers= »false »][dt_list_item image= » »]Conception/Design.[/dt_list_item][dt_list_item image= » »]Integration/Animation.[/dt_list_item][dt_list_item image= » »]Développement Asp.Net Core 2.1 et C#.[/dt_list_item][dt_list_item image= » »]Lead dev/ops.[/dt_list_item][dt_list_item image= » »]SPA Angular 7.[/dt_list_item][dt_list_item image= » »]TypeScript 3.0[/dt_list_item][dt_list_item image= » »]PrimeNg[/dt_list_item][/dt_list][/vc_column_text][vc_empty_space height= »30px »][/vc_column][vc_column offset= »vc_col-lg-4 vc_col-md-4 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Techniques [/vc_column_text][vc_empty_space height= »16px »][vc_progress_bar values= »%5B%7B%22label%22%3A%22Angular%207%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20C%23%20Asp.net%20Core%202.1%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22Design%20et%20conception%22%2C%22value%22%3A%2270%22%7D%2C%7B%22label%22%3A%22Firebase%20-%20Firestore%22%2C%22value%22%3A%2270%22%7D%2C%7B%22label%22%3A%22Stripe%20Payment%22%2C%22value%22%3A%2280%22%7D%5D » options= »striped,animated » caption_pos= »top »][vc_empty_space height= »40px »][vc_column_text]Témoignages[/vc_column_text][vc_empty_space height= »24px »][dt_testimonials category= »trysor »][/vc_column][/vc_row]

Hinster – Asp.net Core

[vc_row margin_top= »-30″ margin_bottom= »15″][vc_column offset= »vc_col-lg-8 vc_col-md-8 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Hinster – Asp.net Core + Angular JS [/vc_column_text][vc_empty_space height= »16px »][vc_column_text]Hinster est une application web (bientôt mobile), développé avec Asp.net Core 2.0/2.1 et Angular JS. C’est une version MVP (Most Valuable Product) qui permettra à son propriétaire de lever des fonds. Hébergement sur Azure VM Linux. [/vc_column_text][vc_empty_space height= »30px »][vc_column_text]Tâches effectuées :[/vc_column_text][vc_empty_space height= »16px »][vc_column_text][dt_list style= »1″ bullet_position= »top » dividers= »false »][dt_list_item image= » »]Conception/Design/Refactoring.[/dt_list_item][dt_list_item image= » »]Integration/Responsive design.[/dt_list_item][dt_list_item image= » »]Développement Asp.Net Core C#.[/dt_list_item][dt_list_item image= » »]Lead dev/ops.[/dt_list_item][dt_list_item image= » »]Front Angular JS.[/dt_list_item][dt_list_item image= » »]Test d’intégration.[/dt_list_item][/dt_list][/vc_column_text][vc_empty_space height= »30px »][/vc_column][vc_column offset= »vc_col-lg-4 vc_col-md-4 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Techniques [/vc_column_text][vc_empty_space height= »16px »][vc_progress_bar values= »%5B%7B%22label%22%3A%22D%C3%A9veloppement%20C%23%20Asp.Core%202.0%20%2F2.1%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20Javascript%20%2F%20Angular%20JS%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22Mise%20en%20staging%20sur%20IIS%20(server%20priv%C3%A9)%20et%20Nginx%20(Azure)%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20webApi%20avec%20Swagger%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22DevOps%20(mise%20en%20staging%2C%20installation%2C%20administration%2C%20securisation%2C%20automatisation…)%22%2C%22value%22%3A%2270%22%7D%2C%7B%22label%22%3A%22EntityFramework%20%2B%20MySql%22%2C%22value%22%3A%2280%22%7D%5D » options= »striped,animated » caption_pos= »top »][vc_empty_space height= »40px »][/vc_column][/vc_row]

Portail de la formation française de randonnée

[vc_row margin_top= »-30″ margin_bottom= »15″][vc_column offset= »vc_col-lg-8 vc_col-md-8 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Portail de la formation française de randonnée [/vc_column_text][vc_empty_space height= »16px »][vc_column_text]La Fédération Fançaise de la Randonnée propose à ses adhérents un ensemble de formation dont l’inscription se fait en ligne. La gestion de ces stages se fait aussi en ligne via un extranet sécurisé. Un des défis était de gérer un lot de niveaux d’administration permettant ou non d’accéder à certaines pages et d’effectuer certaines actions. Le site a été développé avec Asp.net MVC5 – boostrap coté front et backoffice. En backend se trouve un ensemble de web services existant et une Web API spécialement créée pour répondre aux besoins actuels mais aussi futurs (mobile), développé avec Asp.net Web Api 2 et Entity Framework. Je suis intervenu pour la société Clarsi, qui était en charge du pilotage, de l’architecture et de la réalisation du site. Avec un architecte .net, nous avons mis en place un ensemble de tests unitaires et fonctionnel, avec l’aide de specflow, Nunit et NCrunch. https://formation.ffrandonnee.fr/[/vc_column_text][vc_empty_space height= »30px »][vc_column_text]Tâches effectuées :[/vc_column_text][vc_empty_space height= »16px »][vc_column_text][dt_list style= »1″ bullet_position= »top » dividers= »false »][dt_list_item image= » »]Integration/Animation.[/dt_list_item][dt_list_item image= » »]Développement Asp.Net WebApi2 C#.[/dt_list_item][dt_list_item image= » »]Développement Asp.Net MVC 5.[/dt_list_item][dt_list_item image= » »]Test unitaire et fonctionnel.[/dt_list_item][/dt_list][/vc_column_text][vc_empty_space height= »30px »][/vc_column][vc_column offset= »vc_col-lg-4 vc_col-md-4 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Techniques [/vc_column_text][vc_empty_space height= »16px »][vc_progress_bar values= »%5B%7B%22label%22%3A%22D%C3%A9veloppement%20front%20et%20backoffice%20MVC5%20Boostrap%20Jquery%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20backend%20%3A%20C%23%20Web%20Api2%22%2C%22value%22%3A%2270%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20frontend%20%3A%20HTML5%20CSS3%20Javasript%20ajax%22%2C%22value%22%3A%2290%22%7D%5D » options= »striped,animated » caption_pos= »top »][vc_column_text]Témoignages[/vc_column_text][/vc_column][/vc_row]

Mocking (prototypage de données et d’éléments graphique)

[vc_row margin_top= »-30″ margin_bottom= »15″][vc_column offset= »vc_col-lg-8 vc_col-md-8 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Site Web Asp.Net MVC5 – Mocking [/vc_column_text][vc_empty_space height= »16px »][vc_column_text]En renforcement dans une équipe technique de développeur Microsoft .Net chez le client (Entites, Rennes), j’ai réalisé une série de mocking pour un site web développé avec Asp.net MVC5 et Entity Framework, le tout sous une architecture propriétaire. La mission consistait à préparer un ensemble de jeu de données (mocks) permettant de remplir le site web de données afin de tester en amont, avant pre-prod un ensemble de cas de figures assez variés pour parer à toute éventualité (ex image trop grosse, trop petite, manquante, texte trop long, texte manquant, information tierce manquante, adresse manquante…) Ensuite il ne restait plus qu’à ré-intégrer le code HMTL5 CSS3 réalisé par un intégrateur et un peu de javascript (ajax) pour que le site soit prêt pour la pré-prod.[/vc_column_text][vc_empty_space height= »30px »][vc_column_text]Tâches effectuées :[/vc_column_text][vc_empty_space height= »16px »][vc_column_text][dt_list style= »1″ bullet_position= »top » dividers= »false »][dt_list_item image= » »]Analyse.[/dt_list_item][dt_list_item image= » »]Integration.[/dt_list_item][dt_list_item image= » »]Développement Asp.Net MVC5 avec C#.[/dt_list_item][dt_list_item image= » »]Mocking.[/dt_list_item][/dt_list][/vc_column_text][vc_empty_space height= »30px »][/vc_column][vc_column offset= »vc_col-lg-4 vc_col-md-4 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Techniques [/vc_column_text][vc_empty_space height= »16px »][vc_progress_bar values= »%5B%7B%22label%22%3A%22D%C3%A9veloppement%20C%23%20Asp.net%20MVC5%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20frontend%20%3A%20HTML5%20CSS3%20Javasript%20ajax%22%2C%22value%22%3A%2290%22%7D%5D » options= »striped,animated » caption_pos= »top »][vc_empty_space height= »40px »][vc_column_text] Témoignages [/vc_column_text][vc_empty_space height= »24px »][dt_testimonials category= »entities »][/vc_column][/vc_row]

Trackus

[vc_row margin_top= »-30″ margin_bottom= »15″][vc_column offset= »vc_col-lg-8 vc_col-md-8 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Trackus [/vc_column_text][vc_empty_space height= »16px »][vc_column_text]Trackus est une application desktop, mobile et web disponible sur Android, Windows Phone, Windows 10, iPhone/ iPad, et sur le web. C’est un outil qui vous permet de suivre ou d’être suivis grâce à votre GPS. L’idée est de permettre à chacun de pouvoir donner sa position en temps réel à un ami ou à sa famille, qui peut alors vous suivre sur carte de n’importe où et facilement grâce à un code unique. Rien de bien révolutionnaire mais tellement pratique ! Et c’est gratuit ! Ce projet est avant tout pédagogique. En effet rien de mieux qu’un cas concret pour apprendre à développer sur différentes plateformes. En java sur Android, en C# sur iOS avec Xamarin et en C# natif sur Win10, Win phone 8.1 et enfin HTML5 CSS3 et Javascript pour la partie web. Page officielle : http://trackus.reactor.fr/pages/presentation/[/vc_column_text][vc_empty_space height= »30px »][vc_column_text]Tâches effectuées :[/vc_column_text][vc_empty_space height= »16px »][vc_column_text][dt_list style= »1″ bullet_position= »top » dividers= »false »][dt_list_item image= » »]Conception/Design.[/dt_list_item][dt_list_item image= » »]Integration/Animation.[/dt_list_item][dt_list_item image= » »]Développement Asp.Net WebApi2 C#.[/dt_list_item][dt_list_item image= » »]Lead dev/ops.[/dt_list_item][dt_list_item image= » »]Application Windows Phone 8.1.[/dt_list_item][dt_list_item image= » »]Application Android.[/dt_list_item][dt_list_item image= » »]Application iOS.[/dt_list_item][/dt_list][/vc_column_text][vc_empty_space height= »30px »][/vc_column][vc_column offset= »vc_col-lg-4 vc_col-md-4 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Techniques [/vc_column_text][vc_empty_space height= »16px »][vc_progress_bar values= »%5B%7B%22label%22%3A%22D%C3%A9veloppement%20C%23%20Windows%20phone%208.1%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20C%23%20Xamarin.iOS%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20Android%20natif%20(Java)%22%2C%22value%22%3A%2290%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20backend%20%3A%20C%23%20Web%20Api2%22%2C%22value%22%3A%2270%22%7D%2C%7B%22label%22%3A%22D%C3%A9veloppement%20frontend%20%3A%20HTML5%20CSS3%20Javasript%20ajax%22%2C%22value%22%3A%2290%22%7D%5D » options= »striped,animated » caption_pos= »top »][vc_empty_space height= »40px »][vc_column_text]Témoignages[/vc_column_text][vc_empty_space height= »24px »][dt_testimonials category= »trackus »][/vc_column][/vc_row]

App Cost

[vc_row margin_top= »-30″ margin_bottom= »15″][vc_column offset= »vc_col-lg-8 vc_col-md-8 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] App Cost [/vc_column_text][vc_empty_space height= »16px »][vc_column_text]Combien coûte une application mobile, native web ou hybride ? Quelle plateforme iOS, Android ou Windows ? Pourquoi pas les trois ? Cette page tente de vous donner une idée des coûts de la création d’une application en se basant sur plusieurs facteurs qui vont influer sur le prix de votre application. App cost a été conçue pour un large publique, c’est pourquoi nous nous limiterons à seulement quelques questions élémentaires mais pertinentes afin d’évaluer au mieux votre projet. Il va de soit qu’une étude approfondie est nécessaire et que le résultat obtenu ne constitue pas un devis. Il est probable que le prix estimé par App Cost risque de se rapprocher du coût final, du moins on l’espère. Visitez le site web : http://appcost.reactor.fr/[/vc_column_text][vc_empty_space height= »30px »][vc_column_text]Tâches effectuées :[/vc_column_text][vc_empty_space height= »16px »][vc_column_text][dt_list style= »1″ bullet_position= »top » dividers= »false »][dt_list_item image= » »]Conception/Design.[/dt_list_item][dt_list_item image= » »]Integration/Animation.[/dt_list_item][/dt_list][/vc_column_text][vc_empty_space height= »30px »][/vc_column][vc_column offset= »vc_col-lg-4 vc_col-md-4 vc_col-xs-12″][vc_empty_space height= »40px »][vc_column_text] Techniques [/vc_column_text][vc_empty_space height= »16px »][vc_progress_bar values= »%5B%7B%22label%22%3A%22D%C3%A9veloppement%20frontend%20%3A%20HTML5%20CSS3%20Javasript%20ajax%22%2C%22value%22%3A%2290%22%7D%5D » options= »striped,animated » caption_pos= »top »][vc_empty_space height= »40px »][/vc_column][/vc_row]