Semestre 4
Compétences
B1

Compétence B1

Savoir gérer les exigences

  • Quoi :

Cette compétence inclut la capacité d'identifier, de documenter, d'analyser, de prioriser et de suivre les exigences tout au long du processus de développement d'un projet. Elle nécessite une compréhension approfondie des besoins des utilisateurs et des parties prenantes, ainsi que la capacité de convertir ces besoins en spécifications techniques et fonctionnelles claires.

  • Comment :
  1. Formation et Documentation : Lors de ma lecture du individuel "Découvrez le cloud avec Amazon Web Services" du cours OpenClassrooms sur AWS, j'ai acquis une compréhension approfondie des différents types de services cloud (IaaS, PaaS, SaaS) et de leurs applications spécifiques. Cette connaissance m'a permis de gérer les exigences de projets en choisissant les solutions cloud les plus adaptées aux besoins et contraintes techniques.
  2. Priorisation des Fonctionnalités : Lors du projet Koloka, j'ai été confronté à des contraintes de temps qui m'ont poussé à renoncer à rendre le site responsive pour les appareils mobiles. J'ai dû prioriser les fonctionnalités principales du projet afin de garantir le bon fonctionnement de l'application web. Cette expérience m'a appris à gérer les exigences et à faire des choix difficiles mais nécessaires pour le succès du projet.
  3. Analyse et Sélection d'Options : Pour le projet Koloka, j'ai démontré ma capacité à gérer les exigences en choisissant de déployer l'application web sur Infomaniak au lieu d'AWS. Cette décision a été prise après une analyse approfondie des exigences de protection des données en Suisse et des engagements environnementaux de l'hébergeur.
  4. Méthode Agile : Utilisation de la méthode Agile pour gérer les exigences du projet Koloka. J'ai participé à la planification des sprints, à la définition des tâches et à l'évaluation des exigences pour chaque itération. Cette approche m'a permis de gérer efficacement les besoins changeants du projet et de garantir une livraison continue de fonctionnalités de qualité.

Extrait du backlog de Koloka

  1. Adaptation Agile : Utilisation de la méthode Agile pour gérer les exigences du projet CIMO. J'ai participé à la planification des sprints, à la définition des tâches et à l'évaluation des exigences pour chaque itération. Cette approche m'a permis de gérer efficacement les besoins changeants du projet et de garantir une livraison continue de fonctionnalités de qualité.

Extrait du backlog de CIMO

  1. Réunions Hebdomadaires : Tous les lundis matins, nous organisions un "weekly meeting" entre les membres de l'équipe pour planifier la semaine, discuter des tâches accomplies, et identifier ce qui restait à faire. Ces réunions étaient essentielles pour aligner les attentes, ajuster les priorités et assurer une communication fluide au sein de l'équipe.
  • Pourquoi :

Savoir gérer les exigences est essentiel pour assurer la réussite d'un projet. Cette compétence permet de s'assurer que les attentes des parties prenantes sont bien comprises et prises en compte tout au long du cycle de développement. En identifiant et en priorisant les exigences, on peut s'assurer que les ressources sont utilisées de manière optimale et que les fonctionnalités essentielles sont livrées en temps voulu. De plus, une gestion efficace des exigences permet de réduire les risques de déviation par rapport aux objectifs du projet et de garantir que le produit final répond aux besoins des utilisateurs.

  • Application pratique :

En appliquant cette compétence, j'ai pu mener à bien plusieurs projets en respectant les exigences et les contraintes. Par exemple, dans le projet Koloka, la sélection de la solution d'hébergement Infomaniak en raison des exigences spécifiques de protection des données a démontré ma capacité à analyser et à répondre aux besoins des parties prenantes. L'utilisation de la méthode Agile m'a permis de rester flexible et de m'adapter aux changements de priorités tout en assurant une livraison continue de fonctionnalités.

  • Réflexion personnelle :

Gérer les exigences de manière efficace m'a permis de développer une compréhension plus approfondie des besoins des utilisateurs et des parties prenantes. Chaque projet m'a appris l'importance de la communication claire et de la documentation précise des exigences. La méthode Agile, en particulier, m'a montré comment rester adaptable et réactif face aux changements. Ces expériences m'ont convaincu que la gestion des exigences est une compétence cruciale pour tout professionnel de l'informatique de gestion, car elle garantit que les projets sont alignés sur les objectifs des clients et qu'ils répondent aux attentes en termes de qualité et de fonctionnalité.

S'adapter aux différentes cultures (multipartenaires et multiservices)

  • Quoi :

Cette compétence implique la capacité de comprendre et de s'adapter aux différentes normes culturelles et pratiques professionnelles lors de la collaboration avec des partenaires et des services variés. Elle englobe la communication efficace, le respect des diverses perspectives et la capacité de naviguer dans des environnements multiculturels pour faciliter la coopération et le succès des projets.

  • Comment :

J'ai participé à l'IT Seminar qui se déroulait en Finlande à Helsinki, avec des participants suisses, espagnols et finlandais. Chaque pays devait organiser des activités.

Dans l'équipe suisse, il y avait deux groupes. J'étais dans le premier groupe avec mes camarades de classe, et nous avons animé un workshop sur notre projet, qui était le développement d'un assistant de police IA. Ce projet visait à établir un processus de détermination des suspects à partir d'images, de textes et d'émotions, en utilisant des modèles pré-entraînés sur Python. L'autre groupe suisse a travaillé sur le thème de la cybersécurité en organisant un CTF (Capture the Flag).

Les Finlandais nous ont proposé un workshop avec un Arduino, où nous avons assemblé des composants et programmé un module GPS. Les Espagnols, quant à eux, ont organisé un workshop sur Unity et sur les casques VR, nous permettant de programmer des fonctionnalités pour un avion virtuel et d'expérimenter la réalité virtuelle.

Cette expérience m'a permis de m'adapter aux différentes cultures et méthodes de travail. J'ai collaboré avec des partenaires et des services variés, développant une meilleure compréhension et appréciation des pratiques multiculturelles dans un cadre professionnel.

Photo en Finlande de l'IT Seminar

  • Pourquoi :

S'adapter aux différentes cultures est crucial dans le contexte professionnel actuel où les projets impliquent souvent des équipes internationales et des partenaires diversifiés. Cette compétence permet d'améliorer la communication et la coopération entre les membres de l'équipe, de réduire les malentendus et les conflits, et d'enrichir les solutions proposées grâce à la diversité des perspectives. En comprenant et en respectant les normes culturelles, on peut bâtir des relations de travail plus solides et plus efficaces, ce qui conduit à une meilleure performance globale du projet. En outre, cette compétence est essentielle pour naviguer dans des environnements mondialisés où les interactions interculturelles sont fréquentes et inévitables.

  • Application pratique :

En appliquant cette compétence, j'ai pu mener à bien plusieurs projets en respectant les exigences et les contraintes. Par exemple, dans le cadre de l'IT Seminar en Finlande, j'ai pu collaborer efficacement avec des participants de cultures différentes pour organiser et animer des workshops. Cette expérience m'a appris à adapter mes méthodes de communication et de travail en fonction des normes culturelles spécifiques, ce qui a contribué au succès des activités. De plus, travailler sur des projets techniques comme le développement de l'assistant de police IA et les ateliers sur Arduino et Unity m'a permis d'acquérir des compétences pratiques tout en respectant les pratiques multiculturelles.

  • Réflexion personnelle :

Participer à des projets multiculturels a été une expérience profondément enrichissante. J'ai développé une meilleure compréhension des différentes cultures et des méthodes de travail, ce qui m'a permis de devenir plus adaptable et flexible dans un environnement professionnel. Travailler avec des partenaires internationaux m'a appris l'importance de la communication claire et du respect mutuel. Cette expérience m'a également montré que la diversité des perspectives peut conduire à des solutions plus innovantes et efficaces. En fin de compte, s'adapter aux différentes cultures a renforcé ma capacité à travailler en équipe et à mener des projets avec succès dans un contexte globalisé.

Choisir des techniques de créativité pour générer des idées

  • Quoi :

Cette compétence consiste à sélectionner et à utiliser diverses techniques de créativité pour stimuler l'innovation et la génération d'idées. Elle implique la connaissance et l'application de méthodes telles que le brainstorming, le mind mapping, le SCAMPER, et d'autres outils de pensée créative pour encourager la collaboration et l'émergence de solutions nouvelles et originales.

  • Comment :
  1. Projet Koloka - Architecture de Cluster Kubernetes : Pour concevoir l'architecture de cluster Kubernetes (k8s) du projet Koloka, j'ai utilisé Excalidraw pour créer un schéma détaillant les interactions entre les nœuds maîtres et travailleurs, ainsi que la gestion des ressources au sein des pods. Le schéma montre comment le service de répartition de charge (LB Service) distribue les requêtes entre les pods, avec des configurations minimales et maximales de RAM et de CPU pour chaque pod. Ce schéma a aidé l'équipe à visualiser et comprendre la structure complexe du cluster Kubernetes.

Schéma k8s du projet Koloka

  1. Projet CIMO - Modélisation des Tables : Pour le projet CIMO, j'ai utilisé tldraw pour dessiner ma table de faits et de dimensions ainsi que les relations entre elles. Le schéma montre trois tables principales : la Table Dimension Lieu, la Table de Fait : Mesure, et la Table Dimension Parametre. Cette visualisation a permis de clarifier la structure de la base de données pour l'équipe et d'assurer que toutes les relations nécessaires étaient bien définies.

Schéma des tables du projet CIMO

  1. Gestion des Bugs dans Koloka : Avant la publication du site en production (staging), j'ai noté sur Excalidraw tous les bugs que je rencontrais. Lors de la première inscription ou connexion, une erreur apparaissait dans le chat. Une fois connecté, plusieurs problèmes survenaient : une erreur lors de la consultation des kolokations, une erreur lors de la recherche d'un lieu en appuyant sur le bouton de recherche, l'impossibilité d'accéder au profil, et le bouton "s'inscrire" restait visible alors qu'on était déjà connecté. La visualisation des bugs a facilité la priorisation et la résolution rapide des problèmes.

Schéma des bugs sur Koloka

  1. Préparation pour l'IT Seminar : Avant de partir pour l'IT Seminar, mon groupe et moi avons dessiné le schéma du workshop pour que chaque personne soit au clair sur les tâches à accomplir. Nous avons utilisé un tableau blanc pour visualiser les différentes étapes et les responsabilités de chacun. Le premier schéma détaille les différentes analyses à réaliser : analyse d'image, analyse d'objets dans les images, comparaison d'objets et de textes (Boolean), et analyse textuelle.

Schéma pour l'IT Seminar

Le deuxième schéma illustre la pipeline du projet : de l'entrée des données (images du crime et des suspects) à l'analyse finale des émotions et des objets présents dans les scènes. Chacun a pu voir clairement les relations entre les différentes tâches et comment elles s'imbriquent pour aboutir au résultat final. Ces schémas ont permis de structurer notre travail et d'assurer une coordination efficace au sein de l'équipe.

Schéma pour l'IT Seminar

  • Pourquoi :

Choisir et utiliser des techniques de créativité est crucial pour encourager l'innovation et trouver des solutions originales aux problèmes. Ces méthodes permettent de structurer la pensée et d'ouvrir de nouvelles perspectives, favorisant ainsi la collaboration et la génération d'idées novatrices. En appliquant des techniques de créativité, on peut mieux explorer les possibilités, optimiser les ressources et développer des solutions plus efficaces et adaptées aux besoins des utilisateurs et des parties prenantes.

  • Application pratique :

En appliquant ces techniques de créativité, j'ai pu non seulement surmonter des défis techniques, mais aussi apporter des améliorations significatives à nos projets. Par exemple, la visualisation de l'architecture Kubernetes avec Excalidraw a aidé l'équipe à mieux comprendre les interactions complexes et à optimiser la gestion des ressources. De même, les schémas de bugs et les diagrammes de workflow pour l'IT Seminar ont amélioré la communication et la coordination au sein de l'équipe, garantissant une exécution plus fluide des tâches.

  • Réflexion personnelle :

L'utilisation de techniques de créativité m'a permis de voir les projets sous un angle différent et d'aborder les problèmes avec une perspective plus ouverte et innovante. Chaque méthode appliquée a enrichi ma capacité à penser de manière structurée tout en étant flexible et adaptative. Les réunions hebdomadaires ont souligné l'importance de la planification et de la communication constante, tandis que les visualisations graphiques ont renforcé l'efficacité de la collaboration. Ces expériences m'ont convaincu que la créativité est une compétence essentielle dans le domaine de l'informatique de gestion, permettant de naviguer avec succès dans des environnements complexes et en constante évolution.

Être capable d'identifier la valeur des différentes données de l'entreprise

  • Quoi :

Cette compétence implique la capacité d'évaluer et de reconnaître l'importance et la pertinence des différentes données au sein de l'entreprise. Elle nécessite une compréhension des types de données, de leur potentiel d'analyse, et de leur contribution aux objectifs stratégiques de l'organisation. Elle inclut aussi la capacité d'identifier les données critiques pour la prise de décision et l'optimisation des processus.

  • Comment :
  1. Mandat 2 du Projet CIMO :
  • Réorganisation des fichiers Excel :

    • J'ai réorganisé un ensemble de fichiers Excel couvrant plusieurs années, initialement structurés en tableaux croisés dynamiques multidimensionnels.
    • Ensuite, j'ai converti ces fichiers en une table delta brute dans Microsoft Fabric via un pipeline (DataPipeline), en exécutant divers flux de données (DataFlow Gen 2).
    • J'ai utilisé l'outil ETL Power Query pour extraire et structurer les données.
  • Résultat : Les fichiers Excel ont été reconstruits sous la forme d'une seule table de données brutes (bronze).

    • Enrichissement des données (Gold) :
    • L'équipe a développé un pipeline (DataPipeline) pour enrichir les données (gold) vers le datawarehouse.
    • J'ai contribué à la création de la table de faits et de ses dimensions à partir de la table silver unique.
    • j'ai pu construire le modèle sémantique (jointure).
  • Création du tableau de bord :

    • J'ai conçu un tableau de bord comportant des visualisations de données concrètes et exploitables.

Extrait du dashboard CIMO

  • Analyse des Données :

    • J'ai appris à utiliser des outils d'analyse de données tels que PowerBI pour créer des visualisations claires et informatives.
    • J'ai également suivi des formations sur l'analyse des données et l'apprentissage automatique pour comprendre comment extraire des informations pertinentes et actionnables à partir de grands ensembles de données.
  • Collaboration avec les Parties Prenantes :

    • J'ai travaillé en étroite collaboration avec les parties prenantes pour comprendre leurs besoins en matière de données et pour identifier les indicateurs clés de performance (KPI) importants pour leur prise de décision.
    • Cette collaboration m'a permis de mieux aligner les analyses de données avec les objectifs stratégiques de l'entreprise.
  • Utilisation de Méthodologies Avancées :

J'ai utilisé des méthodologies avancées pour nettoyer, transformer et enrichir les données, afin de garantir leur qualité et leur pertinence selon l'architecture en médaillon.

  • Pourquoi :

Être capable d'identifier la valeur des différentes données de l'entreprise est crucial pour plusieurs raisons :

  • Prise de décision efficace : Les données pertinentes et bien analysées permettent de prendre des décisions éclairées et stratégiques, basées sur des faits et non des suppositions.

  • Optimisation des processus : En comprenant quelles données sont critiques, l'entreprise peut optimiser ses processus et améliorer son efficacité opérationnelle.

  • Avantage concurrentiel : Une analyse de données approfondie peut révéler des opportunités de marché et des insights précieux, donnant ainsi un avantage concurrentiel à l'entreprise.

  • Alignement stratégique : Les données permettent de mesurer et de suivre les performances par rapport aux objectifs stratégiques, assurant ainsi que les efforts de l'entreprise sont alignés avec sa vision et ses missions.


  • Application pratique :

En appliquant cette compétence, j'ai pu transformer des ensembles de données complexes en informations exploitables. Par exemple, lors du mandat 2 du projet CIMO, j'ai réorganisé et enrichi les données pour les rendre plus accessibles et utiles pour les prises de décision. Le tableau de bord que j'ai créé a permis aux parties prenantes d'obtenir des insights rapides et précis, facilitant ainsi une prise de décision informée. Cette capacité à gérer et à valoriser les données a contribué à l'efficacité opérationnelle et à l'atteinte des objectifs stratégiques de l'entreprise.

  • Réflexion personnelle :

Travailler sur l'identification et l'analyse des données de l'entreprise m'a permis de comprendre l'importance cruciale des données dans le monde moderne. Chaque étape du processus, de la réorganisation des fichiers Excel à la création de tableaux de bord interactifs, m'a montré combien il est vital de traiter les données avec rigueur et précision. J'ai appris que les données ne sont pas seulement des chiffres et des statistiques, mais des outils puissants qui peuvent orienter et transformer les stratégies d'une entreprise. Ces expériences m'ont convaincu de l'importance de développer continuellement mes compétences en gestion et en analyse de données pour rester pertinent et efficace dans le domaine de l'informatique de gestion.

Appliquer les principes de l'éthique, du droit et de la protection de données (« ethical hacking », droit de la personnalité, licences Open source, etc.)

  • Quoi :

Cette compétence englobe l'application des principes éthiques, juridiques et de protection des données dans divers contextes, tels que le "ethical hacking", le respect du droit de la personnalité, et l'utilisation correcte des licences open source. Elle nécessite une connaissance approfondie des lois et réglementations pertinentes, ainsi qu'une capacité à mettre en œuvre ces normes pour garantir la sécurité, la confidentialité et l'intégrité des données tout en respectant les droits des individus et des entités.

  • Comment :
  1. J'ai intégré les principes de l'éthique et du droit en choisissant un hébergeur suisse (Infomaniak) respectant la LPD, plus stricte que le RGPD. Cette décision a non seulement assuré la conformité légale de notre application, mais a également renforcé la protection des données de nos utilisateurs.

Extrait d'un service d'Infomaniak (Jelastic)

  1. LI openSource : "Licence Open Source, entre mythes et réalité"

    • Introduction :

    Le concept de l'open source m'a intrigué par sa capacité à transformer la manière dont les logiciels sont développés et partagés. J'ai compris que l'open source repose sur la transparence, la collaboration et le partage, des principes qui favorisent une innovation rapide et une amélioration continue des logiciels. L'exemple du noyau Linux, initié par Linus Torvalds en 1991, illustre bien comment un projet open source peut croître et devenir un pilier de l'industrie technologique.

    • Licence Open Source :

    J'ai assimilé que les licences open source jouent un rôle crucial en définissant les conditions d'utilisation, de modification et de distribution des logiciels. Elles assurent que le logiciel reste accessible à tous, tout en protégeant les droits des auteurs et des contributeurs. Les licences les plus courantes, comme la MIT, Apache, GPL et BSD, offrent différentes approches en matière de liberté d'utilisation et de modification du code source.

    • Les Licences Open Source :

    La distinction entre les licences Copyleft et Permissive est essentielle pour comprendre les différentes philosophies de l'open source. Les licences copyleft, comme la GPL, garantissent que toutes les versions modifiées restent également ouvertes, ce qui protège la liberté du logiciel. En revanche, les licences permissives, telles que la MIT et Apache, offrent une plus grande flexibilité, permettant même une utilisation commerciale sous des licences propriétaires.

    • Exemples Concrets :

    Les exemples de logiciels comme Apache HTTP Server, Handbrake et Open Project m'ont aidé à voir comment ces licences sont appliquées dans la pratique. Apache HTTP Server, sous licence Apache, est un excellent exemple de logiciel open source utilisé à grande échelle pour héberger des sites web. Handbrake, sous licence GPL, montre l'importance de maintenir le logiciel libre tout en permettant des contributions de la communauté. Open Project illustre comment un logiciel peut être libre tout en ayant une version commerciale avec des fonctionnalités supplémentaires.

    • Concepts de l’Open Source :

    Les concepts clés tels que dépôt, contributeur, mainteneur, pull request et fork m'ont aidé à comprendre les mécanismes de collaboration et de gestion dans les projets open source. J'ai appris que les dépôts sont des espaces de stockage pour le code source, les contributeurs participent au développement, les mainteneurs gèrent le projet, et les pull requests permettent de proposer des modifications. Les forks permettent de créer des copies indépendantes pour expérimenter ou développer de nouvelles fonctionnalités.

    • Avantages et Inconvénients :

    J'ai assimilé que l'open source présente de nombreux avantages, tels que la collaboration mondiale, la transparence, la sécurité et la fiabilité accrues. Cependant, il comporte également des défis, notamment la gestion des contributions, le risque de fragmentation et la dépendance à la communauté pour le support.

    • Open Source en Entreprise :

    Les avantages de l'open source pour les entreprises sont clairs : innovation, flexibilité, réduction des coûts, transparence, support communautaire, interopérabilité et sécurité. Toutefois, j'ai également pris conscience des inconvénients potentiels, comme les vulnérabilités connues, les packages compromis, les attaques des « homonymes », l'incompatibilité du code, l'obsolescence des programmes, les dépendances non suivies, les risques réglementaires et de licences, et l'immaturité de certains programmes.

  • Pourquoi :

Appliquer les principes de l'éthique, du droit et de la protection des données est crucial pour garantir la sécurité, la confidentialité et l'intégrité des informations dans le développement de logiciels. Cela permet de protéger les utilisateurs et les organisations contre les abus, les violations de données et les litiges juridiques. En respectant ces principes, on renforce la confiance des utilisateurs et des parties prenantes, ce qui est essentiel pour la réputation et la pérennité des projets. De plus, l'adoption de pratiques éthiques et conformes aux réglementations favorise une innovation responsable et durable.

  • Application pratique :

En appliquant cette compétence, j'ai pu assurer la conformité légale et éthique de plusieurs projets. Par exemple, le choix de l'hébergeur suisse pour le projet Koloka a garanti la protection des données sensibles conformément à la législation locale. La compréhension et l'application des licences open source ont permis de respecter les droits des auteurs et de bénéficier de la collaboration communautaire sans violer les termes de licence.

  • Réflexion personnelle :

Mettre en œuvre les principes de l'éthique, du droit et de la protection des données m'a permis de prendre conscience de l'importance de la responsabilité dans le développement technologique. Chaque décision prise pour garantir la conformité et la sécurité des données a renforcé ma compréhension des implications juridiques et éthiques des technologies que nous utilisons. Cela m'a également sensibilisé à l'importance de la transparence et du respect des droits des utilisateurs. En somme, ces expériences m'ont convaincu que l'adhésion à des principes éthiques et juridiques stricts est essentielle pour le développement de solutions technologiques fiables et respectueuses des droits de tous.

Last updated on June 21, 2024