STAGE AU SEIN DE LA SOCIETE GENERALE
6 SEMAINES : MAI / JUIN 2024
ENTREPRISE & ENVIRONNEMENT

LIEU DU STAGE : 17 cours Valmy 92800 PUTEAUX / SOCIÉTÉ GÉNÉRALE PARIS LA DEFENSE




1) L'entreprise et sa place dans le monde :


Etant une des plus grandes banques françaises et une des principales institutions financières en Europe, la Société Générale fut fondée en 1864.
Elle offre une gamme complète de services bancaires et financiers, tant pour les particuliers que pour les entreprises.
Avec une présence internationale, elle joue un rôle crucial dans le développement économique et financier mondial.

Présence mondiale

Présente dans 66 pays, elle permet de fournir des services bancaires adaptés aux besoins locaux tout en bénéficiant d'une portée mondiale.

Réseau d'agences

La banque dispose de plus de 2 200 agences en France et plus de 3 000 agences à l'international.

Clients

Elle sert plus de 29 millions de clients dans le monde entier, incluant des particuliers, des entreprises et des institutions.

Collaborateurs

La banque emploie environ 133 000 collaborateurs à travers le monde, d'où son importance sur la scène financière internationale.

Résultats financiers

En 2023, elle a réalisé un produit net bancaire de plus de 25 milliards d'euros, démontrant sa robustesse et sa capacité à générer des revenus substantiels malgré un environnement économique complexe.

Actifs sous gestion

La banque gère plus de 4 000 milliards d'euros d'actifs, incluant les activités de banque de détail, de banque d'investissement et de gestion d'actifs.



La Société Générale évolue constamment en réponse à des tendances et des défis liés à son environnement et à son secteur.


4 Mai 1864

Fondation de Société Générale par Napoléon III pour soutenir le commerce et l'industrie en France.

1870-1940

Expansion du réseau national avec 1 500 agences, et début de l’internationalisation (succursales à Londres, New York, Buenos Aires, etc.).

1918-1940

Société Générale devient la première banque française en termes de dépôts.

1945

Nationalisation de la Banque pour contribuer à la reconstruction de la France.

1945-1975

Forte croissance pendant les Trente Glorieuses, lancement de produits innovants (crédit-bail, crédits mobilisables).

1966-1967

Adaptation aux réformes bancaires, diversification vers une clientèle de particuliers.

1987

Privatisation, entrée en Bourse, stratégie de banque universelle.

1990s-2000s

Expansion internationale (Europe de l'Est, Afrique, Russie), acquisition du Crédit du Nord.

2020

Définition de la raison d'être du Groupe : "Construire ensemble un avenir meilleur et durable".

2) SWOT & EXTERNALITES:



CONTEXTE

1) L’application GARLIQ: un outil considérable pour la SOCIETE GENERALE :


L’application GARLIQ est un outil utilisé par la SOCIETE GENERALE depuis maintenant plus de 15 ans. Depuis 5 ans, elle est gerée par Samuel Grosman, mon maître de stage.

Cette application est utilisée par la direction financière de la banque. Elle constitue un outil primaire et critique pour la SOCIETE GENERALE, car elle facilite la gestion des risques structurels (ALM) pour le bilan économique de la banque. On parle ici de plusieurs dizaines de milliards d’euros.

La direction financière s’appuie sur l’application GARLIQ pour calculer les risques financiers portés par le bilan économique de la banque, afin d’éviter et de prévoir au mieux les risques de liquidité, de taux, ainsi que les déséquilibres potentiels.

Le bilan de la banque est vivant et évolue constamment, notamment suite aux enjeux sociaux, politiques comme les différentes élections, sanitaires comme la pandemie de la Covid connue en 2019, ...

L’application GARLIQ est donc utilisée pour réaliser des simulations d’anticipation avec des calculs effectués de manière récurrente. Ces differents calculs sont representés par des chaînes d’orchestration se trouvant sur CONTROL M et sur AIRFLOW, deux ordonnanceurs concurrents dont le sujet sera abordé par la suite.

L’orchestration mise en place pour calculer les indicateurs des risques et des métriques est d’ailleurs à présenter à la Banque Centrale Europeenne (BCE).

Généralement, la plupart des calculs sont realisés à intervalle regulier d’ordre mensuel. Certaines simulations se doivent de suivre une orchestration hedomadaire. En tant de crise, comme par exemple suite à la déclaration de guerre en Ukraine, les élections législatives d’actualité ou encore la crise Covid19, la macro-activité se doit d’autant plus d’etre surveillée et les calculs sont administrés quotidiennement. En effet, ces évenements ont un impact considérable sur la société et sont à l’origine de potentiels grands changements économiques.



2) L’évolution actuelle de GARLIQ:


Depuis 5 ans maintenant, c’est Samuel Grosman, mon maître de stage, qui est responsable de l’application GARLIQ, en constante évolution.

Les chaînes d’orchestration qui la constituent se trouvaient jusqu’à il y a peu de temps exclusivement sur l’ordonnanceur CONTROL M. Pour répondre à des besoins d’évolutions et de modernité en forte croissante, ces chaînes doivent etre progressivement migrées sur Airflow, un ordonnanceur concurrent.

CONTROL M et AIRFLOW éffectuent le même travail avec pour but commun de faire enchaîner une succession de tâches prédéfinies suivant des éxigences données. Cependant, leurs caracteristiques divergentes poussent la SOCIETE GENERALE à se tourner vers AIRFLOW.

CONTROL M est un ordonnanceur payant et compatible aux infrastructures legacy, tandis que AIRFLOW est open-source tout en étant en compatibilité avec les appels d’APIs (interfaces logicielles qui permettent de « connecter » un logiciel ou un service à un autre logiciel ou service afin d'échanger des données et des fonctionnalités) et à l’approche de la transformation Cloud.

La migration des chaînes d’orchestration de CONTROL M vers AIRFLOW est donc un besoin actuel de l’application GARLIQ éxigé par la SOCIETE GENERALE afin de répondre à la modernisation et au changement des systemes utilisés.



3) L’organisation des équipes :


Les équipes du domaine informatique dans lequel j’ai effectué mon stage s'organisent précisemment pour travailler sur l'application GARLIQ de manière efficace.

Elles suivent ainsi un environnement de travail Agile qui est caractérisé par la rapidité, la réactivité, l'efficacité et la transversalité. Cette approche a pour but de maximiser la souplesse et la visibilité tout en éliminant autant d'obstacles que possible.

Tous les 3 mois a lieu un PI Planning (plannification du travail à réaliser pour le prochain PI durant les 3 mois avenirs) auquel j'ai pu assister à la fin de ma période de stage.
Un PI est ensuite séparé en séquences de 2 semaines : les sprints. Chaque sprint est encadré de plusieurs réunions de mise en point et de communication entre les membres au sein d'une même équipe. Les débuts de sprint sont précédés d'une réunion autour de laquelle sont mis en avant les points positifs et négatifs relevés lors du sprint précédent afin d'améliorer et d'optimiser le travail du sprint suivant, tout en plannifiant les user story à réaliser pour chque membre de l'équipe selon ses disponibilités sur un tableau de plannification JIRA Sofware.

Le dernier jour du sprint a lieu une Sprint Review (évênement plannifié au sein de chaque équipe afin de préparer la future demonstration) et une Sprint Demo qui consiste à présenter au reste des équipes travaillant sur GARLIQ les réalisations des 2 semaines passées.

De plus ont lieu tous les matins des Daily Standup pour optimiser la communication entre les membres d'une même équipe et de relever les différents points de blocages de chacun.

Dans chaque équipe, une partie des membres travaillent depuis la France (Paris) et une autre depuis l'Inde (Bangalore). Les réunions et les présentations sont donc adaptées aux horaires des deux pays et en anglais.


Durant mes 6 semaines de stage j'ai pu découvrir l'environnement de travail Agile grâce notamment à Laurent Dlus, l'Agile Master, qui m'a enseigné énormément de notions clés et de techniques à savoir pour optimiser les capacités des équipes au sein du travail en entreprise.

Voici quelques images prises lors des réunions et des activités de plannification.

Daily Standup

Tableau interactif d'un Daily Standup

Jeu test

Jeu d'équipe de la méthode AGILE

PI#14

Plannification des user story du PI#14



MA MISSION

1) Ma présence au sein des équipes


Le domaine informatique dans lequel j’ai effectué mon stage est composé de 3 services ,dont l'Agile Master est Laurent Dlus:

- GFR (Garliq French Retail) est le domaine qui s’occupe de gérer les relations avec les directions financières des entités FR qui font de l’ALM (gestion des risques structurels); par exemple le réseau de banque de details France (issu de la fusion SOCIETE GENERALE / Crédit Du Nord), Boursorama, Franfinance, ...


- GIE (Garliq International Entities) qui a le même rôle que GFR mais appliqué a des entités internationales telles que KB en Europe de l’est, SGMA au Maroc, SG London, SG New York ...


- GCC (Garliq Core Components) qui est le domaine géré par Samuel Grosman, mon maître de stage. Ce domaine est réservé aux composants core, socles et génériques pour l’application GARLIQ. Le domaine GCC est decomposé en 3 équipes (feature Teams):


- GAAS (Garliq as a service) qui développe les services WEB autour d’un composant de calcul de risques financiers.

- FR (FusionRisk) qui gère ce composant de calculs financiers ainsi que la relation avec l’éditeur Finastra.

- GOT (Garliq Orchestration Team) qui gère l’offre de service autour de l’ordonnancement et de l’orchestration pour enchaîner les differents services de GAAS, afin de répondre aux besoins réccurents (calculs daily, weekly ou monthly) des 2 domaines GIE et GFR. C’est dans cette équipe que m’a été attribuée une place durant mon stage.



2) Le fonctionnement et les processus:


Les chaînes d’orchestration (dags) présents sur CONTROL M sont des graphs dirigés acycliques; elles sont constituées de tâches (instances d’un opérateur) reliées par des dépendances qui s’éxecutent dans un ordre précis. Les opérateurs sont soit des actions (comme la récupération d’une API et tout ce qui peut etre éxécuté en Python), des transfères (d’une API a une base de donnée) ou des sensors (attente d’un élément déclencheur pour poursuivre l’éxécution de la chaîne, par exemple l’attente de présence d’un fichier ou d’une validation humaine).

Pour passer une chaîne de CONTROL M à AIRFLOW, il faut récupérer cette derniere depuis CONTROL M sous forme de fichier XML décrivant précisemment les tâches et les dépendences de la chaîne. L’exploitation du fichier XML se fera grâce à Excel en utilisant PowerQuery afin de faciliter la lecture du fichier dans un tableau. En s’appuyant également sur un Powerpoint de cette même chaîne shematisé par l’equipe GIE, il faut redessiner la chaîne complète sur DRAWIO en utilisant la librairie développée par les équipes pour GRALIQ, tout en concervant les caractéristiques spécifiques des tâches. Ce shéma DRAWIO est associé à un fichier XML qui sera traduit en 2 fichier .json : un pour les tâches et l’autre pour les dépendances. En utilisant Python, les fichiers .json seront transmis à Airflow pour basculer la chaîne finale sur le nouvel ordonnanceur.

Ma mission consistait à redessiner un maximum de chaînes sur DRAWIO pour participer à la migration de CONTROL M vers AIRFLOW

Voici un schéma global du processus décrit précedemment:
shemaExplicatif

Durant mon stage, j'ai pu redessiner en tout 7 chaînes sur DRAWIO

Après avoir fait des tests et étudié le processus, j’ai commencé à travailler sur la chaîne la plus longue à migrer nommée GRQ_ARRETE_SGBR. Cette chaîne avait la particularité d’avoir une partie sur CONTROL M et une partie déja migrée sur AIRFLOW. Il m’a donc fallu fusionner les parties separées tout en redessinant les parties monthly et daily de cette chaîne.
Voici les différentes étapes detaillées avant de redessiner GRQ_ARRETE_SGBR:

Tout d'abord le passage du fichier XML en Excel pour faciliter la lecture des données grâce à l'outil POWER QUERY intégré dans Excel:

Fichier XML

Excel_file

Tableau Excel



Voici le PowerPoint de la chaîne SGBR, séparé en 5 slides : les 4 premières pour la partie monthly et la dernière pour la partie daily.

SGBR_slidePPT1

SGBR Slide 1 Monthly

SGBR_slidePPT2

SGBR Slide 2 Monthly

SGBR_slidePPT3

SGBR Slide 3 Monthly

SGBR_slidePPT4

SGBR Slide 4 Monthly

SGBR_slidePPT5

SGBR Daily



Comme dit précédemment, la chaîne GRQ_ARRETE_SGBR avait la particularité d’avoir une partie sur CONTROL M et une partie déja migrée sur AIRFLOW.
Il m’a donc fallu fusionner les parties separées tout en redessinant les parties monthly et daily de cette chaîne.
Voici l'interface AIRFLOW ainsi que la partie déja migrée sur AIRFLOW que j'ai récuperée et integrée à DRAWIO avec le reste de la chaîne dessinée.

SGBR_airflow

L'interface AIRFLOW

SGBR_airflow

Une des parties de la chaîne sur AIRFLOW que j'ai récupérée.



Librairie de composants DRAWIO

Ceci est la librairie de composants DRAWIO créée par l'équipe GCC.GOT afin de permettre de dessiner les chaînes à migrer de CONTROL M à AIRFLOW tout en schématisant le plus simplement possible les tâches des chaînes.



Grâce au fichier Excel, au PowerPoint et à la partie recupérée sur AIRFLOW, la chaîne GRQ_ARRETE_SGBR a pu être redessinée sur DRAWIO en concervant l'intégralité des données de chaque tâche et de chaque liaison, comme les paramètres ou les types d'éxecution. Voici le résultat:



En suivant ce même processus j'ai pu dessiner 7 chaînes en tout durant mon stage. Voici un apercu de ces dernières sur DRAWIO (hors GRQ_ARRETE_SGBR presentée précédemment).

GRQ_ARRETE_BRS

GRQ_ARRETE_BRS

GRQ_ARRETE_GLBA

GRQ_ARRETE_GLBA

GRQ_ARRETE_CGIF

GRQ_ARRETE_CGIF

GRQ_ARRETE_GEFA

GRQ_ARRETE_GEFA

GRQ_ARRETE_ALD

GRQ_ARRETE_ALD

GRQ_ARRETE_GP

GRQ_ARRETE_GP



Durant ma mission, j'ai relevé plusieurs écarts entre les PowerPoint dessinés par GIE et le fichier XML issu de CONTROL M représentant la chaîne "en réalité". Cela peut avoir lieu notamment suite à des erreurs de mise a jour. J'ai donc eu pour mission de les rapporter dans un fichier annexe laissé aux équipes à mon départ, et de notifier ces erreurs directement en notes sur DRAWIO aux endroits ou les écarts avec la réalité se trouvaient.

J'ai également relevé les éléments dont j'avais besoin pour dessiner les chaînes qui n'étaient pas présents dans la librairie.

La semaine avant mon départ a eu lieu un PI planning (évênement ayant lieu tous les 3 mois pour prévoir, organiser, et plannifier le travail de chaque équipe durant les mois avenirs), durant lequel les composants manquants que j'ai relevé ont été ajoutés à la liste des "user story" (fonctionnalité logicielle écrite du point de vue de l'utilisateur final) à développer.



J'ai enfin rendu mon travail accessible aux équipes du projet GARLIQ pour qu'il soit exploitable sur AIRFLOW après les futures dernières modifications. Pour cela j'ai converti mes chaînes DRAWIO en 2 fichiers .json, un pour les tâches et l'autre pour les dépendances.

Cette étape se fait grâce aux fichers config.json et extract_tasks.py du projet Git GARLIQ-DAG-GENERATOR.
L'algorithme Python permet de distinguer les tâches des chaînes pour créer les 2 fichiers .json distincts.
Puis, les fichiers obtenus ont été versionnés sur Git.


GARLIQ-DAG-GENERATOR

Arborescence de GARLIQ-DAG-GENERATOR

versioningGIT

Versionning Git




Voici les différentes interfaces et applications que j'ai utilisées tout au long de mon stage :

Excel

EXCEL

Logiciel de tableur développé par Microsoft permettant la création et la gestion de feuilles de calcul.

Word

WORD

Traitement de texte développé par Microsoft utilisé pour créer, éditer et formater des documents.

PPT

POWERPOINT

Logiciel de présentation développé par Microsoft pour créer des diapositives et des présentations visuelles.

VScode

VisualStudio CODE

Editeur de code source développé par Microsoft, connu pour ses fonctionnalités de débogage et de support des extensions.

DrawIO

DRAWIO

Outil disponible en open-source pour créer des diagrammes de flux, des organigrammes et d'autres types de diagrammes.

Github

GITHUB

Plateforme de développement collaboratif et de gestion de code source utilisant Git pour le contrôle de version.

ControlM

CONTROL M

Ordonnanceur, logiciel de gestion des flux de travail et d'automatisation des opérations informatiques, développé par BMC Software.

Airflow

AIRFLOW

Ordonnanceur, plateforme d'orchestration de flux de travail open-source C par Apache, utilisée pour planifier et surveiller des workflows.

AgileTools

Agile Tools

Plateforme d'outils qui facilitent la gestion de projets Agile, aidant les équipes à planifier, suivre et gérer le développement de logiciels, dont un des développeurs est Laurent Dlus, l'Agile Master.

JiraSoftware

JIRA SOFTWARE

Outil de gestion de projets et de suivi des bugs développé par Atlassian, largement utilisé pour les méthodologies Agile.

CONCLUSION

Les six semaines de stage que j'ai effectuées au sein de la SOCIETE GENERALE, à la fin ma première année de BTS SIO, ont été enrichissantes pour ma formation et mon développement professionnel. J'ai eu l'opportunité d'acquérir de nombreuses compétences pratiques tout en mettant en application les connaissances théoriques acquises durant mes cours.

J'ai eu l'occasion de travailler au sein du domaine informatique, dans la feature GOT du service GCC travaillant sur l’application GARLIQ, plus précisément sur la migration de ses chaînes d’orchestration de l’ordonnanceur CONTROL M vers AIRFLOW.

Au sein de l'équipe de développement, j'ai pu approfondir mes connaissances en manipulant les différentes interfaces et applications, et plus particulièrement par la reverse engineering via DrawIO et Python à travers lesquels j’ai redessiné un maximum de chaînes à migrer vers Airflow malgré le temps imparti.

J'ai également découvert des outils liés à la methode et à l’environnement Agile, ce qui m’a sensibilisé sur l’importance de la communication, de l’organisation, de la transparence et de l’optimisation du travail au sein des différentes équipes et membres des équipes travaillant sur un projet commun. La participation à la vie d'une équipe Agile dans un cadre international a contribué à la découverte d’une experience formateuse pour l’avenir de mon parcours.

En conclusion, ce stage au sein de la SOCIETE GENERALE a été une expérience extrêmement positive et enrichissante. J'ai pu mettre en pratique mes connaissances théoriques, développer de nouvelles compétences en développement et contribuer activement aux activités du service dans lequel je me trouvais. Travailler au sein d'une équipe dynamique m'a permis d'apprendre énormément et de confirmer mon intérêt pour le domaine informatique, plus particulièrement pour le développement. J’ai découvert un grand intérêt quant à l’organisation des équipes et l’environnement de travail Agile. Ce stage m'a préparé à relever de nouveaux défis dans ma future carrière et je suis reconnaissante envers la SOCIETE GENERALE pour cette opportunité.



ANNEXE :
Ma présentation de fin de stage aux équipes du domaine informatique.