diff --git a/.gitignore b/.gitignore index 503d0b9..029878a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ Management RH d'un projet/Ressources/Dossier à rendre/Chefs de meute - Une expédition dans la jungle de l'entreprise_Arte_2017_03_28_23_47.mp4 -Mémoire \ No newline at end of file +Mémoire +*/gitout/* diff --git a/Infrastuctures matérielles et logicielles/Cours infra hard & soft.md b/Infrastuctures matérielles et logicielles/Cours infra hard & soft.md new file mode 100644 index 0000000..7a196ee --- /dev/null +++ b/Infrastuctures matérielles et logicielles/Cours infra hard & soft.md @@ -0,0 +1,136 @@ +# Introduction + +Principe du cours : par groupes de 3-4, on passe l'année sur un sujet, avec des présentations régulières au reste de la classe. + +# Présentations + +## Anti virus + +L'antivirus est un logiciel en charge de détecter les logiciels malveillants et douteux (malware), via diverses méthodes + +Plusieurs types de malwares : + +- Programmes simples (trojan, spywares, backdoors...) +- Programmes auto-reproducteurs (virus, vers) +- Botnet (IoT, DDOS, cryptomining) +- PUP (adwares) +- Autres (rootkit...) + +Fonctionnement : + +- Analyses scantime et runtime +- Principes on-demand scanners et/ou On-Access Scanners +- Dictionnaire de données +- Monitoring +- Contrôle d'intégrité +- Analyse spectrale +- Analyse heuristique + + + +## SGBD + +Principaux éléments du SGBD : + +- Structure mémoire - Mémoires physiques et logiques du serveur +- Processus - Chargement des données en mémoire, gère l'écriture en mémoire des fichiers +- Instances - Créées par les users lorsqu'ils se connectent à la bdd + +Il y a plusieurs types de SGBD : + +- Relationnels : PostgreSQL, s'inspire d'Oracle, très complet +- autres types : noSQL, MongoDB, neo4J... + +SGBD VS Feuille de calcul : pourquoi c'est mieux ? + +- Haute disponibilité et répartition des charges +- Multi utilisateurs +- Vérifie l'intégrité des données + +## Pare-feu + +But : se protéger des intrusions malveillantes et des fuites de sécurité / de données + +Intervient sur les couches 3 et 4 du OSI, plus la 7 pour le filtrage applicatif + +Le filtrage peut être : + +- Stateless : couche 3-4, se fait en fonction du paquet +- Stateful : couche 7, se fait en fonction de l'état de la connexion + +Trois types de pare feu : + +- Logiciel, le plus répandu, déjà intégré à l'OS/au noyau +- Matériel, lié à la machine réseau (routeur), pas flexible +- Bridge + +## OS + +Bootloader avant l'OS + +1965 : Multies par MIT +1980 : DOS +1990 : OS sous licence (Linux) + +5 générations : + +- Par lots +- Multitâches +- Temps partagé +- Temps réel +- Systèmes distribués + +Les _system calls_ sont des appels système via le shell, possibles une fois l'OS lancé + +Les couches : + +- Hardware +- Kernel +- Shell +- Applications + +Ne pas confondre shell et terminal ! Ce dernier exécute le shell mais n'en est pas un ! + + + +## Driver + +Permet de faire fonctionner le matériel. Il est souvent embarqué avec l'OS, ou sinon est distribué autrement. **Tout périphérique** en a besoin ! Pour le matos de base (carte graphique, ...) c'est le BIOS qui prend la main. + +Les pilotes évitent que l'OS ait à reconnaitre tous les matos, et évite ainsi beaucoup de mises à jour... Ils sont codés par les constructeurs. + +Plug & play : contiennent un BIOS qui communique les infos à l'OS. + +Chaque protocole a des pilotes (IP, TCP...) + +Types : + +- Drivers de masse +- Texte (GPS) +- Spécifiques (vidéo) +- USB (mix plug and play) + + + +## Compilateur + +Le compilateur traduit du texte >> il le convertit. + +Types ? + +- Interpréteurs +- Formateurs de texte +- Préprocesseurs + +Fonctionnement : + +1. Analyse lexicale : scan du texte qui est regroupé pour former des mots, des blocs, et garde ce qui l'intéresse +2. Syntaxe (backend) : regarde comment sont formés les mots pour en déduire la "grammaire", la structure du texte. Création d'un arbre syntaxique, ou arbre de dépendance. +3. Analyse sémantique : vérifie que la syntaxe est OK puis checke le sens. Regarde le contexte, voit la globalité : est-ce **logique** ? + +L'optimisation passe + +- Par la vitesse d'exécution +- Par la taille du code (minify) + +Le code est généré d'abord dans un langage intermédiaire, puis en code binaire pour la machine. À chaque fois il est généré puis optimisé. \ No newline at end of file