KISS
KISS, société créée en Mars 2017, est le fruit de de la rencontre entre 4
associés passionnés d’informatique et des nouvelles technologies. Depuis sa
création, KISS connaît une très belle croissance et l’équipe est désormais
constituée de 10 personnes.
Ils nous font confiance : Accor Hotels,Docapost, Thales, Estée Lauder et un grand
compte de la téléphonie mobile.
Nous avons créé des partenariats avec de grands fournisseurs de l’IT :
Datastax (Cassandra), Hazelcast (cache distribué), Pivotal (Spring et Spring
Cloud) et Confluent (KAFKA) et développé une expertise interne sur chacun de
ces produits.
Durant cette période, les projets que j’avais en charge était sur la technologie Kafka, Kafka Stream et Spring
Cloud avec nos clients.
Nous avons accompagné un projet de type monolithe vers une approche BDD et micro-service avec Kafka
comme médiateur de données.
J’ai également eu la responsabilité du développement d’un projet de synchronisation entre Sybase et
Cassandra ainsi que la diffusion de ces mises à jours en HTTP (Kafka Connect).
Nous avons réalisé ce projet avec la technologie Kafka, Kafka Connect et Kafka Stream avec des points de
synchronisation régulier avec un TAM Confluent.
Ce projet a mobilisé une équipe en interne de 5 développeurs sur une période de 12 mois
Projet : Et si un projet vous demande de remettre en cause vos acquis et certitudes ?
Confortable avec Spring/Hibernate/SGBG et votre petit cache (EHCACHE), on peut se dire "je vais pouvoir
gérer tous types de projets". Mais quand on s'adresse à Accor Hotel, soudainement les enjeux ne sont plus les
mêmes :
✓ Système 24/24, 7/7 des milliers d'euros perdus par minute en cas d’interruption
✓ Fréquence d'appel à 2000 req/sec
✓ Prévision de croissance de 50% par an
✓ SI actuel basé Sybase et ses procédures stockées
Dès lors, un choix de taille s'impose, tenter sa chance avec ses connaissances ou repartir de zéro et ratisser les
Paris JUG et DEVOXX. Etre en charge de la refonte de disponibilité des chambres des hôtels du groupe dans le
monde entier, s’intégrer dans l'ensemble des sites publics, privés et certaines connectivités externes (Trivago,
Google, ...) a sans doute été pour moi un des challenges les plus importants de ma carrière. Les enjeux
consistaient donc à créer une stack robuste, scallable et ultra performante.Après une phase d’étude et
de POC, en passant par Mongo, CouchBase, Terracota, jboss cache j’ai finalement sélectionné Cassandra (Base
NoSQL), Hazelcast (Cache distribué), Protostuff pour la partie sérialisation/désérialisation et Tomcat pour
l’exposition de l’API REST. J’ai monté une équipe de 4 à 10 développeurs pour la réalisation de cette refonte,
avec les phases clés suivantes :
✓ Mise en place de la stack
✓ Accompagnement des équipes de production et supervision
✓ Refonte du modèle de données
✓ Module de synchronisation entre Sybase et Cassandra
✓ Écriture de plus de 500 règles de gestion dans un moteur de règle
✓ Suivi des temps de réponses règle par règle
✓ Optimisation de la JVM
✓ Suivi de la recette et création de tests automatisés
✓ Accompagnement et suivi de l’intégration de notre service REST de disponibilité
Le pari a été gagnant : 200M de requête par jour 120ms de tps moyen
portail permettant aux investisseurs de connaître l’évolution des fonds non cotés
contractés (Private Equity) ainsi que des informations concernant les nouveaux fonds.
✓ Expertise technique sur l’architecture du projet : Maven et bonnes pratiques de code
✓ Expertise technique sur les problèmes liés aux performances : Modèle de données, mise en place de
bonnes pratiques Hibernate, diminution du volume de données JSON entre le serveur et le client
✓ Direction des chantiers techniques nécessaires pour une bonne mise en production
Projet : Refonte et modernisation d’un portail d’entrée (800 utilisateurs quotidiens) permettant une gestion en back-office des dossiers (indemnisations, contrats VIE, contrats IARD…) – Renforcement de la disponibilité et de la robustesse de l’application
Garant du bon déroulement des opérations (qualification recette client) et du respect des délais
Encadrement de l’équipe (15 développeurs)
- Planification des tâches par développeur et suivi journalier de l’avancement des travaux
- Support technique des développeurs
- Animation des réunions techniques
- Revue de code par échantillonnage
Accompagnement des contributeurs étape par étape
Gestion proactive et anticipation des besoins de tous les acteurs du projet
Mise en place de tests unitaires et d’intégration (validation des livraisons tiers)
Mise en œuvre d’une refonte technique et fonctionnelle de l’application existante (modèle objet JPA) :
- Profil transverse VIE/IARD
- Découpage par Source SI
- Fusion d’object Store
- Requête dynamique (pour les critères de recherche)
- Habilitation par ACL
Mise place de Framework : pagination des tableaux ; optimisation des bases de données et/ou du Webservice ; gestion d’exceptions ; suivi d’erreurs techniques ; analyse du temps/écran pour chaque couche (BDD, WS, JAVA)
Projet : Migration d’un projet de ressources humaines pour l'ensemble des agents
• Phase 1 = étude (4 experts)
Mise en œuvre de 7 études techniques : Habilitation, Batch, Base de données, Procédure collective, Procédure individuelle, Message et édition, Rédaction de dossiers techniques pour l’habilitation
Participation active à l’écriture de POC : visualisation rapide et validation es propositions
Détermination des besoins techniques
Mise en place d’un Framework applicatif (facilitation des futurs développements)
Développement du Framework d’habilitation : gestion des droits sur les actions (RBAC) et sur les données (sécurité périmétrique)
• Phase 2 = développement (10 à 15 développeurs)
Découpage des modules à migrer en tâches unitaires
Encadrement et management de l’équipe
Projet : Création d'un portail d'accès unique (********) regroupant tout les sites du service public (2 millions d'utilisateurs attendus en année 1)
Conception et réalisation d'un module SOA basé sur un ESB (ServiceMix). Objectif : assurer la communication applicative entre les projets du service public et les partenaires (DGI, ANPE…)
Communication entre les systèmes par WebService et e-mails (signés et cryptés)
Projet : Développement d'une nouvelle application de « Titrisation » : Gestion des portefeuilles clients et calcul des commissions
À partir des spécifications fonctionnelles, rédaction d'un design document répondant aux besoins fonctionnels
Après validation, développement des modules avec leurs tests unitaires Swing
Projet : Tester la performance des plateformes SMS du réseau SFR
Environnements : Java, Monitor Master (Scripts propriétaires de la société Argogroup)Projet : Développement d’une application embarquée sur PDA pour les techniciens de maintenance
Environnement : VB.Net