Portfolio de Dasek Joiakim - Semestre 4
Semestre 3
B3

Compétence B3

Maîtriser et appliquer les techniques d’analyse business

Les techniques d'analyse business sont des méthodes utilisées pour comprendre et évaluer les divers aspects d'une entreprise, de ses opérations à ses performances de marché. Elles permettent aux analystes et aux gestionnaires de prendre des décisions éclairées en se basant sur des données, des tendances et des prévisions. Les techniques courantes comprennent l'analyse SWOT (forces, faiblesses, opportunités, menaces), l'analyse PESTEL (politique, économique, social, technologique, environnemental, légal), etc...

Dans le contexte du projet Koloka, une plateforme de mise en relation entre colocataires et propriétaires, plusieurs techniques d'analyse business pourraient être appliquées pour optimiser la stratégie de développement et la prise de décision :

Session de formation

Lors de la session de formation sur Koloka j'ai pu apprendre comment faire une analyse business pour le projet Koloka. Cette session de fomation m'a permis de comprendre les différents aspects suivants :

  • Koloka : Plateforme de matching entre colocataires et propriétaires.
  • MVP : Site web pour le matching, puis ajout de fonctionnalités.
  • Stratégie : Développement, déploiement, amélioration continue.
  • KPIs : Nombre d'utilisateurs, croissance, annonces.
  • Contenu : Réseaux sociaux, SEO/SEA, collaborations.
  • Objectif : Devenir la plateforme n°1 pour colocations.

J'ai demandé des ressources comme l'analyse PESTEL ainsi que la stratégie de Koloka

Analyse SWOT

J'ai aussi effectué une analyse SWOT pour Koloka afin de comprendre les forces, faiblesses, opportunités et menaces de la plateforme. Cette analyse m'a permis de comprendre les points suivants :

Forces (Strengths)

  1. Innovation du Système de Matching : La plateforme utilise un système de matching basé sur la personnalité, offrant une approche unique pour trouver la compatibilité entre propriétaires et colocataires.
  2. Marché Ciblé en Suisse : Le projet est spécifiquement adapté au marché suisse, tenant compte des particularités locales en termes de logement et de culture.
  3. Satisfaction des Utilisateurs : En mettant l'accent sur la compatibilité des personnalités, le projet a le potentiel d'augmenter la satisfaction et de réduire les conflits entre colocataires et propriétaires.

Faiblesses (Weaknesses)

  1. Complexité de l'Algorithme : La création d'un système de matching basé sur la personnalité peut être complexe et nécessiter une analyse approfondie et précise.
  2. Dépendance aux Données Utilisateurs : La réussite du matching dépend de la qualité et de la véracité des informations fournies par les utilisateurs.
  3. Limitation du Marché : La concentration sur le marché suisse peut limiter la croissance à long terme du projet.

Opportunités (Opportunities)

  1. Tendance à la Colocation : Avec l'augmentation des prix de l'immobilier, la colocation devient une option de plus en plus populaire, élargissant ainsi le marché potentiel.
  2. Technologie Évolutive : L'intégration de nouvelles technologies (comme l'IA) peut améliorer l'efficacité du système de matching.
  3. Expansion Internationale : Une fois établi en Suisse, le modèle peut être adapté et étendu à d'autres marchés internationaux.

Menaces (Threats)

  1. Concurrence : Face à des concurrents établis ou de nouveaux entrants innovants, Koloka doit constamment innover pour rester pertinent.
  2. Changements Réglementaires : Les lois sur la location en Suisse peuvent changer, affectant la manière dont Koloka opère.
  3. Fiabilité des Données : Des inquiétudes concernant la protection et la confidentialité des données des utilisateurs peuvent affecter la crédibilité de la plateforme.

Suivi des KPIs

Établir des indicateurs clés de performance (KPIs) pour mesurer le succès, comme le nombre de nouveaux utilisateurs, le taux de croissance des annonces, ou le pourcentage d'engagement sur les réseaux sociaux. Cela aiderait à évaluer l'efficacité des différentes stratégies déployées, voici quelques idées pour le projet Koloka :

Taux de Conversion

  • Description : Pourcentage de visiteurs du site qui s'inscrivent ou utilisent activement la plateforme.
  • Importance : Mesure l'efficacité du site à convertir les visiteurs en utilisateurs.

Durée Moyenne de Mise en Relation

  • Description : Temps moyen nécessaire pour qu'un colocataire trouve un logement compatible (ou vice versa).
  • Importance : Indique l'efficacité du système de matching.

Taux de Rétention des Utilisateurs

  • Description : Pourcentage d'utilisateurs qui restent actifs sur la plateforme après une période donnée.
  • Importance : Révèle la capacité de la plateforme à maintenir l'intérêt des utilisateurs.

Satisfaction des Utilisateurs

  • Description : Evaluations ou notes données par les utilisateurs après une mise en relation.
  • Importance : Fournit un aperçu de la satisfaction des utilisateurs quant aux services de la plateforme.

Nombre d'Utilisateurs Actifs Quotidiens/Mensuels

  • Description : Nombre d'utilisateurs uniques qui visitent la plateforme chaque jour ou mois.
  • Importance : Indique le niveau d'engagement et la croissance de la base d'utilisateurs.

Taux de Clics (CTR) sur les Profils

  • Description : Pourcentage de clics sur les profils de colocataires ou de propriétés par rapport au nombre total de vues.
  • Importance : Mesure l'intérêt généré par les profils.

Ratio de Correspondances Effectives par Utilisateur

  • Description : Nombre moyen de correspondances réussies par utilisateur.
  • Importance : Évalue la pertinence des correspondances proposées par la plateforme.

Taux de Désabonnement

  • Description : Pourcentage d'utilisateurs qui se désinscrivent de la plateforme.
  • Importance : Indique le niveau de satisfaction et les possibles points de friction.

Temps Moyen Passé sur la Plateforme

  • Description : Durée moyenne d'une session utilisateur sur la plateforme.
  • Importance : Réflète l'engagement des utilisateurs avec la plateforme.

Connaître les principes de la gestion des risques

Lecture individuelle

Lors de la lecture individuelle sur la gestion des risques, j'ai pu apprendre les éléments suivants :

Définitions :

  • Gestion des risques : Processus d'identification, d'évaluation, de priorisation et de gestion des risques avec coordination des ressources.
  • Risque : Incertitude qui peut avoir un effet négatif sur les objectifs.

Catégories de Gestion des Risques :

  1. Opérationnels : Risques liés aux processus opérationnels.
  2. Financiers : Risques liés aux fluctuations financières et aux marchés.
  3. De projet : Risques spécifiques aux projets.
  4. Stratégiques : Risques pouvant affecter les objectifs stratégiques.
  5. Informatiques (Cybersécurité) : Risques liés à la sécurité des informations.

Buts de la Gestion des Risques :

  1. Protection des actifs matériels et immatériels.
  2. Préservation de la réputation organisationnelle.
  3. Optimisation de l'utilisation des ressources.
  4. Conformité avec les réglementations en vigueur.
  5. Sécurité et bien-être des individus.
  6. Amélioration de la prise de décision.

Étapes de la Gestion des Risques :

  1. Identification des risques.
  2. Évaluation de la probabilité d'occurrence et de l'impact.
  3. Analyse approfondie des risques.
  4. Classement des risques par importance.
  5. Planification de réponses adaptées.
  6. Mise en œuvre des actions prévues.
  7. Surveillance et contrôle continu.
  8. Communication transparente des risques.
  9. Documentation de toutes les étapes.
  10. Évaluation et amélioration continue.

Stratégies de Réponse aux Risques :

  1. Évitement : Cessation des activités présentant des risques.
  2. Réduction : Diminution de la probabilité ou de l'impact des risques.
  3. Partage : Transfert ou partage des risques avec une autre entité.
  4. Rétention : Acceptation et prise en charge des risques.

Session de formation

Pour ce qui est de la session de formation sur la gestion des risques, j'ai pu apprendre une checklist (opens in a new tab) de sécurité pour les infrastructures IT qui est très pertinente !

Lecture individuelle

Lors de la lecture individuelle sur la cybersécurité, j'ai pu apprendre plusieurs éléments dont le focus sur ISO 27001 qui est une norme internationale qui décrit les exigences pour un système de gestion de la sécurité de l'information (SGSI). La norme ISO 27001 spécifie un cadre pour la mise en place, l'exploitation, la surveillance, la révision, la maintenance et l'amélioration d'un SGSI.

Appliquer les principes de sécurité dans le système d’information de l’entreprise (Sécurité des annuaires & Sécurité de l’infrastructure)

Dans les différents éléments ci-dessous j'ai pu mettre en pratique les principes de sécurité dans le système d'information.

Projet

Implémentation d'un système d'authentification

Lors de la conception du système d'authentification pour Koloka, j'ai pu mettre en pratique les principes de sécurité. NextAuth (Auth.js (opens in a new tab)) est un système d'authentification open source pour les applications web. Il permet de gérer les sessions, les mots de passe, les comptes utilisateur, les fournisseurs d'identité et bien plus encore. J'ai intégrer l'authentification 0Auth avec Google, Facebook afin de faciliter l'inscription et la connexion pour les utilisateurs. J'ai aussi configurer Auth.js avce une stratégie de session JWT (JSON Web Token) pour éviter de faire des requêtes à la base de données à chaque fois qu'un utilisateur se connecte ou consomme le service Koloka.

Voici un exemple de code pour la configuration de la stratégie de session JWT :

Authjs.dev

Implémentation de CORS policies

Cross-Origin Resource Sharing (CORS) est un mécanisme qui utilise des en-têtes HTTP supplémentaires pour permettre à Strapi ou Next.js de définir et d'autoriser l'accès aux ressources sélectionnées d'un serveur, sur une origine différente (domaine) de celle à partir de laquelle la requête HTTP a été lancée.

J'ai mis en place des CORS policies pour les images de Next.js (next.config.js) afin de contrôler les requêtes HTTP effectuées par le navigateur pour les ressources d'un autre domaine. Cela permet de restreindre les ressources accessibles depuis un domaine donné.

Si une ressource n'est pas spécifiée dans la liste blanche, elle ne sera pas accessible depuis le domaine spécifié.

CORS

Implémentation de réseau sécurisé AWS

Je me suis occupé de la partie déploiement de Koloka sur AWS. J'ai en premier lieu du créer un utilisateur IAM, parce que les clés d'accès de l'utilisateur root ne sont pas recommandées pour des raisons de sécurité. Je lui est affecté certaines ressources AWS et j'ai configuré les permissions de l'utilisateur IAM pour qu'il puisse accéder à ces ressources. L'accès au ressources suivantes a été autorisé :

  • Amazon EC2 : Il s'agit d'un service web qui fournit des capacités de calcul dans le cloud. Il permet d'exécuter des serveurs virtuels pour exécuter des applications web.
  • Amazon S3 : Il s'agit d'un service de stockage d'objets qui offre une scalabilité, une disponibilité des données, une sécurité et des performances de pointe.
  • Amazon VPC : Il s'agit d'un service web qui permet de créer un réseau privé virtuel dans le cloud AWS. Cela est primordial pour la sécurité de l'infrastructure.
  • Amazon RDS : Il s'agit d'un service web qui permet de configurer, d'exploiter et de mettre à l'échelle une base de données relationnelle dans le cloud AWS.
  • CloudFront : Il s'agit d'un service web qui permet de distribuer du contenu web et de le mettre en cache pour améliorer les performances et la sécurité.

Strapi sera donc déployé sur une instance EC2, les images seront stockées dans un bucket S3, le réseau sera sécurisé avec VPC et la base de données sera hébergée sur RDS.

AWS

Pour la partie EC2, j'ai configurer la sécurité du réseau en créant un groupe de sécurité. J'ai configuré les règles entrantes suivantes :

VPC

Configuration du système de messagerie (Pusher)

Dans le projet Koloka, j'ai dû mettre en place un système de messagerie instantanée, il a fallu donc configurer ce système qui communique via WebSockets (WS). Pour avoir un chiffrement de bout en bout il a fallu utiliser TLS (Transport Layer Security) qui est un protocole de sécurité qui permet de sécuriser les communications sur un réseau informatique.

J'ai pu obeserver dans l'interface de configuration de Pusher que le chiffrement est désactivé par défaut :

Pusher

J'ai pu activer et forcer la communication chiffrée :

Pusher

Implémentation de policies dans Strapi

Les policies sont des fonctions qui exécutent une logique spécifique sur chaque requête avant qu'elle n'atteigne le contrôleur. Elles sont principalement utilisées pour sécuriser la logique métier.

Un exemple typique serait d'utiliser une police afin de vérifier si un utilisateur est authentifié avant de lui permettre d'accéder à une ressource. Encore plus spécifique, imagine une route qui permet de mettre à jour un article. Je peux utiliser une police pour vérifier si l'utilisateur authentifié est l'auteur de l'article avant de lui permettre de le mettre à jour !

Strapi

Implémentation de tests unitaires

J'ai implémenté des tests unitaires E2E (End-to-End) avec Cypress pour Koloka. Les tests E2E sont des tests qui vérifient si le système fonctionne correctement en simulant le comportement d'un utilisateur. J'ai pu tester par exemple la fonctionnalité suivante :

Cypress

Article réflexif

Mon dernier artcile réflexif portait sur la sécurité applicative. J'ai travailler sur la problématique suivante :

  • Assurance qualité (QA) et tests sont essentiels dans le développement d'applications web, face à l'augmentation de la complexité et des attentes des utilisateurs.
  • Importance de garantir le fonctionnement, la performance et la sécurité des applications web.
  • Objectif de l'article : explorer la place des tests et du QA dans le développement agile, à travers le cas pratique de "Koloka".
  • Méthode utilisée : démarche structurée basée sur la méthode expérientielle de Kolb.
  • Présentation de l'expérience concrète avec le développement de "Koloka" et prise de conscience de l'importance des tests après détection de bugs et de questions de sécurité.
  • Nécessité des tests et assurance qualité soulignée par une veille technologique.