Journal de bord de l'activité réalisée dans le cadre de la formation à l'ÉOF.

Situation géographique de l'école ouverte francophone : localisation sur une carte.

Site internet de l'ÉOF : http://eof.eu.org/

JOURNAL RÉALISÉ EN DOCBOOK

(adapté pour une résolution d'écran de 1024x768 points)


Conçu pour répondre aux besoins des professionnels, ce référentiel de 300 heures d'études, est élaboré en collaboration avec des SSII et des entreprises.

(Temps estimé à 900 heures de travail = étude ÉOF + étude perso + TD + TP + rédaction)

Il est composé de trois grand modules :

  • UI : Usage de l´Internet, donne les pré-requis pour accéder aux deux autres modules. Il permet d´aborder les notions de système et de techniques d´édition.

  • SR : Système/Réseau permet d´aborder les concepts et les architectures de services.

  • SI : Système d´Information aborde les techniques de développement et d´intégration d´applications.

La formation s´adresse à des techniciens, ingénieurs ayant déjà des connaissances en informatique. Le cursus peut être suivi dans sa totalité (UI/SR/SI) ou partiellement (UI uniquement ou UI/SR - UI/SI).

L'accés aux sources de ce journal est ici.


Table des matières
1. Séquence UI003
1.1. Installation d'une distribution
1.2. Premières applications
1.2.1. Environnement de travail
1.2.2. Système de fichiers
1.2.3. Commandes SHELL
1.2.4. Travaux pratiques langage de commande (2)
2. Séquence SR002
2.1. Les commandes systèmes
2.2. Shell et variables d'environnement
2.2.1. Variables d'environnement courantes
2.2.2. Variables communes
2.2.3. Variables particulières
2.2.4. Variables et scripts SHELL
2.3. Gestion des comptes et des données
2.3.1. Exercice sur la création d'utilisateurs et de groupes avec des droits spécifiques a chacun.
2.3.2. Etendue et limites dont on dispose avec le compte root
2.4. Programmation SHELL
3. Séquence SR003
3.1. Le système de gestion de fichier
3.2. Init et les premiers services
3.2.1. sudo
3.2.1.1. Exercice 1
3.2.2. cups - serveur d'impression
3.2.3. apt - gestion des paquets
3.2.4. cron - programmation des taches
3.2.5. init - initialisation du système
3.3. Le noyau Linux
3.3.1. Téléchargement du code source du noyau
3.3.2. Configurer le noyau
3.3.3. Créer l'image finale
3.3.4. Compiler et installer les modules
3.3.5. Amorcer à partir du nouveau noyau
3.3.6. Nettoyage des sources du noyau
4. Séquence UI004
4.1. Historique et prise en main de LaTeX
4.2. Prise en main du compilateur et de l'éditeur Kile
4.3. Commandes de base
4.4. Présentations évoluées
4.5. Modes mathèmatiques
5. Séquence UI005
5.1. Validation de l'environnement de production
5.1.1. La DTD Docbook
5.1.2. Les entités de caractère ISO 8879
5.1.3. Jade ou OpenJade
5.1.4. SP ou OpenSP
5.1.5. Les outils docbook-utils et DocBook2x
5.1.6. JadeTeX
5.1.7. Paquets à installer sur l'ordinateur
5.1.8. Vérifications
5.2. Introduction à XML
5.2.1. XML
5.2.2. La DTD
5.2.3. Le schéma XML
5.3. Réaliser et publier son premier document
6. Séquence SI009
6.1. Architecture logicielle des applications
6.1.1. Objectif général de l´activité
6.1.2. Les composants serveurs
6.1.2.1. Le système d'exploitation
6.1.2.2. Le serveur HTTP Apache2
6.1.2.3. Le serveur de base de données
6.1.2.4. Le langage de script
6.1.3. Les composants clients
6.1.4. Architecture et dialogue des composants
6.1.5. Notions importantes
6.1.5.1. Notion d'URL
6.1.5.2. Notion de protocole
6.1.5.3. Notion de service
6.1.6. Procédure d'analyse système des dysfonctionnements
6.2. Environnement de développement et déploiement d'application
6.2.1. Installation du serveur MySql
6.2.2. Installation du langage de script PHP
6.3. Installation d'une application
6.4. Développement web
6.4.1. Environnement de développement eclipse
6.4.2. Application PHP / MySQL
6.4.2.1. Interface de saisie avant la création de la base
6.4.2.2. Module de création de la base de donnée
6.4.2.3. Interface de saisie avant l'affichage de la base
6.4.2.4. Affichage de la base de donnée
6.4.2.5. Module commun aux modules 1 et 3
6.4.2.6. Procédure d'installation de l'application
7. Séquence SR004
7.1. OSI et TCP/IP
7.1.1. Le modèle OSI
7.1.2. TCP/IP
7.1.3. Correspondance OSI et TCP/IP
7.1.4. Le protocole ARP
7.1.5. IP (Internet Protocol, Protocole Internet)
7.1.6. TCP (Transmission Control Protocol,Protocole de contrôle de la transmission)
7.1.7. UDP (User Datagram Protocol)
7.1.8. ICMP (Internet Control Message Protocol)
7.1.9. RIP (Routing Information Protocol)
7.1.10. Fonctionnement général
7.2. TP sur TCP/IP
7.2.1. Exercice 1
7.2.2. Exercice 2
7.2.3. Exercice 3
7.2.4. Etude de cas
7.2.4.1. Réalisation d'une maquette
7.2.5. Exercices
7.3. Application TCP/IP
7.3.1. Résolutions de noms et adressage statique
7.3.2. Premières applications IP
7.3.2.1. TCP Wrappers et xinetd
7.3.2.1.1. But de TCP Wrappers
7.3.2.1.2. But de xinetd
7.3.2.1.3. TP telnet et ftp
7.3.2.2. Configuration ftp anonyme
7.3.2.3. Configuration et utilisation de SSH
7.3.2.3.1. Création d'une clé sur la machine
7.3.2.3.2. Envoi de la clé sur une autre machine
7.3.2.3.3. Obtenir le "finger print" d'une clé
7.3.2.3.4. Utiliser un agent SSH
8. Séquence SR005
8.1. Étude de DNS
8.1.1. Le protocole DNS
8.2. Apprentissage et installation d'un serveur DNS de base
8.2.1. Configuration du serveur DNS
8.2.2. Configuration d'une station sous Linux
8.2.3. Configuration d'une station sous Windows XP Familial SP2
8.3. Application sur DNS TP1
8.3.1. Résolution simple
8.3.2. Résolution inverse
8.3.3. Manipulation des flags
8.3.4. Section additionnelle
8.4. Application sur DNS TP2
8.4.1. Fichiers de configurations communs à tous les serveurs DNS de societe.fr, filiale1.societe.fr et filiale2.societe.fr
8.4.2. Configuration des serveurs DNS de la maison mère
8.4.3. Configuration des serveurs DNS de filiale1
8.4.4. Configuration des serveurs DNS de filiale2
8.4.5. Sécurisation DNS
8.4.5.1. Sécurisation de BIND
8.4.5.2. Sécurisation ave rndc
8.4.6. Transfert sécurisé :
8.4.6.1. Configuration TSIG
8.4.6.2. Création de la clé privée
8.4.6.3. Modification de la configuration de BIND
8.4.6.4. Mise à jour des DNS à distance
8.5. Test sur DNS
8.5.1. Questions de cours
8.5.2. Question libre
8.5.3. Configuration Bind
9. Séquence SR006
9.1. Etude de SMTP
9.1.1. Bases de SMTP (Rfc-821)
9.1.2. Le logiciel Postfix
9.1.2.1. Configuration du serveur Postfix
9.1.2.2. Configuration SMTP de Kmail
9.1.2.3. Dialogues pour utiliser Postfix.
9.1.2.4. Utilisation de telnet pour envoyer des emails
9.1.3. Installation d'un serveur POP
9.1.4. Installation de fetchmail pour la récupération du courrier en local
9.2. Application sur SMTP
9.2.1. Mode local
9.2.2. Mode Smarthost
9.3. Test sur SMTP
9.3.1. Questions de cours
10. Séquence SR007
10.1. Etude de HTTP
10.1.1. Bases de HTTP 1.0 (Rfc-1945) et HTTP 1.1 (Rfc-2616)
10.1.2. Présentation du serveur Apache
10.1.3. Installation du serveur Apache 1.3
10.2. Application sur HTTP (1)
10.2.1. Installation de base
10.2.1.1. Création d'un utilisateur et d'un groupe
10.2.1.2. Création de la hiérarchie de répertoire pour accueillir notre site
10.2.1.3. Modification du fichier de configuration d'Apache
10.2.1.4. Création des quelques fichiers et répertoires sur la racine du site web
10.2.1.5. Les droits des répertoires et des fichiers
10.2.2. Rfc-2616 et analyse du protocole
10.2.3. Publication de page des utilisateurs
10.3. Application sur HTTP (2)
10.3.1. Mise en place du SSL
11. Séquence SR012
11.1. Etude du fonctionnement du protocole SMB et application sur SAMBA
11.1.1. Installation d'un client Samba
11.1.2. Installation d'un serveur Samba
11.1.2.1. Création d'un partage accessible à tous
11.1.2.2. Création d'un partage avec authentification
11.1.2.3. Impression et partage d'imprimantes
11.2. Samba en tant que contrôleur de domaine
11.2.1. Configuration de Samba
11.2.2. La gestion des comptes sur un contrôleur de domaine
11.2.3. Jonction au domaine et test du PDC
11.3. Samba en tant que BDC
11.4. Administration d'un serveur Samba
12. Séquence SR013
12.1. Etude de LDAP
12.2. Etude et installation d'OpenLDAP
12.2.1. Commandes et serveur OpenLDAP :
12.2.2. Les commandes clientes :
12.2.3. Configuration d'OpenLDAP
12.3. Administration du serveur
12.4. Utilisation des outils clients
13. Séquence SR015
13.1. Espace de travail collaboratif - CVS
14. Séquence SR018
14.1. Etude du langage Perl
14.1.1. Premiers pas
14.1.2. Le cours
14.1.2.1. Travaux dirigés (1)
14.1.2.2. Travaux dirigés (2)
14.1.2.3. Travaux dirigés (3)
14.1.3. Exemples d'applications
15. Séquence SR010
15.1. Appréhender les principes généraux pour sécuriser un système
15.1.1. Le mot de passe
15.1.1.1. Choix du mot de passe
15.1.1.2. Périodicité
15.1.1.3. Test du mot de passe
15.1.2. Les sauvegardes
15.1.2.1. Le système RAID
15.1.2.2. La synchronisation
15.1.2.3. Le robot de sauvegarde
15.1.3. Le chiffrement
15.1.3.1. Le chiffrement symétrique
15.1.3.2. Le chiffrement asymétrique
15.1.4. Un espace hermétique
15.2. Sécuriser les processus et surveiller le système
15.2.1. Le bios :
15.2.2. Le chargeur de démarrage
15.2.3. Les comptes
15.2.4. Le système de gestion de fichiers
15.2.4.1. Les droits
15.2.4.2. Chiffrement du système de fichier
15.2.5. Les services
15.2.6. Les pare-feu
15.2.7. Les serveur graphique
15.3. Connaître les familles d'attaques et les solutions pour les éviter
15.3.1. Introduction : Des atteintes aux systèmes de traitement automatisé des données
15.3.1.1. Code pénal : Art.323-1
15.3.1.2. Code pénal : Art.323-2
15.3.1.3. Code pénal : Art.323-3
15.3.1.4. Code pénal : Art.323-3-1
15.3.1.5. Code pénal : Art.323-4
15.3.1.6. Code pénal : Art.323-5
15.3.1.7. Code pénal : Art.323-6
15.3.2. Les attaques locales
15.3.2.1. L'élévation de privilèges
15.3.2.1.1. La commande sudo
15.3.2.1.2. Rssh et rsync
15.3.2.2. Le mot de passe
15.3.2.3. Les rootkits
15.3.3. Les attaques distantes
15.3.3.1. Le problème de l'ARP
15.3.3.2. Le 'Man In The Middle' : mitm
15.3.3.3. DOS et DDOS
15.3.3.4. XSS
15.3.3.5. L'ingénierie sociale
15.3.4. Sensibilisation
15.3.5. La charte de l'utilisation du système d'information
15.3.6. L'historisation
15.4. Configurer le système de journalisation
15.4.1. Syslog
15.5. Utiliser des outils d'audit de sécurité
15.5.1. Nmap
15.5.2. Nikto
15.5.3. Tiger
15.5.4. Snort
15.5.5. Portsentry
15.5.6. Munin
15.6. Mise en place d'un "honeypot"
15.6.1. Installation
15.6.2. Fonctionnement
15.6.3. Exemple de console pour le pirate :
15.6.4. Les rapports d'activités
15.7. Examen
15.7.1. La sécurité informatique
15.7.2. Réflexion personnelle sur cette séquence
16. Séquence SR011
16.1. Sécurité au niveau routage
16.1.1. L´histoire selon Linux
16.1.1.1. Description de Netfilter
16.1.1.2. IPtables
16.1.1.3. Les chaînes
16.1.1.4. La remise à zéro des compteurs
16.1.1.5. Les polices de sécurité des chaînes
16.1.1.6. Les règles
16.2. Application sur le routage et le filtrage
16.2.1. Introduction
16.2.2. Fonctions de filtrage
16.2.3. Travaux dirigés
16.2.4. Travaux pratiques
16.2.4.1. Installation et configuration du routage
16.2.4.1.1. routeur sous Debian Sarge
16.2.4.1.2. poste_a sous Kubuntu 6.06.1
16.2.4.1.3. poste_b sous Kubuntu 6.06.1
16.2.4.2. Règles de filtrage simple
16.2.4.3. Règles de filtrage par adresse, port et protocoles
16.3. Service proxy
16.3.1. Installation du proxy Squid
16.3.2. Installation de Dansguardian
16.3.3. Proxy transparent
16.4. QoS - Qualité de service
16.4.1. Principe
16.4.2. Prérequis
16.4.3. CBQ - Class Based Queueing
16.4.4. QoS et DoS
17. Séquence SR016
17.1. Théorie sur les réseaux privé virtuels
17.1.1. Définition
17.1.2. Les typologies de VPN
18. Séquence SI001
18.1. Cours sur la méthodologie
18.1.1. Phase d'étude
18.1.1.1. Pré-qualification de la demande
18.1.1.2. Stratégie Internet
18.1.1.3. Définition du cahier des charges
18.1.2. Phase de conception
18.1.2.1. Définition de l'organigramme
18.1.2.2. Conception technique et ergonomique
18.1.2.3. Création graphique
18.1.3. Phase de production
18.1.3.1. Déclinaison graphique et intégration html
18.1.3.2. Développement informatique
18.1.3.3. Tests sur serveur
18.1.3.4. Mise en ligne et référencement
18.1.3.5. Maintenance
18.2. Réalisation d'une analyse des besoins
18.2.1. Réponse aux questions
18.2.2. Analyse sectorielle
18.2.3. Analyse des besoins
18.3. Réalisation de cas d'utilisation
18.3.1. Umbrello
18.3.2. Cas d'utilisation
18.4. Réalisation de maquettes fonctionnelles
18.4.1. Premier essai de maquette - site Karting
18.4.2. Deuxième essai de maquette - site Karting
18.5. Initiation à GIMP
18.5.1. The GIMP
18.6. Réalisation d'une maquette avec GIMP
18.6.1. Page 'Accueil'
18.6.2. Page 'Actualités'
18.6.3. Page 'Nouveautés'
18.6.4. Page 'Karting'
18.6.5. Page 'Circuit'
18.6.6. Page 'Nous contacter'
18.6.7. Page 'Forum'
19. Séquence SI002
19.1. Présentation de HTML
19.2. Présentation du XHTML
19.2.1. Liste des balises XHTML
19.2.2. Liste des attributs des balises
19.3. Application du XHTML à des cas réels
19.3.1. Affichage d'informations
19.3.2. la saisie de données
19.4. Utilisation des CSS
19.4.1. Définition
19.4.2. Histoire
19.4.3. Avantages : pourquoi utiliser les CSS
19.4.4. Quelques exemples
19.5. Atelier CSS
19.5.1. Texte simple
19.5.2. Les "modèles de boîte" ou "box models"
19.5.3. Le rendu des règles CSS
19.5.4. Le positionnement en CSS
19.6. Réalisation d'un site
19.6.1. Premiere maquette de site
19.6.2. Deuxième maquette de site
20. Séquence SI016
20.1. Les langages de script
20.2. Premiers pas en PHP
20.2.1. Principes et utilisation de php :
20.2.2. Quelle version choisir ?
20.3. Projet de synthèse
20.3.1. Définition du projet
20.3.2. Caractéristiques des éléments du projet
20.3.3. Travail attendu
20.3.4. Réalisation du projet de développement
21. Séquence SI019
21.1. Présentation de SPIP
21.1.1. Présentation de SPIP
21.1.2. Présentation de SPIP
21.1.3. Historique de SPIP
21.1.4. Version de SPIP
21.1.5. Liens de la communauté de SPIP
21.2. Installation de SPIP
21.2.1. On prépare le terrain
21.2.2. Download et installation des sources
22. Séquence SI017
22.1. Présentation de PG
22.1.1. Installation de PostgreSQL
22.1.2. Création d'une base de donnée
22.1.3. Accés à la base avec un script Perl
22.2. Configuration d'outils graphiques
22.2.1. Installation de l'outil de contrôle Webmin
22.2.2. Installation de PhpPgAdmin
22.2.3. Installation de PgAdmin3
22.3. Configuration de PG
22.3.1. Application
22.3.2. Backup et restauration
22.4. Utilisation de PG
22.4.1. Installation de la base de données
22.4.2. Utilisation de la base
22.4.3. Modification de la base
22.4.4. Essai personnel sur la base eof
22.5. Types composites et objets
22.5.1. Les tableaux
22.5.2. L'héritage
22.5.3. L´OID - Object IDentifier
23. Séquence SI022
23.1. Présentation de XML
23.1.1. Introduction
23.1.1.1. Documents XML
23.1.1.2. Modèle de document
23.1.1.3. Processeurs XML
23.1.1.4. Parseur XML
23.1.2. Composition d'un document
23.1.3. Les éléments
23.1.4. Documents bien formé
23.1.5. Hiérarchie des éléments
23.1.6. Espaces de noms
23.1.7. Document valide
23.1.8. DTD (Document Type Definition)
23.1.9. XML Schema
23.2. Utilisation de XML
23.2.1. Document bien formé
23.2.2. Les définitions de type de documents
23.2.3. XSD (XML Schema Definition)
23.2.4. TP document formation
23.3. Utilisation de XSLT
23.3.1. XPath
23.3.2. Document XML pour la transformation XSL
23.3.3. Le langage XSLT
24. Séquence SI023
24.1. Présentation du langage
24.1.1. Présentation de Python
24.1.2. Les différents modes d'utilisation de Python
24.1.3. Types de données
24.1.4. Les instructions
24.1.5. Les fonctions
24.1.6. Les modules
24.1.7. Les classes
24.1.8. Les exceptions
24.1.9. Documentation
24.2. Python et persistance
24.2.1. Les fichiers
24.2.2. Bases de données
24.3. Web et Python
24.3.1. Script CGI
24.4. Utilisation de GUI avec Python
24.4.1. Présentation du module Tkinter
24.4.2. Les widgets de base
24.4.3. Positionnement des éléments
24.4.4. Les évènements
25. Séquence SI024
25.1. Installation de Zope
25.1.1. Installation du serveur ZOPE 2.9
25.2. Présentation de DTML
25.2.1. Le langage DTML
25.2.2. Gestion d'un formulaire
25.2.3. Fonctions avancées de DTHML
25.2.4. Exercices d'application
25.3. Présentation de ZPT
25.3.1. Présentation
25.3.2. TAL
25.3.2.1. Syntaxe
25.3.2.2. Commandes
25.3.3. TALES
25.4. Étude d'une application Zope
25.4.1. Présentation
25.4.2. Création d'un produit actualité
25.5. Administration de Zope
25.5.1. Gestion des droits
25.5.2. Configuration d'un instance Zope
25.5.3. Interfacer Zope avec Apache
25.6. Présentation de Plone
25.6.1. Présentation de Plone
25.6.2. Découverte d'un portail Plone
25.6.3. Mise en place d'un portail Plone
26. Suppléments personnels
26.1. Calcul sur des nombres à virgule flottante en script shell bash
26.2. Petit script pour le transfert du journal
26.3. Programme pour modifier le fichier index.html du journal
26.4. Convertir un fichier xml issu d'abiword en xml docbook
26.5. Optimisation des images PNG et de l'affichage de celles-ci
26.6. Traitement des fichier XML aprés un copier/coller de pdf
26.7. Programme pour changer les extensions de fichier sur un site Internet
27. Liste des supports de cours personnels
28. Liste des tableaux et des illustrations