Artefacts de notre formation

Tables des matière des artefacts :

1. Tableau Lectures individuelle/Articles réflexif

2. Sessions de formation

 – Interculturel

 – Docker

 – Maths

 – Méthodologie

 

3. Projets

 – Kinaps

 – Hackathon

 – Houston call

 

4. Voyage apprenant

5. Contrats

Tableau LI/AR :

 

Auteurs Type d’artefact Titre/Lien
Joanna B. LI Architecture Software
Joanna B. LI Intégration
Joanna B. LI Management multiculturel
Joanna B. AR Transparence
Joanna B. AR Analyse SQL
Joanna B. AR Python
Roald B. LI Apps intégrées à Teams
Roald B. LI Decentralization with Web5
Roald B. LI Holocracy
Roald B. AR AI Security
Roald B. AR Machine Learning Algorithms
Roald B. AR
Maxime D. LI Block Chain
Maxime D. LI OpenID Connect
Maxime D. LI RPA
Maxime D. AR Scrum Master
Maxime D. AR IoT
Maxime D. AR CI/CD Azure et Docker
Hugo F. LI Création et déploiement d’une application Teams
Hugo F. LI Data Mesh
Hugo F. LI
Hugo F. AR Intelligence collective (non corrigé)
Hugo F. AR
Hugo F. AR

 

Sessions de formation :

SF1 – Interculturel:

Cette session de formation a été mise en place pour répondre à un besoin d’amélioration de nos compétences sociales. Pendant le quatrième semestre, nous avons participé à un séminaire IT organisé conjointement avec des écoles finlandaises et espagnoles. Parallèlement, nous avons également commencé à nous préparer pour notre voyage apprenant. Nicolas Debons a eu l’opportunité de partager son expérience acquise au fil de sa carrière. Nous avons abordé divers sujets, notamment l’importance des langues (notamment l’anglais), l’adaptabilité, l’analyse de situations, et le partage d’expériences liées à son voyage en Inde.

Rapport de SF

SF2 – Docker :

Cette session de formation a été conçue pour répondre à un besoin d’amélioration de nos compétences techniques et d’intégration. Durant le projet Hackathon, nous avons constamment dû nous adapter à un environnement dynamique. De plus, nous avons également exploré Docker pour la gestion des pipelines CI/CD lors de nos projets. Malheureusement, nous n’avions pas trouvé de point d’entrée clair. C’est pourquoi nous avons sollicité cette session de formation.

Au cours de cette formation, nous avons pu comprendre la différence entre un conteneur Docker et une image Docker. Nous avons également discuté des avantages d’utiliser Docker dans un projet, de l’utilisation de Docker Compose et du moteur Docker, ainsi que de leur utilisation dans le déploiement continu.

Un conteneur Docker est une instance en cours d’exécution d’une image Docker, avec un ensemble de bibliothèques, de dépendances et de variables d’environnement qui permettent à l’application de fonctionner. Une image Docker, quant à elle, est un modèle en lecture seule qui contient toutes les informations nécessaires pour créer un conteneur Docker.

Docker Compose est un outil pour définir et exécuter des applications multi-conteneurs Docker. Avec Compose, vous utilisez un fichier YAML pour configurer les services de votre application, puis, avec une seule commande, vous créez et démarrez tous les services à partir de votre configuration. Le moteur Docker est le programme qui exécute les conteneurs. Il prend une image Docker et génère un conteneur à partir de celle-ci.

Enfin, Docker est largement utilisé pour automatiser le déploiement continu. Les développeurs peuvent construire des images Docker pour leurs applications, les pousser vers un registre Docker, et ensuite déployer ces images sur des serveurs à l’aide de Docker Engine.

Rapport de SF

SF3 – Maths :

Au cours de ce semestre, nous avons eu pour objectif d’améliorer nos compétences en mathématiques afin de mieux comprendre la science des données. Étant donné la complexité de ce sujet, il n’était pas possible de l’aborder lors d’une séance de laboratoire ou de travail dirigé. Par conséquent, nous avons décidé de procéder à une formation sur les probabilités et statistiques à la fin du semestre.

Cette formation, proposée par Udemy, comprend :

Introduction aux données : Les données sont des informations brutes recueillies à partir de différentes sources. Elles peuvent être mesurées à l’aide de différentes méthodes statistiques. La différence entre une population et un échantillon réside dans le fait qu’une population est l’ensemble complet d’éléments dont on cherche à tirer des informations, tandis qu’un échantillon est une petite partie de cette population. La mesure de tendance permet de déterminer le centre des données, tandis que la mesure de dispersion donne une idée de la variabilité des données. L’écart-type est une mesure de la dispersion qui indique la distance moyenne entre chaque valeur de données et la moyenne de l’ensemble des données.

 

Probabilités : Les probabilités sont utilisées pour quantifier le risque associé à un événement. Les calculs de probabilité impliquent des concepts tels que les permutations et les arrangements (avec et sans répétition), les combinaisons, les intersections et les unions. La probabilité conditionnelle est la probabilité d’un événement A sachant qu’un autre événement B est déjà arrivé, tandis que le théorème de Bayes est utilisé pour mettre à jour les probabilités des événements à la lumière de nouvelles informations.

 

Distributions de probabilité : Les distributions de probabilité sont des fonctions qui décrivent la manière dont les valeurs d’une variable aléatoire se répartissent autour de sa moyenne. Elles incluent des types de distributions comme la distribution uniforme, la distribution binomiale, la distribution de Poisson, la distribution normale, et les scores Z.

 

Statistiques : Les statistiques sont des outils utilisés pour analyser et interpréter les données. Elles incluent des concepts comme l’échantillonnage, qui concerne le processus de sélection d’un sous-ensemble d’observations à partir d’une population plus grande, l’erreur type, qui est une mesure de la précision d’une estimation, le théorème central limite, qui décrit la forme approximative de la distribution des moyennes de grands ensembles d’échantillons indépendants et identiquement distribués, les tests statistiques, qui sont utilisés pour tirer des conclusions sur une population à partir d’échantillons, le seuil de signification, qui est une valeur qui indique si les résultats d’un test sont suffisamment significatifs pour être considérés comme valides, et les erreurs de type 1 et de type 2, qui sont des erreurs commises dans les tests statistiques.

Chaque participant a sélectionné un sujet spécifique, effectué le tutoriel sur Udemy, puis rédigé un rapport sur ce sujet. Après avoir terminé, nous avons présenté nos rapports aux autres participants, mettant l’accent sur notre compréhension de l’application des formules.

Rapport de SF

SF4 – Méthodologie :

Cette session de formation n’a pas été instaurée en réponse à un besoin spécifique pour un projet, mais a été organisée pour couvrir un module obligatoire. Pendant quatre demi-journées, nous avons discuté et effectué des exercices sur la méthodologie de recherche pour un travail de Bachelor. Cette formation nous a grandement aidés car nous étions initialement sans idée de comment aborder notre travail de Bachelor.

Nous avons commencé par des recherches sur les moteurs de recherche d’articles scientifiques : Google Scholar, PubMed, Scopus, IEEE et ScienceDirect. Chacun de ces moteurs a ses propres avantages et inconvénients, notamment en termes de facilité de recherche, de consultation de la valeur d’un article (nombre de citations ou score de l’article) et des thèmes des articles.

Ensuite, nous avons lu des travaux de Bachelor et discuté de leurs points d’amélioration ou de la validité de leurs sources. Nous avons également pu comprendre comment structurer un travail de Bachelor. Pour cela, une méthodologie de recherche doit être rédigée pour inclure les points suivants :

  • Justification du choix du sujet de recherche : Qu’est-ce exactement ?
  • Analyse de cinq étapes clés pour justifier le choix du sujet de recherche :
    1. Identification d’un problème non résolu
    2. Pertinence sociétale
    3. Applicabilité pratique
    4. Passion personnelle
    5. Capacité à contribuer à la théorie existante

Des exemples de situations qui pourraient servir de justification pour le choix d’un sujet sont également fournis. Cette formation nous a permis d’avoir une idée claire des lignes directrices de notre travail de Bachelor. 

Rapport de SF

Projets kinaps

Kinaps est notre premier projet du semestre. Il s’agit d’un projet d’intégration d’une application web dans Microsoft Teams. Kinaps est une application pérmettant de faciliter la collaboration et la visualisation. A propos de Kinaps.

Kinaps avait déjà été intégré à Moodle via l’API. Nous devions faire ce travail pour Microsoft Teams et rédiger un rapport pour faciliter la suite des opérations pour ceux qui allaient continuer notre travail. 

Nous avons éstimé 400 heures de travail pour ce projet. le cahier des charges étant le suivant : 

  • Login unique, SSO
  • Application type « card »
  • Intégration API Kinaps 
  • Arborescence de données entre Teams et server Kinaps maintenu 
  • Gestion single/multi layer 
  • Accès à board 
  • Rapport de projet

Nous avons convenu avec le client de se rencontrer chaque semaine pour présenter les avancements de nos sprints et tenir une présentation PowerPoint des sujets traités. Disponible ici.

Nous avons commencé à nous renseigner sur les différentes technologies que nous allions utiliser.

La première question étant la création d’une application sur Teams. Nous avons utilisé Teams toolkit qui est une extension Visual Studio code pour créer une structure de projet pour notre application Teams. Ce qui nous a permise de mieux comprendre le fonctionnement d’une application teams.

Il existe plusieurs type d’application dans Teams. Nous avons opté pour l’application onglet qui permet de développer au sein d’un Iframe et qui répond à nos besoin. Le début du projet était compliqué car nous avions tendance à nous éparpiller sur plusieurs sujets notamment le déploiement de l’application. Nous avons opté pour avoir un rendu mieux défini à la fin de chaque sprint et une gestion de projet différente. Cela a permis au projet de mieux avancer.

Une autre grande question de ce projet était la connexion SSO ( single sign on) qui est un service d’authentification et de session qui permet à un utilisateur d’utiliser un seul ensemble de identifiants de connexion – par exemple, un nom d’utilisateur et un mot de passe – pour accéder à plusieurs applications.

Dans ce schéma (réalisé par Maxime) nous pouvons comprendre le fonctionnement de la connexion entre l’application Teams et le compte Kinaps.

Le parcours en bleu symbolise l’authentification SSO via Azure AD. Avant d’accéder à l’application, la vérification du jeton d’accès est essentielle pour solliciter le serveur Kinaps. Pour une compréhension approfondie des processus liés au SSO, une ressource détaillée est disponible plus loin.

Le trajet en orange illustre le fonctionnement de l’application et la localisation de ses ressources.

  • Le fichier manifest.json est hébergé au sein de l’application Teams.
  • Le code, qui repose sur une application front-end développée avec le framework React, est hébergé sur Azure Web App.
  • Le contenu affiché via un iframe dans l’application provient d’un serveur nommé Kinaps.
  • Pour assurer la communication avec ce serveur, nous utilisons une API REST.

Appel API Single et MultiLayer

j’ai pu contribuer à ce projet notamment en faisant l’appel API pour le multi layer.

Ce code définit deux fonctions, createMultiLayer et createMultiLayerBoard.

La fonction createMultiLayer fait une requête HTTP POST à une API pour créer une nouvelle salle (ou « room »). Elle utilise l’API Fetch pour envoyer la requête, avec les paramètres de la requête définis dans requestOptions. La requête comprend un en-tête d’autorisation (Authorization) et un corps de requête (body) qui est une chaîne JSON représentant la configuration de la room à créer. Cette fonction ne retourne pas de valeur spécifique.

La fonction createMultiLayerBoard effectue une série d’opérations pour créer un board MultiLayer. Elle commence par obtenir certaines informations à partir du stockage local, puis elle appelle la fonction getFolderByName pour vérifier si certains dossiers existent déjà. Si un dossier n’existe pas, elle l’appelle avec la fonction createTabFolder ou createFolderFromParent pour le créer. Ensuite, elle appelle la fonction createMultiLayer pour créer une room dans le dossier créé précédemment. Enfin, elle appelle la fonction createSingleLayer pour créer un board single layer dans la room créée.

cette fonction utilise également une fonction delay pour attendre un certain nombre de millisecondes entre chaque opération, pour éviter les erreurs dues à des appels trop rapides à l’API.

Le rapport complet est disponible ici afin d’en apprendre plus sur les méthodes de gestion de projet, l’organisation ou les aspects techniques du projet

Projet Hackathon

Nous cherchions un nouveau projet pour compléter notre semestre et on nous a proposé de participer à un Hackathon sur l’identité décentralisée. Un projet autonome peut être difficile à gérer, mais le sujet était fascinant. Nous avons commencé le projet Hackathon le 26 octobre 2023.

L’objectif principal du projet était de créer une application de chat, en utilisant la technologie d’identité décentralisée : Web 5. Notre point de départ était l’application de base disponible sur le site web : https://developer.tbd.website/docs/web5/build/apps/dinger-tutorial

Notre but était d’optimiser les performances et l’utilisation de l’application. La première phase consistait à améliorer le frontend et à améliorer l’aspect général de l’application. Par la suite, nous avions l’ambition d’améliorer l’affichage des messages, de synchroniser les messages et de filtrer les messages. Les phases ultérieures comprenaient l’ajout de la possibilité d’envoyer des photos et d’autres types de médias.

Compte tenu de la taille de notre équipe, chaque membre était impliqué dans tous les projets. Cependant, nous avons choisi de désigner deux personnes comme responsables et plus engagées dans le projet : Joanna et moi. Il convient de mentionner que Roald avait également beaucoup contribué au projet pour comprendre les aspects techniques.

Nous avons commencé par nous familiariser avec les technologies que nous allions utiliser.

Web5 : Web5 est une proposition d’évolution d’Internet qui vise à autonomiser les utilisateurs en leur donnant le contrôle sur leurs données personnelles et leur identité. Il s’agit d’une version décentralisée du web qui fonctionne sur l’infrastructure de la blockchain Bitcoin, détachée de tout réseau blockchain de base et opère entièrement à travers des nœuds web décentralisés. Web5 a été annoncé par l’unité commerciale de Jack Dorsey, TBD, en juin 2022, en réponse aux lacunes de Web3. Le nom « Web5 » est dérivé de la somme de Web2 et Web3. L’idée centrale derrière Web5 est de « vous mettre en contrôle de vos données et de votre identité ». Au lieu d’inviter les utilisateurs à s’inscrire sur une plateforme centralisée, les protocoles Web5 font référence aux utilisateurs par leurs adresses de portefeuille crypto. Web5 est conçu pour fonctionner avec les services Web2 existants et ne cherche pas à les remplacer entièrement.

DID : Les DIDs (Decentralised Identifiers) sont des identifiants qui représentent qui ou quoi que ce soit sur le web décentralisé. Ils peuvent être attribués à une personne, un objet, un modèle de données, voire à toute entité abstraite.

Leur objectif est de donner à un individu ou à une organisation un contrôle sur leur identité. Contrairement aux identifiants traditionnels liés à des fournisseurs de services spécifiques (comme Google, Facebook, Amazon, etc.), les DIDs ne dépendent pas d’une autorité externe centralisée pour valider votre identité.

Un Noeud Web Décentralisé (DWN) est un mécanisme de stockage de données et de relais de messages que les entités peuvent utiliser pour localiser des données publiques ou privées avec des autorisations spécifiques.

Les DWN agissent comme des magasins de données personnels, ce qui signifie que vous possédez vos données. Vous pouvez sauvegarder et synchroniser vos données à différents endroits, ainsi que les envoyer et les recevoir.

Il existe deux types d’autorisations :

  • Autorisations : Elles permettent à quelqu’un de lire, écrire ou supprimer des enregistrements de données spécifiques sur votre nœud. Elles sont actives, manuelles et explicites.
  • Protocoles : Ils installent un protocole qui définit les types de données et les autorisations pour une application web décentralisée. Ils sont passifs et contractuels.

Protocoles : Les protocoles définissent un schéma de données et le contrat qui régule la communication entre deux DWNs. Ils sont écrits en JSON. Chaque document de protocole comprend quelques clés de base :

  • « types » : définit tous les éléments présents dans le protocole
  • « structure » : décrit la relation et les interactions entre les types
  • « $actions » : spécifie un ensemble d’autorisations qui déterminent qui peut effectuer quelles actions sur quel type (lecture/écriture)

Les Verifiable Credentials (VC) sont des attestations numériques qui déclarent des faits spécifiques. Par exemple, une VC pourrait indiquer qu’une personne a obtenu un diplôme de baccalauréat dans une université donnée. Elles permettent de divulguer des attributs spécifiques sans révéler l’identité complète de la personne.

Les VC fonctionnent selon un modèle à trois parties :

  • Émetteur (Issuer) : Signe des attestations concernant le Titulaire.
  • Titulaire (Subject) : Possède l’attestation signée par l’Émetteur.
  • Vérificateur (Verifier) : Peut effectuer une vérification

De nombreuses Verifiable Credentials (VC) sont utilisées avec des JSON Web Tokens (JWT) pour la vérification. Voici le processus en trois étapes :

      • Alice présente sa Verifiable Credential, qui certifie qu’elle a obtenu un diplôme (VC avec JWT), à un futur employeur.
      • L’employeur utilise la clé publique de l’université pour vérifier la signature du JWT.
      • Si la vérification réussit, cela démontre que Alice a effectivement obtenu son diplôme.

Agents : Les agents sont des logiciels qui agissent en tant que représentants de l’utilisateur, gérant l’identité, les données et les interactions avec d’autres applications. Ils constituent une « boîte » contenant des identifiants décentralisés (DIDs), des clés privées et un document de représentation de l’identité décentralisée (DWN).

DID : DIDComm est un ensemble d’outils qui permet d’établir des canaux de communication horizontaux et bidirectionnels entre deux sujets qui ne connaissent que leurs DIDs. Ce protocole est utilisé par web5, où ces canaux sont sécurisés et chiffrés.

DIDComm V2, actuellement en développement, vise à :

  • Assurer une sécurité optimale grâce au chiffrement de bout en bout et à la préservation de l’intégrité
  • Offrir une confidentialité totale grâce au chiffrement de bout en bout et à la possibilité d’anonymat
  • Favoriser une décentralisation en utilisant des DIDs pour établir la confiance
  • Permettre une indépendance du transport, en utilisant par exemple HTTPS, WebSockets, Bluetooth, les notifications push, libp2p, SMTP, NFC, etc.
  • Assurer une routabilité, comme les e-mails, sans nécessiter de connexion directe
  • Offrir une interopérabilité, fonctionnant à travers différents langages de programmation, chaînes de blocs, systèmes d’exploitation, réseaux, juridictions légales, matériels, etc.
  • Faciliter l’extensibilité, avec une mise en place facile et une personnalisation aisée
  • Maximiser l’efficacité, sans gaspillage de bande passante, de batterie, de stockage, de CPU, etc.

DIDComm est un protocole qui permet la communication entre des agents, basé sur des messages asynchrones, similaires aux e-mails.

Architecture :

Dossier .github/workflows : Contient des workflows GitHub Actions pour l’automatisation des tâches CI/CD.

Dossier .next : Dossier généré par Next.js lors de la construction ou du démarrage de l’application; il contient des fichiers de sortie compilés et optimisés.

Dossier node_modules : Dossier contenant les modules Node.js installés, les dépendances du projet.

Dossier public : Dossier pour les fichiers statiques accessibles publiquement comme les images, les fichiers robots.txt, etc.

Dossier src : Le dossier source principal qui contient le code de l’application.

Dossier components : Contient des composants réutilisables de React.

Dossier icons : Contient des composants d’icônes SVG ou des images.

Fichier   layouts/Discussion : Composants spécifiques pour la mise en page des discussions dans l’application de chat.

Fichier discussion.data.mock.js : Données fictives pour simuler des discussions pour les tests ou le développement.

Fichier Discussion.js : Composant React pour la vue de discussion.

Fichiers : Chat.js, NewChatModal.js, ProfilModal.js, UserChatItem.js : Autres composants relatifs à l’interface de chat.

Dossier enums : Contient des énumérations JavaScript, pour la gestion de constantes ou d’états.

Dossier pages : Contient des fichiers qui sont mappés aux routes par Next.js.

Dossier api : Dossier pour les endpoints API du côté serveur.

Fichiers : _app.js, _document.js : Fichiers spéciaux pour la personnalisation globale dans Next.js.

Fichiers : Home.js, NewHome.js : Composants pour les pages d’accueil.

Fichiers :  index.js : Point d’entrée pour la page racine.

Dossier : styles : Contient des fichiers CSS globaux.

Dossier utils : Fonctions utilitaires, comme messenger.util.js pour des opérations communes dans l’application.

Fichiers .gitattributes & .gitignore : Fichiers de configuration Git pour attributs et exclusion de fichiers.

Fichier azure-pipelines.yml : Configuration pour Azure Pipelines, un service d’intégration continue.

Fichier Dockerfile : Fichier pour créer un conteneur Docker pour l’application.

Fichier jsconfig.json, next.config.js, package.json, package-lock.json : Fichiers de configuration pour JavaScript, Next.js, et npm.

Fichier playwright.config.js : Configuration pour Playwright, un outil pour les tests d’interface utilisateur automatisés.

Fichier postcss.config.js : Configuration pour PostCSS, un outil pour transformer le CSS avec JavaScript.

Fichier tailwind.config.js : Configuration pour Tailwind CSS, un framework CSS.

Rapport de projet

Lien vers le projet GitHub

Houston Call

Le Houston Call est une soirée organisée par les étudiants des différentes Teams Academy. L’objectif est de réaliser des ateliers ludiques qui permettent de faire découvrir les Teams Academy entre elles, aux professeurs et aux membres de la HES-SO ainsi qu’à l’extérieur. Pour cela, nous avons préparé un atelier en montrant différentes parties de notre formation. Nous avons choisi de présenter un atelier avec plusieurs thèmes :

Les deuxième année ont tenu un stand en haut pour présenter plus généralement notre formation.

Cette soirée a permis de renforcer les liens entre les teams academy et d’obtenir une idée des projets sur lesquels chaque filière travaille. Nous avons aussi eu l’occasion d’échanger plus librement entre nous. Ce fut un moment convivial où chaque filière (business, nurcing, social et digital) a pu se sentir intégrée, contrairement aux années précédentes.

Nous avons également organisé une soirée moins formelle pour rassembler les teams academy. Nous avons organisé une soirée jeux vidéo avec des tournois et un stand de nourriture et de boisson. Cette soirée a été un succès et nous avons reçu beaucoup de retours positifs.

Rapport de projet Houston Call

Voyage apprenant :

Bellgrade, Serbie – 15-25 Novembre 2023

Lors de ce semestre nous avons pu faire notre premier voyage apprenant. Nous avons du organiser l’entierté de ce voyage dans les dates fixes du 15 au 25 novembre 2023. Nous avons parcouru différentes déstination en fonction de nos critères et Belgrade répondait à la majorité de ces critères, soit de quoi s’occuper avec différentes conférances, un environnement changeant qui nous pousses hors de notre zone de confort et un budget raisonnable. Nous nous sommes concertés et nous avons réservé nos billets d’avion et de conférence ainsi que 2 chambres d’hotel.

Arrivé à Bellgrade, nous avons pris nos repaires en nous installant dans nos chambres d’hotel et en découvrant la ville. très rapidement nous avons pu constater que la culture était proche mais en même temps diffèrente de la notre. J’ai bien aimé l’ambiance de cette ville chargé en histoire.

Jeudi et vendredi – Conférence SCRUM

Jeudi :

Agile game development – Stefan Stojkovic

The lost art of mastery reigniting excellence in Agile development

sky high peaks of production management in game development

Vendredi :

Leading a company with SCRUM values – Simo Vuleta

How to apply quantum computers to real problems – Stig Elkjaer Rasmussen

(Je n’ai pas eu le temps de résumer correctement les conférences pour les valider dans le portfolio. Mes notes et celles de mes camarades sont un peu dispersées dans divers fichiers, ainsi que les diapositives disponibles en photo ou PowerPoint. Je réfléchis à la manière de faire un résumé clair et utile des conférences et des apprentissages réalisés pour l’évaluation du 24 janvier.)

Cette conférence était à la base plus pour combler les trous de notre planning, à la base nous voulions plutôt visiter une entreprise local et découvrir le méthode de travail. Mais finalement ce fût très intéressant. Nous avons pu découvrir comment les serbes travaillent et comment ils utilisent les méthodes Agile. On a rapidement senti qu’il y a une volonté d’intégrer ces méthodes mais que cela reste difficle pour certains. Cela est probablement lié à leur culture un peu différente. La majorité des participants étaient serbes et nous avons du demander plusieurs fois de parler en Anglais dans les petites salles. Mon seul regret est de n’avoir pas participer à un worshop. Je me suis rapidement rendu compte que mon niveau faible en Anglais ne m’aidait pas à communiquer. J’ai du m’adapter pour comprendre les conférence en nottant les point clés pour me renseigner plus tard ou en traduisant en directe les slides des présentation avec google traduction.

Week-end :

Découverte de la ville et du musé Nicolas Tesla

Ce week-end était chargé mais très agréable. Nous avons eu l’occasion de visiter la vieille ville et la forteresse de Belgrade, ainsi que les nouveaux quartiers. Le lendemain, nous avons fait un voyage à l’autre bout de la ville pour visiter le musée de Nikola Tesla et l’église orthodoxe Saint-Sava, qui est récente mais impressionnante.

Conférence Data Science – DSC Europe 2023 :

Lundi-Mardi Tutoriel en ligne :

LLM APPLICATIONS WITH LANGCHAIN

FALL IN LOVE WITH THE DATA TRANSFORMATION – DBT AS YOUR NEW WEAPON OF CHOICE

STORYTELLING THROUGH DATA

CREATE ML FRAMEWORK – INTRODUCTION TO NO-CODE ML (pas suivi entèrement car pas Xcode pour faire le tuto)

MODEL VALIDATION USING DEEP GENERATION OF STRESS DATA (difficile à suivre car poussé en mathématique)

Mercredi-Vendredi conférences physique Sava Center :

Le reste de la semaine, nous avons suivi les conférences qui nous semblaient intéressantes ou utiles parmi les nombreuses salles et conférences proposées. Il y avait environ six salles de conférence, y compris le main-stage qui pouvait accueillir un grand nombre de personnes.

J’ai pu suivre les conférences suivantes :

What will data science be when it grow up?

From data lake to data mesh

Data science in gaming

Data lakehouse : who, why and how

DataOps & MLOps in Bosch: NLP development in kubernetes made easy

AI impact on Cybersecurity and privacy

Advanced Security technologies

Brake session : Prompt engineering

Nous avons eu l’opportunité de passer du temps avec Nicolas, le responsable de notre département, ce qui a été très éclairant. Nous avons pu discuter librement de sa vision du monde du travail et de l’informatique en général, ainsi que de ses nombreux voyages.

Je garde un souvenir très positif de ce voyage. Il m’a encouragé à sortir de ma zone de confort, à faire un effort pour communiquer en anglais et à perturber ma routine quotidienne. De plus, il a renforcé les liens entre notre équipe en partageant des moments ensemble.

Mes apprentissages :

Rapport du Voyage Apprenant 

Contrats 

J’ai rédigé un contrat d’apprentissage en début de semestre avec des objectifs concrets mais je n’ai pas réussi à tenir mes engagements. Voici le contrat.

Nous avons aussi un contrat d’équipe qui définit nos valeurs et les règles que nous nous sommes fixé. Nous n’avons pas eu à l’utiliser lors de ce semestre. Voici le contrat.