ANNEXES

ANNEXE I

PROGRAMME DES ÉPREUVES

I. - Deuxième épreuve d'admissibilité

A. - Programme commun aux deux options

1. Gestion de projet
Organisation :

Démarche de conduite de projet (1) ; notions de maîtrise d'ouvrage (MOA) et de maîtrise d'œuvre (MOE).

Outil de planification (Gantt) : tâches professionnelles, jalons, livrables…

Budgétisation : gestion des ressources humaines, matérielles et logicielles.

Gestion des commandes ; fournisseurs, prestataires externes…

Répartition des tâches professionnelles : découpage fonctionnel et définition des interfaces.

Revues de projet.

Gestion collaborative informatisée de projets.

Documentation :

Documents de suivi de projet.

Outils de génération de documentation logicielle.

Outils de suivi des versions (versioning).

Documents techniques (NFX 60-200) (2) : Documentation d'exploitation et de maintenance : documents techniques à remettre aux utilisateurs de biens durables à usage industriel et professionnel…
2. Développement logiciel
Principes de base :

Organisation des fichiers dans un projet logiciel ; chaîne de développement (préprocesseur, compilateur, éditeur de lien, chargeur, etc.).

Stockage sur mémoire de masse et exécution (runtime) d'un programme : zone de code, zones mémoire, etc.

Représentation et codage des informations : bases de calcul (2,10,16), types scalaires, réels, caractères, etc.

Gestion mémoire : adresse/valeur, pointeurs, variables statiques, allocations automatique et dynamique (pile/tas), etc.

Variables ; durée de vie, visibilité.

Organisation des programmes : point d'entrée et arguments de la ligne de commande, prototypes, fonctions, paramètres, valeur de retour.

Variables d'environnement.

Flux d'entrée et de sortie de base : terminaux, fichiers, réseau, etc. (spécifications POSIX).

Algorithmique :

Structures fondamentales : enchaînements, alternatives, itérations, etc.

Représentation graphique (organigrammes).

Manipulations de texte (chaînes de caractères).

Algorithmes de tri/de recherche.

Modèle canonique de gestion d'E/S :
- ouvrir, lire, écrire, fermer.
Bibliothèque standard (ANSI C).

Structure et gestion des données :

Types dérivés : tableaux, énumérations, enregistrements.

Structures de données et méthodes d'accès directe et/ou indirecte :
- liste, file, pile, tableau, etc.
Structures dynamiques : listes chaînées.

Formats de fichier : texte (human readable), binaire.

Formats multimédia (image, vidéo, son…).

Techniques de cryptage et de compression des données.

Bases de données : différents types (relationnelles, objets…), organisation et techniques de mise à jour (tables, liens, MCD, requêtes…).

Bases de données : liaison et communication avec une application logicielle (MySQL, SQLite…).

Programmation procédurale :

Manipulations de données ( quoi ) en pseudo-langage.

Transcription d'algorithmes ( comment ) en pseudo-langage.

Développement de programmes console avec gestion des arguments de la ligne de commande.

Réalisation :

Connaissance des langages de programmation (java, PHP et javascript).

Outils d'aide à la conception, la réalisation et la validation des applications informatiques (atelier de génie logiciel, outils de test, etc.).

Concepts des langages orientés objet et applets.

Langages de programmation :

Utilisation d'un langage objet (Java, javascript, php).

SQL.

Web statique : HTML/XML.

Langages graphiques par flux de données (simulation et instrumentation virtuelle).

Outils de génération de code :

Atelier de génie logiciel (AGL).

Gestionnaire de projets logiciels (make).

Outils RAD, générateurs d'IHM, boîtes de dialogue standards.

Génération de bibliothèques statiques et/ou dynamiques.

Chaînes de développement croisé.

Programmation événementielle :

Gestion des événements, signaux et interruptions.

Environnement multitâche : traitements parallèles (thread, sémaphores, tubes…).

Environnement temps réel : espace utilisateur, espace noyau, etc.

Applications multi-fenêtres.

Qualité logicielle :

Gestion des erreurs/exceptions.

Documentation des programmes.

Intégration logicielle.

Outils de déverminage

Procédures de test et de stress.
3. Solutions constructives des systèmes d'information
Architecture matérielle du traitement de l'information :

Constituants d'un système de traitement de l'information.

Complexes (logiques et/ou analogiques).

Circuits mémoire (RAM, flash...), mémoires de masse.

Traitement logiciel des E/S :

Modes d'accès : scrutation, interruption, DMA.

Pilotes (driver).

Bibliothèques de composants réutilisables.

Structures matérielles des E/S :

Détecteurs/capteurs industriels : position, vitesse, accélération…

Capteurs et périphériques multimédia : écrans, caméras, micros, hauts parleurs…

Conditionnement et traitement du signal : amplification, filtrage analogique et numérique, compression.

Conversion de données : échantillonnage, CAN/CNA, CODEC.

Adaptation de niveau et de puissance (BF et HF).

Préactionneurs industriels.

Supervision d'un process :

Supervision passive (surveillance) ou active (contrôle-commande).

Mesures (gestion d'E/S).

Journalisation (log), alarmes.

Sécurité des informations :

Locaux, sécurité physique, sécurité logique.

Informatique distribuée, infonuagique (cloud computing).

Architectures durcies : alimentations redondantes...

Disques logiques et volumes.

Solutions de stockage : RAID, SAN, NAS...

Adaptation de l'énergie :

Alimentations autonomes, onduleurs.

Gestion de l'énergie.
4. Systèmes d'exploitation
Notions fondamentales :

Caractéristiques et critères de choix d'un système d'exploitation.

Système de droits des utilisateurs.

Administration système : shell scripts.

Ergonomie des interfaces graphiques.

S.E. multi-tâches professionnelles :

Processus lourds/légers, diagramme des états d'une tâche.

Accès concurrents aux ressources partagées, section critique, exclusion mutuelle.

Règles d'échange de données : modèles producteur/consommateur, modèle lecteur/rédacteur.

Ordonnancement des processus.

Méthodes de synchronisation des tâches professionnelles.

Communications interprocessus (IPC).

Gestion des entrées/sorties.

Machines virtuelles :

Installation/configuration.

MV parallèles/MV applicatives.

Simulateurs.

Programmation réseau concept client/serveur :

Sockets POSIX.

Systèmes d'exploitation réseau :

Sécurisation des réseaux.

Administration réseau.

Interopérabilité en environnement hétérogène.

Qualité de service (QoS) : buts, moyens techniques…

Applications utilisateur :

Protocoles applicatifs : telnet, FTP, etc.

Messagerie : SMTP, POP, etc.

Applications du web : HTTP, etc.

Réseaux virtuels (VPN).

Services web :

Principes des environnements distribués.

Standards et protocoles.
B. - Programme propre à l'option conception logicielle

1. Modélisation
Modélisation orientée objet :

Paradigme objet, concepts : abstraction de données, objets, classes, généralisation, spécialisation, interfaces et implémentations, niveaux de protection.

Caractérisation des objets : identité, état, comportement.

Communication entre objets, catégories de messages : constructeurs, destructeurs, sélecteurs, modificateurs, itérateurs.

Synchronisation des messages : synchrone, asynchrone…

Relations entre classes : association, agrégation, composition.

Représentation UML :

Démarche d'élaboration d'un modèle, formalisme.

Liste des acteurs, cas d'utilisation.

Diagrammes de séquences.

Diagrammes d'états-transitions.

Spécificités UML :

Diagrammes de déploiement.

Diagrammes de classes et/ou d'objets.
C. - Programme propre à l'option infrastructures des systèmes d'information et de communication

1. Réseaux, télécommunications et modes de transmission
Concepts fondamentaux de la transmission :

Supports de transmission filaires :

Technologie des câbles et de la connectique/normalisation.

Caractéristiques (impédance caractéristique, atténuation, bande passante, diaphonie, etc.).

Supports de transmission optiques :

Technologie des fibres et des connecteurs.

Transducteurs optiques modes de propagation.

Concepts fondamentaux des réseaux :

Télécommunications, architecture (architecture des réseaux de télécommunications).

Types de réseaux : du PAN au WAN.

Topologies (bus, étoile, etc.).

Equipements réseau : connecteur, carte réseau, commutateur, pont, routeur, etc.

Modèles de référence (OSI, etc.).

Classification et critères déterminants de choix.

Modèle en couches et protocoles de l'Internet : IP, ICMP, ARP, UDP, TCP, etc.

Internet - intranet - extranet :

Principes de fonctionnement et d'utilisation, protocoles.

Approche des techniques : HTTP, HTML, XML, URL, DNS.

Serveurs web, pare-feu, proxy, FTP, etc.

Réseaux et sous-réseaux, plan d'adressage.

Types d'accès.

Identifiant de session.

Sécurité internet et intranet : filtres, firewalls, proxies, DMZ.

Translation d'adresse, IPSec, SSH, SSL, SHTTP, etc.

Gestion de la mobilité et du nomadisme, accès distants.

Protocoles de bas niveau :

Synchrone/asynchrone, half/full duplex, bipoint/multipoints…

Liaisons RS232C, RS485,, rj45, rj11, SPI, etc.

Configuration matérielle/logicielle.

Transmission sans fil :

Type IEEE 802.15.x bluetooth.

Type IEEE 802.11 wifi, zigbee, etc.

Télécommunication :

RTC.

De l'ADSL au FTTH.

Téléphonie/vidéo sur IP.

TNT, radio numérique, réception satellite.

Réseaux locaux industriels (RLI) :

Ethernet, Ethernet industriel temps réel, CAN, I2C, ASI, etc.

Configuration matérielle/logicielle.