Apprenti informaticien, ma première année

Whoo, j'ai fini ma première année ! Curieux de savoir de quoi il en retourne ?

Apprenti informaticien, ma première année
C'était très sérieux, oui.

Voilà, j'ai terminé (et réussi !) ma première année en tant qu'apprenti informaticien. Et je voudrais partager un peu le déroulement et quelques détails. Cela pourrait plaire aux quelques curieux sur l'apprentissage (Suisse) en informatique, ou alors des personnes intéressées d'être informaticien CFC. Bah tiens, je vais d'abord vous expliquer quelques bases et particularités avec mon apprentissage.

CFC, keskecé ?

Je l'ai juste cité au-dessus à côté d'informaticien. Le CFC, pour Certificat Fédéral de Capacité, est le document officiel que l'on reçoit après un apprentissage réussi. Il indique que la personne soussignée a suivi une formation dans une profession/branche et a réussi cette dernière.

Ce document est assez important de nos jours. Ne pas avoir un CFC, même si ce n'est pas dans la profession que vous postulez directement, veut souvent dire (et c'est parfois dur à le prendre) que vous n'êtes probablement pas apte ou pas prêt à travailler dans un monde professionnel. La première fois que j'ai entendu cela, je dois avouer avoir pris peur.

Mais parlons de ma profession, surtout sur un détail assez particulier.

Pas un simple informaticien

... mais "Informaticien - Développement d'applications".

C'est nouveau à ce que je vois, le métier d'informaticien est maintenant divisé en trois "branches" :

  1. Informatique d'entreprise (généraliste)
  2. Technique des systèmes
  3. Développement d'applications

Et oui, notre formation peut être plus approfondie dans l'une des branches, la description de l'informaticien d'entreprise est :

La/le généraliste se distingue par une formation en informatique large et approfondie.

L'informaticien en technique des systèmes est, concrètement, ce qu'on aime appeler le SysAdmin. Pour ne citer brièvement ICT-Berufsbildung:

L'informaticien/-ne en technique systèmes planifie, réalise et administre des réseaux TIC.

Alors que moi, développeur, ma description serait plus...

De manière très brève: l'informaticien/-ne en développement d'applications fait de la programmation.

[Insert joke about the Dev VS SysAdmin here]

Cette description est la plus simple (et stupide) pour ma branche, mais vraie. Après, je ne fais pas que ça, non non ! À savoir que durant la première et deuxième année, les trois branches ont le même tronc commun des cours. J'ai donc passé ma première année avec les deux autres branches.

A savoir qu'en 3ème, si on continue avec la même classe, nous serons que trois apprentis en développement d'applications... Yay !

Mais après, comment fonctionne cet apprentissage ? Qui décide de comment sont composés les cours ? Et bien, il y a un document, qui a en plus changé en janvier 2014.

L'ordonnance d'apprentissage

Et je fais donc parti de la première volée d'apprentis informaticien à être sous cette nouvelle ordonnance du 1er janvier 2014. Ce que cela veut dire ? Et bien que nous sommes sous d'autres "règles" et un autre programme que ceux qui ont signé leur contrat d'apprentissage avant le 1er janvier 2014 !

L'ordonnance comporte, en gros, les informations et objectifs de notre formation :

  • La durée d'apprentissage (4 ans)
  • Les branches "scolaires" et leurs contenu
  • Les modules en informatique
  • Les objectifs de réussite (avoir réussi les examens et avoir les moyennes des notes)

Oui, particularité, notre apprentissage est sur 4 ans, alors que la majorité en Suisse est sur 3 ans.

Ces ordonnances ne sont pas écrites par l'école, la commune ou l'état, mais par des patrons. En effet, c'est une association de patrons qui dirigent ensemble ICT-Berufsbildung. Dans le domaine de l'apprentissage, c'est pour les informaticiens CFC, médiamaticien CFC, les "Lycées techniques" ou écoles des métiers (comme celui de Sion, qui partage le même bâtiment que nous) ainsi que pour ceux qui font un AFP en aide en informatique.

Cours

Les branches hors-modules

Les branches hors-modules ont eu lieu le mardi, sauf celui de Sciences Naturelles qui était en dernière heure le lundi. En une petite liste :

  • Anglais
  • Mathématiques
  • Sciences Naturelles
  • Langue et communication
  • Société
  • Sport Prévention Santé

L'anglais, c'était des cours où on revoit un peu les bases. Il faut comprendre que pour l'apprentissage, on se retrouvait avec des personnes qui n'ont plus été à l'école depuis plusieurs années ou qui n'ont jamais eu d'anglais avant.

Mathématiques, pour être franc, c'était compliqué. La classe en elle-même a eu beaucoup de peine et beaucoup pensent vraiment que le niveau des maths a été mis assez haut pour "éliminer" les personnes les plus faibles.

Sciences Naturelles, au départ c'était la conversion en binaire puis hexadécimal, puis ensuite c'était des sujets sur le courant électrique et les forces.

Langue et communication, ce n'est pas simplement du français. On voit plus comment former des phrases et faire de l'étude de texte, les résumés, la présentation, la rédaction (et la manipulation des images, la propagande, ...).

Société, s'est voir comment fonctionne l'apprentissage, un peu l'économie, les associations, les communes et plus encore. Petit détail, le cours de Langue et de Société sont "liés" dans notre cas. Que cela soit sur certains examens qui allaient dans les deux branches, ou que c'était le même enseignant.

Sport Prévention Santé, c'est juste quelques activités sportives pour nous tenir en forme. Jeux, gainage, basket, uni-hockey, équilibre, escalade, hockey et fitness.

Les modules

Et là, on peut me demander "c'est quoi les modules ?". Ce sont des "parties" ou chapitres de cours, ici d'informatique. Pour cette première année d'apprentissage, nous avons eu deux modules informatique par demi-semestre + les inter-entreprises.

Pour le premier semestre (pas dans cet ordre) :

  • Inf-M100 Distinguer, préparer et évaluer des données
  • Inf-M101 Réaliser et publier un site Web
  • Inf-M301 Appliquer les outils bureautiques
  • Inf-M403 Impl. des procédures programmables
  • Inf-M117 Installer l'infra. Informatique d'une petite entreprise
  • Inf-M304 Installer et configurer un PC mono-poste.

Et le second semestre :

  • Inf-M114 Coder, compresser, encrypter
  • Inf-M123 Rendre opérationnels les services d'un serveur
  • Inf-M404 Prog basé object dans un cadre prescrit
  • Inf-M431 Exécuter des mandats inform. de manière autonome
  • Inf-M305 Inst. conf.adm. des syst. d'exploitation

Sachant que là se glisse un détail, il y a trois modules ici qui font parti des cours "inter-entreprises", que j'ai mis en italique.

Cours inter-entreprises

Non, on ne change pas d'entreprise pour une durée, mais les entreprises semblent payer un peu plus pour des cours supplémentaires. Ils se déroulent sur des jours de la semaine hors de ceux des cours habituels. Dans notre classe, seul deux à trois personnes n'y ont pas participé.

La classe, durant ces cours, est même divisée en deux. On a donc, en moyenne, 6-8 élèves par classe. Durant le premier semestre, on échangeait de classe entre le matin et l'après-midi et ce pendant 10 jours de cours (deux par semaine). Durant le second semestre, on restait toute la journée la même classe, sachant que l'autre moitié de la classe a fait les cours avant ma partie, mais le nombre de jours total était plus court : 5 jours.

Gros résumé du contenu des modules

Les modules cette année avaient lieu le lundi matin, pendant 4 heures le matin et 4 autres heures l'après-midi (avant la dernière heure en Sciences Naturelles).

Module 301

Les outils de bureautique, c'est la base. C'est savoir utiliser Word et Excel. Avec Excel c'était surtout voir les fonctions et formatages conditionnels, contrairement à ce qu'on voyait au cycle d'orientation.

Module 100

Cours sur les "données", on a vu quelques nomenclatures des bases de données, faire quelques liaisons et savoir utiliser... Access ! Yay... Oh god why. Non, je ne sais pas, je crois que c'était le plus gros point noir de cette année je trouve. Le but, je pense, est d'avoir une représentation graphique de comment on peut stocker des données, quelques types de données, leurs propriétés et les liaisons... Mais je suis un peu mal pris sur le fait d'utiliser Access, surtout qu'on ne voit pas vraiment le langage SQL. On le manipule à peine alors que le SQL est la chose principale dans le programme, et surtout que très peu d'applications aujourd'hui utilisent Access. Après, on n'a pas réutilisé le SQL sur toute l'année, mais ça sera le cas en deuxième année.

Inter-entreprises (Modules 117 et 304)

Pas loin de là, on commence les cours inter-entreprises et découvrons donc nos groupes, séparés vulgairement en deux dans la liste des noms de la classe (triés par nom de famille).

L'un des cours, le 117 est sur le réseau : le modèle OSI, le protocole TCP/IP, l'adressage IP et masques de sous-réseau, les différents réseaux (LAN, MAN, Internet), voir le matériel (hub, switch, routeur, firewall, NAS, convertisseur fibre-RJ45, faire des câbles RJ45, manipuler la fibre optique, etc...) et savoir faire un partage de dossier réseau avec un NAS.

Pour l'autre cours, 304, c'est "simplement" une vue de la carte mère, l'installation de Windows et des permissions entre utilisateurs, plus de la lecture sur les logiciels, les licences et les virus. Oh et le Powershell, c'était cool.

Module 101

Puis, deuxième mi-semestre, on passe à l'HTML5/CSS2 (le CSS3 est pas sorti officiellement, arf !), c'était vraiment découvrir les bases en utilisant proprement le balisage HTML5 et un peu de styles CSS, vraiment la base. C'était fun d'aider certaines personnes qui avaient un peu de peine avec le CSS et les tableaux HTML, quand je pense que je suis passé par là quelques années avant.

Module 403

Par la suite, on a eu du code avec le module 403 ! La grosse question qui se pose quand on s'y connaît un peu c'est "quel langage de programmation on va voir en premier ?", et bien le C#. J'étais "meh." à l'idée de voir le C#, je m'attendais à du Java ou limite du python, pour prendre quelques bases, mais on a eu du C# en utilisant Visual Studio 2012 Pro. Mais il y a du bon derrière cette idée, c'est qu'on va plus se concentrer sur le code et sa logique que sur l'interface. Et oui, drag'n'drop les éléments dans la fenêtre et changer leurs attributs et créer les fonctions lors d'un clic sur un élément de manière graphique est simple, mais nous permet de travailler plus sur le contenu de l'application que sur son interface, qui nous permettra de bien voir le résultat de notre code.

Module 114

On passe au deuxième semestre, le matin on commence avec le module 114. On parle donc de compressions et de compressions (zip, tar + mp3, jpeg), un peu du chiffrage (simple) et d'encodage des fichiers (ASCII, UTF8, ...). On a aussi donc vu, avec le chiffrage, la fameuse histoire des clés publiques et privés, compliqué au départ à faire comprendre. On a donc utilisé un peu de GPG... Même si ça m'étonne que des gens l'utilisent vraiment dans la classe... ;)

Module 404

L'après-midi, on continue avec du code, whoo ! Mais on voit plus des choses que des simples boucles, timers et if-elses : on voit comment enregistrer et ouvrir des fichiers, ce qui devient tout de suite plus intéressant avec le fait qu'on puisse déjà choisir quoi écrire et afficher sur l'écran comme vu au cours précédent du premier semestre. On a donc pu lire et écrire et transmettre des données entre des applications grâce à cela.

Module 305

Ensuite, on a eu la seconde édition des cours inter-entreprises avec le module 305, très intéressant, car on a joué avec GNU/Linux ! Installer un Ubuntu, formater et faire les partitions, le mettre en dual boot, installer Windows par après en faisant attention au MBR et partitions modifiés, on a utilisé des LiveCD de Debian et GParted Live. On a vu aussi un petit peu de C (comment compiler) et du bash. Puis on a terminé le dernier après-midi avec toute la classe en LAN sur Teeworlds, j'ai bien fait de le récupérer tiens !

Module 123

On passe enfin au dernier demi-semestre, lundi matin avec notre prof qu'on a pu avoir en cours inter-entreprises 117 sur le réseau, pour parler maintenant d'Active Directory Services ! Intéressant, même si c'est très Microsoft, on a configuré des Windows Server 2012 R2 avec DHCP, DNS, Active Directory, on a mis en place un partage et avons fait des connexions sur des sessions partagées. On a eu un peu de peine au départ, la copie de la machine virtuelle entre nos disques durs et le PC étaient un peu lent, mais ça s'est plutôt bien passé.

Module 431

Concernant le cours du lundi après-midi, on ne faisait plus vraiment du code. À la place, on a fait des procès-verbaux, réaliser des cahier de soumissions et exécuter un mandat (on a donc fait le code de l'application demandée au final), on simulait donc qu'une entreprise avec besoin de tel programme et qu'on propose le nôtre, avec notre idée de fonctionnement et notre interface graphique. C'est le module qui (avec le 117) était avec mes notes plus basses. Il faut croire que je suis bon en code, mais pas en prises de notes ! Surtout pour de si simple choses au final.

Les années à suivre...

Je rappelle que la deuxième année sera encore un tronc commun entre les différentes branches informatiques. La troisième et quatrième année ici est celle des "développeurs d'application".

Pour ressortir les plus gros points :

  • On va avoir des cours d'économie
  • 2ème : On va faire des scripts et macros
  • 2ème et 3ème : Faire du SQL et des BDDs
  • 2ème et 3ème : Coder plus orienté objet
  • 2ème et 3ème : Des applis Web
  • 3ème : Des applis mobile
  • 4ème : Plus de procédures en temps réel
  • 4ème : Sécurité d'applications
  • 4ème : Applis de commerce
  • 4ème : Multimédia dans le web
  • 4ème : Apu cours de maths, anglais, sciences naturelles et de sport.

Conclusion

Voilà ! Je pense avoir fait un peu le tour de ma première année d'apprentissage, au niveau des cours. Pour les trois autres jours de la semaine, c'était donc des jours en entreprise. Mais ça, ça changera bien en fonction de la boîte avec qui vous aurez signé votre contrat d'apprentissage ;)