PPP S4 - Portfolio d'apprentissage

Leretour Cedric Q4
Retours sur les acquis concernant les 3 compétences qui s'arrêtent en 2e année pour le parcours IAMSI du BUT Informatique :

UE 2 - Sélectionner les algorithmes adéquats pour répondre à un problème donné

AC 1 - Choisir des structures de données complexes adaptées au problème.
CE 2 - En recensant les algorithmes et les structures de données usuels.

  • Lors des TD d'analyse, nous avons découvert un grand nombre de design pattern et de structures de données. Le pattern Factory est un de ceux qui m'ont marqué. Il permet de créer des objets sans spécifier leur classe ni modifier le code existant. Ce qui est pratique dans les cas où l'on ne connait pas à l'avance la classe des objets à créer.
  • Illustration du pattern factory Illustration du pattern factory.

    AC 1 - Choisir des structures de données complexes adaptées au problème.
    CE 3 - En s'appuyant sur des schémas de raisonnement

  • Lors d'un projet de management, nous avons synthétisé et optimisé le système d'information d'une entreprise fictive à partir de rapports d'interviews et de divers documents professionnels. Nous avons pour cela réalisé plusieurs diagrammes UML permettant d'identifier les différents flux et processus, tels qu'un diagramme de communication, un diagramme d'activités, un diagramme d'état-transition et un modèle entité/association.
  • Illustration diagramme entité/association Illustration diagramme entité/association.

    AC 2 - Utiliser des techniques algorithmiques adaptées pour des problèmes complexes
    CE 1 - En formalisant et modélisant des situations complexes

  • Lors des TD de développement efficace, nous avons appris à mettre en œuvre des algorithmes utilisant la récursivité. Par exemple, nous avons implémenté des algorithmes tels que le calcul de la factorielle d'un nombre, la recherche d'un élément dans un arbre binaire, ou encore le tri rapide (quicksort).
  • AC 2 - Utiliser des techniques algorithmiques adaptées pour des problèmes complexes
    CE 2 - En recensant les algorithmes et les structures de données usuels

  • Lors des TD d'optimisation, nous avons appris à utiliser des algorithmes comme celui de Kruskal ou de Prim-Jarnick pour la construction d'arbres couvrants minimaux dans des graphes. Cela permet d'optimiser les réseaux en réduisant le coût global de connexion entre les nœuds.
  • AC 3 - Comprendre les enjeux et moyens de sécurisation des données et du code

  • Lors de divers TD, nous avons été sensibilisé aux risques de sécurité pour les organismes. Notamment lors des TD portant sur le jeu Hellink où notre esprit critique a été mis à l'épreuve pour déceler comment l'information peut être détourné ou falsifié. Et les consequences que cela peut avoir. https://hellink.fr/
  • D'un point de vue plus technique, les TD de Cryptographie nous ont permis de découvrir des méthodes de chiffrements symétriques avec le chiffrement de César ou de Vigenère. Ainsi que des méthodes asymétriques avec des algorithmes comme RSA et El Gamal permettant de sécuriser les communications en utilisant une clé publique pour le chiffrement et une clé privée distincte pour le déchiffrement.

  • UE 3 - Déployer des services dans une architecture réseau

    AC 2 - Utiliser des serveurs et des services réseaux virtualisés.
    CE 2 - En appliquant les normes en vigueur et les bonnes pratiques architecturales et de sécurité

  • Lors des TD de d'architecture réseau, nous avons appris à échanger des requêtes HTTP avec un serveur. Mais aussi à configurer un réseau en définissant des IP, mask et passerelles via l'application GNS3.
  • AC 3 - Sécuriser les services et données d'un système
    CE 1 - En sécurisant le système d'information
    CE 2 - En appliquant les normes en vigueur et les bonnes pratiques architecturales et de sécurité

  • Le projet PHP que nous avons réalisé en binôme nous a permis de mettre en place des mesures de sécurité :
    → Mise en place d'un point d'entrée unique via un contrôleur frontal.
    → Limitation des accès aux fichiers nécessaires.
    → Mise en place d'un mot de passe crypté utilisant un sel et un poivre afin qu’il ne soit jamais stocké en claire ou accessible par un administrateur.
    → Assainissement des entrées utilisateur afin d’éviter les injections SQL et les attaques XSS.

  • UE 4 - Optimiser une base de données, interagir avec une application et mettre en œuvre la sécurité

    AC 1 - Optimiser les modèles de données de l'entreprise
    CE 4 - En assurant la cohérence et la qualité

  • Lors des TD de base de données, nous avons eu un cours consacré à l'optimisation. Nous avons appris à observer le plan d'execution de différentes requêtes pour en déduire son efficacité et ainsi opter pour l'approche la plus optimale. Nous avons aussi appris à utiliser des index et comprend comment fonctionne l'optimiseur Oracle.
  • AC 2 - Assurer la confidentialité des données (intégrité et sécurité)

  • Nous avons appris à gérer l'accès aux données en accordant des droits à un tiers en utilisant des commandes telles que "GRANT" ou "REVOKE". Nous avons aussi appris à utiliser le PL/SQL pour appliquer des règles de sécurité ou d'intégrité directement sur la base de données.
  • AC 3 - Organiser la restitution de données à travers la programmation et la visualisation
    CE 4 - En assurant la cohérence et la qualité

  • Nous avons appris à écrire des procédures SQL permettant de générer des données de façon formatée directement à partir du SGBD. Par exemple, nous avons généré des procès-verbaux contenant les résultats d'une promotion d'étudiants :
  • Résultats de la requête sur les étudiants Résultat de requête générant un procès verbal des étudiants.

    AC 4 - Manipuler des données hétérogènes

  • Les derniers TD de base de données nous ont appris le noSQL via le SGBD Postgree. Nous permettant ainsi de traité des données hétérogènes via des HSTORE (ensemble de clé/caleur) ou des fichiers JSON.