Formations en informatique pour adultes

Informations sur le contenu de chaque formation

Système Unix

❈ Public

Ce cours s'adresse principalement aux débutants (ou autodidactes qui veulent renforcer leurs connaissances empiriques).

Il est conseillé à tous ceux qui migrent d'un autre système vers Unix (Linux ?), ou veulent utiliser les fonctionnalités avancées de MacOS (qui est une variante d'Unix), et aux étudiants qui préfèrent prendre un peu d'avance quand ils savent qu'ils auront des cours d'informatique à la rentrée !

❈ Objectifs

    1. la terminologie propre à ce système (descripteur de fichier, pipes, inodes, etc.)
    2. être à l'aise avec l'interface shell
    3. pouvoir construire des commandes complexes
    4. savoir maintenir un système à jour, installer de nouveaux logiciels, etc.

❈ Quelques sujets abordés

    • Base de l'architecture des ordinateurs, éléments principaux, leurs interconnexions et rôles respectifs
    • Base de ce qu'est un système d'exploitation, gestion des ressources matérielles, mise à disposition de bibliothèques logicielles
    • Un peu d'histoire
    • Naissance d'Unix, ses principales caractéristiques
    • Le Shell, les variables, les commandes internes, externes
    • Le système de fichiers
    • Le Shell, les redirections, les pipes, la programmation, shell-scripts, gestion des jobs, les meta-caractères
    • Les commandes principales, ls, cat, date, etc.
    • Les commandes plus complexes, sed, awk, ps, top, sort, tr, head, tail, etc.
    • Le système de fenêtrage
    • La maintenance du système
    • etc.
Garder un esprit critique
Linux

Programmation en langage C

❈ Public

Ce cours s'adresse à des débutants en C ou même en informatique. Il est souvent mixé avec un peu d'Unix, afin de pouvoir retrouver ses fichiers, lister leurs propriétés, exécuter son programme, etc.

❈ Objectifs

    • Apprendre à programmer en C, en utilisant les bibliothèques et appels systèmes proposés par Unix
    • Compilation (assemblage, édition de liens, etc.)
    • Préprocesseurs
    • Structure des données (simples, complexes)
    • Structures de contrôle (boucles, sauts, etc.)
    • Fonctions en bibliothèques
    • Appels système Unix
    • Techniques de debugging (gdb)
    • Outils annexes, comme make, github, etc.

Assistance aux projets

❈ Public

Les étudiants ou stagiaires qui doivent rendre un projet de programmation en C, soit un rapport dans le domaine de l'informatique.

❈ Objectifs

    • aider l'étudiant à décomposer le problème en sous problèmes facilement gérables
    • compléter les connaissances
    • relecture, code ou rapport

❈ Quelques thèmes abordés

    • Programmation en C
    • Programmation de shell-scripts
    • Recherches bibliographiques
    • etc.

❈ Exemple

    1. projet d'apprentissage du C en école d'ingénieur


Architecture des ordinateurs

❈ Public

Tous ceux qui veulent savoir ou ont besoin de savoir comment sont construites ces machines, des plus petites aux plus imposantes (superordinateurs).

❈ Objectifs

Comprendre comment sont assemblés les composants les plus simples (portes logiques) pour arriver à faire des calculateurs rapides et interactifs. Ce cours ne fera pas de vous un ingénieur capable de fabriquer un ordinateur, mais vous saurez ce qu'il y a dedans, et comment est conçue chaque partie.

❈ Quelques thèmes abordés

    • Logique mathématique et circuits logiques (portes, etc.)
    • Logique combinatoire, logique série
    • Mémoire, mémoires caches, translation d'adresses
    • Processeur (CPU)
    • Microprocesseurs en tranches
    • Co-processeurs (calculs flottants, cryptographie, etc.)
    • Microprogrammation
    • Architectures CISC, RISC,
    • Architectures parallèles SIMD, MIMD
    • Autres architectures, dataflow, matrices systoliques, tolérance de pannes, etc.
    • Bus
    • Entrée/sorties
    • Réseaux locaux
    • Périphériques


Systèmes d'exploitation

❈ Public

Étudiants (universitaires), ou personne désirant enrichir ses connaissances en informatique.

❈ Objectifs

    • Comprendre le rôle des briques de base d'un système d'exploitation
    • Interactions avec le matériel (hardware)

❈ Quelques thèmes abordés

    • L'ordonnanceur (scheduler)
    • Mémoire paginée, segmentée, mixte, mémoire virtuelle
    • Protections, trappes, interruptions
    • etc.

Translation d'adresse sur un système paginé.

Nom de domaine, hébergement, sites et blogs

❈ Public

Tous ceux qui ont besoin de savoir comment fonctionne l’hébergement de sites sur Internet, soit pour prendre en charge certaines tâches (par exemple la gestion de noms de domaine) soit pour être en mesure de comprendre ce qu'on essaie de leur vendre comme prestation !

❈ Objectif

Devenir autonome quant à la gestion de ses noms de domaines et hébergement de ses sites ou blogs.

❈ Quelques thèmes abordés

    • Terminologie
    • Fonctionnement de base de l'internet
    • Adresse IP
    • le DNS, résolution des noms
    • création, mise à jour, maintenance d'un DNS
    • bureau d'enregistrement (registrar)
    • cacher l'adresse IP de son serveur
    • les accélérations possibles via des CDN (content delivery networks)
    • etc.

Cryptographie

❈ Public

Ceux qui veulent comprendre comment les données sont chiffrées sur Internet, et comment échanger des données de façon sécurisée.

❈ Objectif

    • Comprendre les infrastructures à clés publiques.

❈ Quelques thèmes abordés

    • Créer ses clefs
    • Chiffrer et signer ses emails
    • Chiffrer et signer des fichiers

Bitcoin

❈ Public

Tout public.

Nota bene : ce n'est pas un cours sur la finance.

❈ Objectif

Comprendre comment est construit le système de la chaîne de blocs.

❈ Quelques thèmes abordés

  • Le chiffrement
  • La signature numérique
  • Le chaînage d'objets
  • La mempool
  • Le minage
  • Création d'un portefeuille
  • etc.