Table of Contents

Plan de formation

Ce plan de formation est prévu pour une formation en entreprise, spécialement dans la mienne. Les modules sont donc traités de manière pratique uniquement. Certaines parties ne feront pas l'objet “d'une tâche” particulière mais seront vues de manière régulière à travers d'autres tâches qui apparaîtront au fil de la formation.

Module 114

Le module 114, intitulé “Mettre en œuvre des systèmes de codification, de compression et d’encryptage”, prévoit les connaissances de bases dans le domaine de l'encodage, de la cryptographie et de la compression.

Tâches

Dans le cas de ce module, la compression et l'encodage des fichiers vont être enseignées à travers d'autres tâches. Par exemple, les formats d'image seront vus lors du module de réalisation d'un site web. La compression est régulièrement utilisée à travers nos systèmes de sauvegardes.

Cryptographie asymétrique

Pour la partie cryptographie, l'utilisation de cryptographie asymétrique va faire l'objet d'une tâche quotidienne. En effet la communication par mail de l'apprenti devra être obligatoirement signée et/ou cryptée à l'aide de GnuPG. Cela inclus les éléments suivants :

Cette tâche est accompagnée d'une explication théorique préalable.

Cryptographie symétrique

La cryptographie symétrique sera utilisée à travers certains projets et l'utilisation d'outils bureautique (document PDF protégé).

Autre

D'autres aspects de la cryptographie seront approchés durant la formation. De par la mise en place et/ou l'administration quotidienne d'un serveur Web sécurisé, du VPN ou de la génération de certificat SSL pour certains accès particuliers.

Module 103

Le module 103, intitulé “Programmer dans un cadre prescrit (structuré)”, prévoit les connaissances nécessaires pour aborder la création de logiciels.

Tâches

Ce module va intervenir à travers différentes tâches de l'entreprise. La création de diverses scripts d'administration, la création d'utilitaires Web ou la création et/ou l'optimisation de logiciels d'administration des systèmes. L'apprenti sera éventuellement amené à corriger des erreurs logiciels dans des projets de logiciels Libres, ou ajouter des fonctionnalités (et renvoyé tout ça en upstream).

Le langage de programmation C fournira la base théorique permettant d'appréhender d'autres langages comme le Perl, PHP, … Pour chaque nouveau langage, la possibilité d'apprendre les spécificités du langage sera donnée. Dans beaucoup de cas le choix du langage n'est pas de notre ressort (utilisation de logiciel Libre).

Index binaire du blog

Le premier projet consiste a générer un index des tags du blog de formation ayant la forme suivante :

+------------------+-----------------+-------------------+------------------+-//-+------- - - -
| tag_hash_sha256  | offset_tag_file | index_file_number | count_index_file |    | [ Next record ]
+------------------+-----------------+-------------------+------------------+-//-+------- - - -

L'endianness est définie comme “little-endian” pour assurer la portabilité du fichier (dans le sens “en définissant un endianness, le fichier est portable, pas dans le sens tel endianness est portable, l'autre pas”).

Le fichier doit commencer par une entête contenant :

Module 101

Le module 101, intitulé “Réaliser et publier un site Web”, prévoit les connaissances nécessaires pour créer un site Web statique.

Tâches

Dans le cadre du projet de création d'un blog de formation, l'apprenti sera chargé d'en faire la structure statique du site. Cela comprend apprendre et comprendre le html et xhtml (le site doit valider en XHTML Strict), apprendre et comprendre le CSS et, en bonus, apprendre et comprendre le langage de template Smarty.

La partie dynamique sera réalisée par mes soins et l'interface entre la partie dynamique et la partie statique sera faite grâce à Smarty. De ce fait on touche au module 256 et au module 213.

Module 257

Le module 257, intitulé “Utiliser une documentation technique”, prévoit d'utiliser une documentation technique

Tâches

Dans le cadre de tous les projets, l'apprenti est amené a utiliser une documentation technique (page de manuel man, norme W3C, RFC, …). Il n'y a donc pas de tâches à proprement parler.

Module 212

Le module 212, intutilé “Savoir apprendre et travailler”, prévoit d'appliquer des méthodes de travail définies et de le mettre en pratique afin d'assurer la mise en place d'un projet.

Tâches

Chaque projet réalisé devra suivre la méthode en 6 étapes :

  1. S'informer
  2. Planifier
  3. Décider
  4. Réaliser
  5. Contrôler
  6. Évaluer

C'est un travail permanent qui devra être mis en pratique continuellement.

Module 112

Le module 112, intitulé “Assurer une assistance en première instance”, prévoit d'assister les utilisateurs pour les problèmes de base (utiliser l'outil informatique, corriger les erreurs simples, …)

Tâches

Déjà actuellement l'apprenti doit fournir cette assistance, c'est un travail permanent et ponctuel. Cela fait partie des tâches de tous les jours et doit être mis en priorité dès qu'un problème survient.

Module 113

Le module 113, intitulé “Assembler, installer et configurer un PC utilisateur”, prévoit l'assemblage et l'installation d'un ordinateur pour l'utilisateur final.

Tâches

Nous n'assemblons pas des machines. Par contre nous réparons et installons les systèmes d'exploitation et les applications selon une liste prévue. Chaque réparation ou installation doit suivre cette liste et, éventuellement, amener des améliorations à cette liste. La liste est sur le wiki interne.

Autre

Backup

Chaque mardi, le robot de backup éjecte une (ou plusieurs) cassette pour la banque. Le travail est donc :

En cas de vacances, l'apprenti doit assurer ce travail en s'organisant avec ses collègues pour être remplacé.