Quelques réalisations

Maintenance, développements et montées de versions de 250 serveurs Alfresco 5.0

🗓️ 07/2022 - maintenant
🏢 Administration

Au sein d'un équipe composée de 12 personnes (techniques et fonctionnels) fonctionnant en mode agile :

  • Reprise d'un projet Alfresco 5.0 et de 2 applications web Java (Spring, Struts, Jsp ...)
  • Maintenance du code, développement de nouvelles fonctionnalités
  • Mise en place de CI/CD
  • Mise en place de contrôles qualité (tests unitaires, pull requests avec code reviews)
  • Maintenance des 250 instances en production
  • Préparation d'une montée de version vers Alfresco 5.2, puis 7.3, ainsi que de toute la pile logicielle, pour les 250 serveurs.
⚒️ Alfresco 5.0, Alfresco 5.2, Alfresco 7, Share, Java 8-11, Spring

Reprise projet Alfresco 6 et migration vers Alfresco 7

🗓️ 11/2021 - 11/2022
🏢 Conseil départemental de Seine-et-Marne

Reprise d'un projet de GED Alfresco permettant de stocker les documents liés aux marchés publics du Conseil départemental de Seine et Marne ainsi que des documents comptables, sur une architecture Haute Disponibilité .

  • Développements de règles, de modèles, et de smartfolders, et d'interfaces Share pour répondre au besoin métier
  • Mise à jour des sources et du SDK pour Alfresco 7
  • Modification de modules Alfresco communautaires pour répondre à certains besoins spécifiques, ou pour les rendre compatibles avec Alfresco 7.
⚒️ Alfresco 6, Alfresco 7, Share, Java 11, Spring, Smartfolders, dataLists

Développement d'une application web de formation marketing en ligne

🗓️ 05/2021 - 01/2022
🏢 Ads Factory

Conception & développement d'une application web de type MOOC permettant à des élèves de suivre des cours de marketing en vidéo, de valider leurs acquis en faisant des QCM, de discuter avec d'autres élèves ou professeurs, en suivant une progression prédéfinie, avec la possibilité d'acheter tous les différents palliers en une fois ou un par un au fil de la progression.

Backend sur Supabase (Postgresql, Postgrest, Amazon S3) et quelques fonctions serverless Vercel.
Frontend frontoffice & backoffice en Svelte et TailwindCSS hébergé sur Vercel.

Intégration avec ActiveCampaign pour l'ajout de nouveaux élèves, Vimeo pour l'hébergement des vidéos, et Calendly pour permettre aux élèves de prendre des rdv particuliers avec des professeurs en cas de difficulté.

⚒️ Supabase, PostgreSQL 13, TypeScript, Vercel functions, Svelte JS, Tailwind CSS

Maintenance & développement Alfresco

🗓️ 02/2021 - 02/2023
🏢 Opcomobilités

Maintenance, optimisation et développements sur une instance Alfresco 4.2 stockant 5 millions de documents pour un contentsotre de 2.1 To , et avec un grand débit de documents entrants (entre 6k et 15k / jour).

⚒️ Alfresco 4.2, Share

Développement d'une application intégrée avec ActiveCampaign

🗓️ 12/2020
🏢 Gamezpack

Développement d'une application de gestion de codes d'activation de jeux vidéos pour un calendrier de l'Avent.
Intégration avec le CRM ActiveCampaign pour l'envoi par mail du code aux clients via une "automation".

⚒️ Java 11, JHipster, Angular, Spring boot, ActiveCampaign API + Automations, Docker, Debian 10, certbot, Postgresql

Intégration de Smoobu et Dormakaba Webkeys

🗓️ 11/2020
🏢 Société hôtelière UNE CHAMBRE EN VILLE

Automatisation de la création et de l'envoi du code d'accès d'une chambre suite à une nouvelle réservation ou modification de réservation.

  • Création d'un programme en Java 15 simple.
  • Utilisation du Webhook Smoobu pour que le programme soit notifié des nouvelles réservations ou modification de réservations.
  • Création de la clé d'accès à la chambre en appellant l'API du logiciel Webkeys de Dormakaba qui permet de créér un code d'accès à une chambre en fonction des dates de séjour et de la chambre concernée.
  • Envoi du code d'accès au client via l'API Smoobu et par SMS avec les mail-to-sms de SMSFactor. Le message contenant le code est configurable et disponible en plusieurs langues, le choix de la langue dépend des informations envoyées par Smoobu.
⚒️ API REST SMoobu, API REST Webkeys Dormakaba, Java 15 preview, Jetty, IIS, certbot, Windows Server, SMSFactor

Recherche Alfresco multilingue

🗓️ 07/2020
🏢 Archery Consulting

Contexte : Le client, un cabinet de conseil technique, utilise Alfresco pour stocker ses documents métiers et utilise beaucoup la recherche avancée de Share. Les documents peuvent être écrits dans au moins 3 langues différentes (français, anglais, allemand). Le client souhaite:

  1. Pouvoir rechercher avec un mot-clé parmi des documents de langue différente
  2. Pouvoir filtrer les documents par langue dans la recherche

Solution :

  1. Ajout d'un dictionnaire de synonymes dans Solr faisant la correspondance entre un mot-clé et ses traductions dans les 3 langues utilisées
  2. Création d'une extension Alfresco avec une règle qui, lors de l'ajout d'un nouveau document, essaie de détecter sa langue en lisant le texte. Si la langue est trouvée elle est ajoutée en métadonnée sur le document. Une extension Share permet de consulter cette métadonnée et de filtrer les recherches dessus. Application d'un patch qui exécute la règle de détection de langue sur tous les documents existants.
⚒️ Alfresco 5.2, Share 5.2, Solr 4, Java

Supervision d'alarmes

🗓️ 06/2020
🏢 Systel SA

Ajout d'une fonctionnalité d'activation/désactivation d'alarme sur une application web de supervision d'alarmes gérées par un service tiers joignable via une API Web.

⚒️ ActiveMQ, MQTT, Java, API REST, AngularJS, SQL Server

Amélioration d'une application web de gestion des premiers secours

🗓️ 03/2020 - 05/2020
🏢 Systel SA

Amélioration des performances et ajout de fonctionnalités sur une application web de gestion des premiers secours. Optimisation de requetes SQL et des endpoints HTTP, programmation concurrente en Java, génération de PDF en Java avec iTexte, nettoyage et refonte d'une partie de l'application cliente AngularJS.

⚒️ Java 8, SQL, AngularJS, SQL Server

Migration vers Alfresco

🗓️ 12/2018 - 06/2019
🏢 Archery Consulting

Installation et customisation d'Alfresco et Share 5.2 pour un cabinet de conseil stockant ses documents sur un serveur de fichiers Windows. Lors de la migration, les documents doivent être placés dans Alfresco et enrichis par des métadonnées en fonction de leur chemin sur le serveur de fichiers et d'un document CSV faisant le lien entre chemin sur le serveur de fichiers et métadonnées à renseigner.

Utilisation importante de datalists Alfresco poru sotcker des valeurs de métadonnées multivaluées.

Création dynamique de smartfolders en fonction de l'ajout de valeurs dans les dataLists.

⚒️ scripting Shell, Solr 4, Alfresco 5.2, Share 5.2, Smartfolders, dataLists, Java, JS

Téléchargement d'historique de workflows dans Flowable

🗓️ 01/2019
🏢 Allianz

Flowable est un moteur de workflows open-source initialement basé sur Activiti.

Ajout d'une page dans Flowable permettant de télécharger sous forme de fichier CSV l'historique des instances d'un processus de workflow BPMN. La fonctionnalité n'est disponible que pour certains rôles, et l'utilisateur peut choisir une intervalle de dates et le processus pour lequel extraire des données. Les données extraites comprennent l'id de processus, d'instance et diverses variables du workflow.

⚒️ Spring boot, Spring , AngularJS, Flowable 6.4.0, Flowable-ui 6.4.0, Java

Modification de l'arborescence des groupes dans Alfresco

🗓️ 12/2018
🏢 Saint-Gobain

L'instance Alfresco du client comprend des centaines de groupes organisés en arborescence hiérarchique. Ces groupes proviennent du LDAP du client. Le client souhaite réorganiser ces groupes dans Alfresco en supprimant la hiérarchie et en les mettant tous à plat.

Création d'un script batch qui supprime les relation parent-enfant des groupes, sauf pour certains groupes spécifiques.

⚒️ Alfresco 5, LDAP, Java

Renforcement de l'équipe GED

🗓️ 08/2017 – 05/2018
🏢 Arval
📍 Rueil-Malmaison

Renforcement de l’équipe Alfresco chez Arval pour travailler sur plusieurs projets :

  • Mutualisation de la GED au sein d’Arval :
    • Migration des différentes GED des entités composant Arval vers un Alfresco unique.
    • Transformation des flux existants chez les différentes entités pour les adapter à Alfresco.
    • Adaptation des modèles de données existants dans les autres GEDs à un modèle le plus générique possible dans Alfresco (le métier étant le même dans les différentes entités).
    • Migration des données vers Alfresco.
  • Participation au développement d’une application métier cliente d’Alfresco en AngularJS et à celui des APIs spécifiques.
  • Mise en place de jobs Jenkins pour améliorer l’intégration continue.
  • Maintenance de l’existant, debuggage, support utilisateur.
⚒️ Alfresco 5.1, Jenkins, Java, AngularJS, LDAP

Renforcement de l'équipe GED

🗓️ 05/2017 – 08/2017
🏢 Interforum
📍 Ivry-sur-Seine

Renforcement de l’équipe Alfresco chez Interforum afin de maintenir, faire évoluer l’existant, et préparer une migration de la version 4.2 vers 5.2 de plusieurs instances d’Alfresco.

⚒️ Alfresco Share 4.2 5.2

Conception, développement, lead et gestion d'un projet Alfresco

🗓️ 10/2016 – 05/2017
🏢 Saint-Gobain
📍 La Défense

Conception et réalisation en tant que lead et architecte d’un projet de gestion des documents RH ayant les spécificités suivantes :

  • La création et mise à jour quotidienne de l’arborescence dans la GED à partir de données externes, enrichissement automatique de documents et gestion des permissions dans l’arborescence à partir de ces données.
  • La création de pages Share spécifiques, d’un écran de validation de tâche de workflow incluant la preview du document associé, et de filtres pour une recherche de tâches plus pointue.

Ecoute des besoins, rédaction des spécifications techniques, chiffrage du projet, conception et développement des services et de workflows Activiti avec un co-équipier, mise en place des flux, livraison et recette du projet.

⚒️ Alfresco 4.2, Java, Javascript, Share, YUI, Spring Surf, LDAP, Workflows Activiti BPMN

Maintenance et développements Alfresco/Share

🗓️ 03/2016 - 09/2016
🏢 Saint-Gobain
📍 La Défense

Interventions ponctuelles pour faire des évolutions et de la maintenance sur la plateforme Alfresco mutualisée de Saint-Gobain partagée entre plusieurs métiers utilisant chacun une partie de l’arborescence, des workflows et des customisations Share spécifiques.

Développement et correction de workflows Activiti, customisations Share, intégration d’un widget JQuery et d’un thème dans le cadre de l’uniformisation du thème de tout l’intranet.

⚒️ Alfresco 4.2, Java, Javascript, Share, YUI, Dojo, Aikau, JQuery, Spring Surf, LDAP, Workflows Activiti BPMN

Audit et développements Alfresco

🗓️ 02/2016
🏢 BIBLIOTHEQUE PUBLIQUE D’INFORMATION
📍 Paris
  • Audit des développements Alfresco déjà réalisé et refonte du code pour respecter les bonnes pratiques.
  • Développement d’une fonctionnalité d’archivage (.zip).
  • Corrections / évolutions sur les workflow existants.
  • Evolution sur le module de gestion des catégories.
⚒️ Alfresco 5.0.1, Java, Activiti

Montée de version, audit et développements Alfresco

🗓️ 11/2015 – 02/2016
🏢 Filhet-Allard
📍 Bordeaux

En tant que consultant Alfresco junior, participation à la réalisation d’un projet d’upgrade de version Alfresco chez le client à Bordeaux :

  • Participation aux spécifications techniques générales (règles de gestion, policy, modèle de données...).
  • Correction de divers bugs en préalable à l'upgrade de code. Refactoring des nombreuses policies « dangereuses » (ex: onMove, onUpdate, onDelete).
  • Upgrade du code Alfresco vers la version 5.0.2, surtout les webscript Share et les extensions de widgets YUI.
  • Recette de bon fonctionnement.
⚒️ Alfresco 4.2, 5.0.2, Java, Javascript, YUI, Aikau, Share

Intervention chez plusieurs clients sous la tutelle d’Alfresco.

🗓️ 2016
🏢 Alfresco

Airbus – Toulouse – 5 jours :

Aide à la réalisation d’un POC visant à mettre en place Alfresco 5.1 comme solution de GED pour les documents techniques d’Airbus. Conseil, écoute des besoins et mise en place de solutions.

Police danoise – Copenhague - 5 jours :

Aide à la migration d’un projet de la version 4.2 vers la 5.1 (Alfresco et Share), formation de l’ équipe du client au développement Share, à Aikau, et aux bonnes pratiques.

Gemalto – Marseille – 3 jours :

Intervention sur un projet en phase finale afin d’aider au développement de widgets Share spécifiques et d’une solution de statistiques sur la nature des documents stoqués dans Alfresco (5.0.X).

⚒️ Alfresco, Share

Alfresco - synchronisation de documents sur IPad

🗓️ 05/2015 - 2017
🏢 LABORATOIRE SERVIER
📍 Suresne
  • Participation au développement d’un projet de synchronisation de documents sur tablette Apple avec l’application Bookends :
    • Webscript pour récupérer les créations, mises à jour et suppressions sur Alfresco.
    • Participation au développement du robot faisant le pont entre Alfresco et Bookends.
    • Rédaction de la doc. d'installation / déploiement des releases.
    • Recettage des développement avec le client.
  • TMA et évolutions sur le projet GED Alfresco :
    • Champ de formulaire custom permettant de sélectionner des objets d’une DataList d’un site Share.
    • Facette permettant de filtrer sur le type de nœud dans les résultats de recherche sur Share.
    • Propagation de la mise à jour d’une valeur de datalist aux documents qui font référence à cette valeur.
⚒️ Alfresco 5.0.1, Java, Javascript, YUI, Aikau, Share, Freemarker

Maintenance et développements Alfresco

🗓️ 05/2015 - 07/2015
🏢 Geodis

En tant que développeur, participation à la TMA du projet GED Alfresco :

Maintenance corrective et évolutive du code composé exclusivement de Javascript à l’époque (webscripts repo, behaviors, scripts exécutés par des règles).

Développements spécifiques sur le module de gestion de la documentation fournisseur (règle de rétention, notifications, etc).

⚒️ Alfresco 4.1, Javascript, Freemarker