Bases de données + Systèmes d'exploitation

Notes de cours

"toute la CGM à Marseille repose sur Java et Tomcat"

tous les schémas relationnels ne sont pas hiérarchisables

https://justice.pappers.fr/
toutes les décisions de justice doivent être anonymisées avant d'être publiées en open data, ce qui prend du temps
les noms des juges ne sont pas anonymisés, on pourrait donc techniquement analyser les décisions par juge, "mais ça c'est interdit"

"tout le milieu a été bouleversé par l'arrivée de https://doctrine.fr"
"nous, nous avons été contactés par https://juripredis.com", "qui est un peu la réaction de l'ordre des avocats"
"on discute avec un ingénieur de Centrale Marseille"

"l'idée, c'est de tester les autres moteurs de recherches et de voir comment améliorer le nôtre"

évaluation : "en S1, vous devez être familiers avec tous les termes présentés ici : https://guacamole.univ-avignon.fr/nextcloud/index.php/s/LfZD7JtqYeMg7Dd"

  • un compte-rendu à remplir à chaque séance
  • un QCM en janvier
    "on veut évaluer votre aptitude à formuler vos besoins auprès d'un technicien, vous n'avez pas à manipuler les données vous-même"

PostgreSQL est sous licence permissive, tandis que MySQL est sous copyleft

"le Safe Harbor a été rétabli il y a 1 mois, mais dans 2 ans on s'attend à ce que soit cassé à nouveau"

Info

il fait sans doute référence à la décision d'adéquation de 2023 post-Schrems II

"la première licorne française à avoir été coulée par le RGPD, c'est Criteo, on devrait y revenir quand je vous recroiserai dans votre cursus, mais pour le moment on reste uniquement en informatique"

Le DNS (en gros, de mémoire)

DNS

Le Domain Name System est une sorte d'annuaire, qui sert à remplacer les adresses IP (= une suite de chiffres) par des noms de domaine plus faciles à lire par un humain.
Le système n'est pas centralisé mais distribué : il repose sur une multitude de serveurs DNS (ou serveur de noms) qui se partagent la tâche pour trouver à quel nom de domaine correspond une adresse IP (on dit aussi "résoudre" un domaine)

exemple : je veux aller sur guacamole.univ-avignon.fr :

  • si l'ordinateur n'a pas l'adresse dans son cache, il va envoyer une requête au serveur de noms de mon fournisseur d'accès (FAI) : "connais-tu l'adresse IP qui correspond à guacamole.univ-avignon.fr" ?
  • si le serveur de noms du FAI n'a pas l'adresse dans son cache, il va à son tour envoyer une requête au serveur DNS racine : "connais-tu l'adresse du serveur de noms qui connaît les adresses des domaines qui se terminent par .fr ?"
  • le serveur DNS racine renvoie l'adresse de cet autre serveur de noms : "ce serveur-là connaît univ-avignon.fr"
  • le serveur de noms du FAI envoie donc une requête à cet autre serveur de noms : "connais-tu l'adresse du serveur de noms d'univ-avignon.fr ?", et le serveur de noms lui renvoie l'adresse demandée
  • puis le serveur de noms du FAI envoie une dernière requête à cette nouvelle adresse : "connais-tu l'adresse IP de guacamole.univ-avignon.fr ?"
  • le serveur de noms d'univ-avignon.fr renvoie la bonne adresse IP
  • enfin, le serveur de noms du FAI renvoie cette adresse à mon ordinateur, qui l'enregistre dans son cache

"Navigateurs clients"

composition page web.png

parcours de la requête.png

SQL et NoSQL

"avec le NoSQL, on mélange métadonnées et contenu"
"on a pas mal critiqué phpMyAdmin, vous verrez avec les M2 pourquoi on est resté sur ce format relationnel"

"le format naturel du NoSQL, c'est le JSON"
Nextcloud utilise MySQL, Google Drive utilise Bigtable

Nextcloud avec MySQL :

  • a base de données ne stocke pas les fichiers eux-même, elle ne contient que leurs métadonnées et leur emplacement
  • l'emplacement réel de stockage des fichiers ne correspond pas nécessairement à celui affiché sur l'appli Nextcloud : la base de données sert à créer un emplacement abstrait
    (dans le cas de Nextcloud, les emplacements réels et abstraits d'un fichier sont partiellement identiques
  • la base de données précise pour chaque fichier quand il a été crée, quel utilisateur a le droit de le modifier, etc. : ce sont les métadonnées

Nextcloud "basculé" dans du JSON (NoSQL) :

  • chaque fichier JSON contient une arborescence avec des étiquettes
  • chaque utilisateur est une étiquette avec un index : "dès que vous indexez un nom, vous faites un traitement de données personnelles"
    "c'est pour ça que basculer Nextcloud dans du NoSQL, ça inquiète" : "tout ça, ça a été pensé avant le RGPD"
    "dès que vous voulez séparer la donnée de la structure, NoSQL est handicapé"

RDP

https://guacamole.univ-avignon.fr/guacamole/#/ : connexion à une machine Windows en RDP
"si quelqu'un à distance lit un fichier comme ça, la simple lecture va être assimilée à un traitement de données"
"c'est pour vous montrer que c'est très facile de déléguer le traitement ailleurs de façon intraçable"
"si vous avez des applications Java, c'est très facile de les rendre disponibles sur le web avec un dispositif Tomcat"

"les administrateurs s'accrochent à la version 2016 de Windows Server parce que vous pouvez encore créer des comptes locaux"

RDP