Some examples of my work

Development of a web app for marketing online courses

πŸ—“οΈ 05/2021 - 01/2022
🏒 Ads Factory

Conception & development of a MOOC web application enablign students to follow online video courses about marketing, to validate their knowledge by completing quizzes, to chat with other students or teachers, to follow a predefined progression path, with the possibility to buy all the steps together or one by one.

Backend on Supabase (Postgresql, Postgrest, Amazon S3) and some serverless Vercel functions.
Frontend frontoffice & backoffice made with Svelte and TailwindCSS, hosted on Vercel.

Integration with ActiveCampaign for provisionning the students, Vimeo to host videos, and Calendly to allow students to book private appointments with teachers if they face some learning diffculties.

βš’οΈ Supabase, PostgreSQL 13, TypeScript, Vercel functions, Svelte JS, Tailwind CSS

Alfresco maintenance & development

πŸ—“οΈ 02/2021 - now

Maintenance, optimization and developments on an Alfresco 4.2 instance with a very high documents throughput.

βš’οΈ Alfresco 4.2, Share

Java application integrated with ActiveCampaign CRM

πŸ—“οΈ 12/2020
🏒 Gamezpack

Develoment of a webapp to manage video-games activation key giveaways in the context of an Advent calendar.
Integration with ActiveCampaign CRM to recover buying informations on the customers and send them the keys.

βš’οΈ Java 11, JHipster, Angular, Spring boot, ActiveCampaign API + Automations, Docker, Debian 10, certbot, Postgresql

Integration between Smoobu and Dormakaba Webkeys

πŸ—“οΈ 11/2020
🏒 Hotels UNE CHAMBRE EN VILLE

Automating the creation of an access code to a room when a new booking occurs.

  • Writing of a simple Java 15 app.
  • Use of the Smoobu Webhook to notifiy the program when a new booking occurs.
  • Automation of the creation of an access key to a room with the Dormakaba Webkeys API, giving the apartment id and the staying dates.
  • Sending of the access key to the customer with the Smoobu API and by SMS with mail-to-sms from SMSFactor.
βš’οΈ API REST SMoobu, API REST Webkeys Dormakaba, Java 15 preview, Jetty, IIS, certbot, Windows Server, SMSFactor

Multilingual Alfresco search

πŸ—“οΈ 07/2020

Setup of :

  • automatic language detection of a document when it is uploaded (between 3 supported languages, french, english and german)
    • storage of the document language in a metadata
    • enabling the filtering on a document language in search screen
    • writing and run of a patch to detect the language of existing documents
  • cross-language synonyms search with Solr4, with the help of a custom synonyms dictionnary holding translatiosn of some specific keywords
βš’οΈ Alfresco 5.2, Share 5.2, Solr 4, Java

Alarms monitoring

πŸ—“οΈ 06/2020

Addition of a feature allowing to enabel/disable alarms from a web application for alarms monitoring, with alarms being managed by a third-party provider.

βš’οΈ ActiveMQ, MQTT, Java, API REST, AngularJS, SQL Server

Enhancement of a webapp to manage emergency services

πŸ—“οΈ 03/2020 - 05/2020

Performances enhancements and features development on a webapp used to manage emergency services.

SQL qeries optimization, lightering of HTTP payloads, Java concurrent programming, PDF creation with Java with iTexte, cleaning and refactoring of a client AngularJS app.

βš’οΈ Java 8, SQL, AngularJS, SQL Server

Alfresco migration

πŸ—“οΈ 12/2018 - 06/2019

Setup and customization of Alfresco & Share 5.2 as a replacement for a Windows shared file server.
Integration of the existing documents with metadata based on their location on the fileserver.
Relocation of the files according to the new file plan.

Massive use of datalist to feed allowed values lists for some metadata.
Dynamic creation of smartfolders upon datalist item creation.

βš’οΈ scripting Shell, Solr 4, Alfresco 5.2, Share 5.2, Smartfolders, dataLists, Java, JS

Workfows history download feature on Flowable

πŸ—“οΈ 01/2019

Flowable is an open-source workflow engine based on Activiti.

Addition of a page in FLowable allowing a user to download the history of a BPMN process instances in a CSV file.
The feature is available only for some roles and the user can filter the history with a time interval and the process id. The extracted data include the process id, the instance id and some workflow variables.

βš’οΈ Spring boot, Spring , AngularJS, Flowable 6.4.0, Flowable-ui 6.4.0, Java

Flattening of the groups tree in Alfresco

πŸ—“οΈ 12/2018

The Alfresco instance has hundreds of groups organized in a hierarchical tree. These groups are improted automatically from the customer's LDAP server. The customers would like to reorganize these groups in Alfresco by removing the hierarchical links between them, i.e by putting all the groups at the same level in a flat layout.

Writing of a batch script to remove parent-child relationship between groups, with some exceptions.

βš’οΈ Alfresco 5, LDAP, Java

Backing up the ECM team

πŸ—“οΈ 08/2017 – 05/2018
🏒 Arval
πŸ“ Rueil-Malmaison

Joined the Alfresco team at Arval to work on several projects :

  • Standardization of the ECM tool :
    • Migration of the different ECM solutions of the different businesses of the group into a single Aflresco.
    • Redirection of the existing data flows into Alfresco.
    • Transformation of the existing business data models from other ECMs to a generic Alfresco data model.
    • Data migrations.
  • Development of a business-oriented front-end for Alfresco in AngularJS, and development of the related APIs in Alfresco.
  • Design of Jenkins jobs to improve continuous integration of the Alfresco part at Arval.
  • Maintenance of the running Alfresco applications, Β« customer support Β».
βš’οΈ Alfresco 5.1, Jenkins, Java, AngularJS, LDAP

Backing up the ECM team

πŸ—“οΈ 05/2017 – 08/2017
🏒 Interforum
πŸ“ Ivry-sur-Seine

Joined the Alfresco team at Interforum to help them maintain the Alfresco system, develop new functionnalities and prepare a version upgrade from 4.2 to 5.2 of several Alfresco instances, each of them serving a different business purpose.

βš’οΈ Alfresco Share 4.2 5.2

Conception, development, lead and management of an Alfresco project

πŸ—“οΈ 10/2016 – 05/2017
🏒 Saint-Gobain
πŸ“ La DΓ©fense

Conception and development as a lead developer and architect of a HR documents management project with the following requirements :

  • Daily automatic creation and update of the file plan in Alfresco from external data, automatic update of the documents metadata and permissions from these same data.
  • Simple validation workflows .
  • Deep Share customizations, creation of specific Share pages. Creation of a specific workflow tasks validation screen including the preview of the processed document, and custom search filters for workflow tasks.

Requirements study with the customer, writing of the technical specifications, costing of the project, conception and develoment of the Alfresco services and Activiti workflows with a teammate, setup of the daily data flows with the Saint- Gobain team.

βš’οΈ Alfresco 4.2, Java, Javascript, Share, YUI, Spring Surf, LDAP, Workflows Activiti BPMN

Alfresco/Share developments and maintenance

πŸ—“οΈ 03/2016 - 09/2016
🏒 Saint-Gobain
πŸ“ La DΓ©fense

Occasional interventions to maintain and evolve the Alfresco platform at Saint- Gobain, which is shared between different businesses, each of them having a part of the file plan, specific data models, workflows and Share customizations.

Development and optimization of Activiti workflows, Share customizations, integration of a JQuery widget and of a new theme in Share.

βš’οΈ Alfresco 4.2, Java, Javascript, Share, YUI, Dojo, Aikau, JQuery, Spring Surf, LDAP, Workflows Activiti BPMN

Alfresco audit and developments

πŸ—“οΈ 02/2016
🏒 BIBLIOTHEQUE PUBLIQUE D’INFORMATION
πŸ“ Paris
  • Auditing of existing Alfresco customizations, and editing of the existing code to implement best practices.
  • Development of an archiving functionnality to archive folders in .zip files.
  • Improvements on the existing Activiti workflows.
βš’οΈ Alfresco 5.0.1, Java, Activiti

Alfresco version upgrade, audit and developments

πŸ—“οΈ 11/2015 – 02/2016
🏒 Filhet-Allard
πŸ“ Bordeaux

As a junior Alfresco consultant, help on a version upgrade project in Bordeaux :

  • Help in witing the technical specifications.
  • Bugs hunt prior to code upgrade (for the version upgrade).
  • Refactoring of dangerous policies (ex: onMove, onUpdate, onDelete).
  • Upgrade of the code to version 5.0.2.
  • Tests.
βš’οΈ Alfresco 4.2, 5.0.2, Java, Javascript, YUI, Aikau, Share

Intervention at several Alfresco customers for the official Alfresco customers support.

πŸ—“οΈ 2016
🏒 Alfresco

Airbus – Toulouse – 5 days :

Help for the realization of a POC to install Alfresco 5.1 as the new ECM solution for Airbus engineers, challenging Sharepoint.

Danish Police – Copenhagen - 5 days :

Help migrating a project from Alfresco 4.1 to 5.1 (Alfresco and Share). Training of the customer’s Alfresco team on Share and Aikau development, teaching of the best practices.

Gemalto – Marseille – 3 days :

Intervention on a final-phase project to help setting up specific interfaces for workflows and statistics on the stored data in Alfresco.

βš’οΈ Alfresco, Share

Alfresco - documents synchronization on IPad

πŸ—“οΈ 05/2015 - 2017
🏒 LABORATOIRE SERVIER
πŸ“ Suresne

Realization of a project allowing to synchronize documents between Alfresco and IPads using the Bookends application (the Alfresco application didn’t fulfill the customer’s requirements) :

Development of :

  • a Webscript to recover creations, updates and deletions from Alfresco.
  • a robot to get the documents from Alfresco and put them in the Bookends server.

Writing of the documentation.
Occasional installation of releases at the customers.
Tests with the customer.

βš’οΈ Alfresco 5.0.1, Java, Javascript, YUI, Aikau, Share, Freemarker

Alfresco developments and maintenance

πŸ—“οΈ 05/2015 - 07/2015
🏒 Geodis

Maintenance and improvement of the Alfresco project fully written in javascript (webscripts , behaviors, tules scripts).

βš’οΈ Alfresco 4.1, Javascript, Freemarker