Consultant et Formateur - Unix/Linux/Open Source Quelques exemples de mes formations Unix-Linux : Les bases indispensables Programmation shell : Scripts Unix-Linux Langage Perl : Scripts Unix-Linux-Microsoft Unix-Linux : L'Essentiel de l'administration système Unix-Linux : Exploitation Linux : Mise en oeuvre de serveurs Administration d'un site Web Open Source Administration d'un serveur Apache Langage SQL (MySQL ou PostgreSQL) Administration MySQL Langage C 35 Avenue du Général Gallieni- 92190 MEUDON http://www.dutreix.com ou http://www.dutreix.fr (michel@dutreix.com) N SIRET : 440 723 484 00026
Durée: 4 jours Unix-Linux : Les bases indispensables Acquérir les bases essentielles à l'utilisation d'un système Unix quelle que soit la version ou d'un système Linux quelle que soit la distribution. La formation présente les mécanismes fondamentaux et fournit une sélection des commandes et utilitaires nécessaires dans la pratique quotidienne. Ce stage fournit également les compétences de départ permettant d'aborder des sujets complémentaires (programmation shell, administration système et réseau, programmation système...). Aucune connaissance préalable n est nécessaire. Ce stage s adresse à toute personne ayant de bonnes connaissances générales en informatique. - Caractéristiques générales et composantes du système - Panorama des versions Unix et distributions Linux - Connexion et déconnexion, premières commandes simples - Accès à la documentation - Approche utilisateur de l'organisation des disques - Types et noms des fichiers, arborescence, commandes essentielles - Maîtrise des droits d'accès - Prise en main de l'éditeur de texte vi - Processus (définitions, attributs, commande ps, interruptions) - Mécanismes disponibles pour l'utilisateur (redirections, pipeline, arrière-plan, processus stoppés) - Utilisation du shell, variables d'environnement, alias, historique des commandes, fichiers de connexion - Premières notions de programmation shell - Manipulation de commandes essentielles (find, sauvegardes, filtres...) - Configuration TCP/IP de base et manipulation des commandes réseau - Interfaces graphiques (principe fonctionnel X-Window, bureaux (CDE, KDE, GNOME)) Le contenu du stage est basé sur l'expérience de terrain et présente ce qui est fondamental dans une utilisation réelle d'un système Unix ou Linux. Le stage insiste sur la compréhension des mécanismes et n'est pas seulement une suite d'utilisation de commandes. Ce stage peut se suffire à lui-même mais il constitue aussi le tronc commun technique de départ pour toute activité ultérieure dans un environnement Unix-Linux. 2/12
Programmation shell : Scripts Unix-Linux Durée: 3 jours Savoir programmer ou maintenir des scripts écrits en shell (ksh ou bash). Il est nécessaire d'avoir des compétences équivalentes au stage "Unix - Linux : Les bases indispensables" ou d'avoir une expérience pratique sur le système. Il est souhaitable d'avoir de bonnes notions d'algorithmique et de programmation. - Les différents shells (sh, ksh, bash...) - Portabilité, contextes d'utilisation - Rappels sur l'utilisation du shell - Variables et environnement, caractères spéciaux - Interprétation de la ligne de commande - Procédures et paramètres - Codes retour - Tests - Boucles - Lectures clavier - Expressions arithmétiques - Aiguillages - Fonctions - Commandes internes utiles - Expressions génériques et expressions régulières - Intégration des filtres (sort, grep, tr, sed...) - Le langage awk La programmation shell nécessite un savoir-faire difficile à acquérir seul. Le stage permet d'assimiler le sujet grâce à des exercices conçus pour illustrer les syntaxes mais aussi pour présenter recettes, astuces et pièges. Au-delà du langage lui-même, la formation permet aussi de se perfectionner sur l'utilisation et la maîtrise du système Unix en tant que tel. Ce stage est la suite naturelle de la formation "Unix-Linux : Les bases indispensables" et peut s'enchaîner immédiatement ou après un délai d'assimilation. Le stage peut également s'envisager après une formation d'administration système. En effet, la programmation shell est un outil de terrain pour l'administrateur système mais sa maîtrise n'est pas indispensable pour pouvoir suivre une formation d'administration. 3/12
Durée: 4 jours Langage Perl : Scripts Unix-Linux-Microsoft Savoir rédiger ou maintenir des scripts écrits en Perl. Par son efficacité, sa portabilité (Unix et Windows) et sa richesse fonctionnelle, Perl s'est imposé dans le contexte des entreprises (gestion de fichiers de texte, scripts d'administration, développements Web via le modèle CGI ). Selon le contexte d'utilisation, ce stage peut donc concerner à la fois les administrateurs et les développeurs. Il est recommandé de posséder de bonnes notions d'algorithmique et de programmation. - Caractéristiques du langage, versions - Accès à la documentation, ressources Internet - Types de données (scalaires, tableaux, hachages, références) - Opérateurs et expressions - Instructions (tests, boucles, autres instructions) - Expressions régulières - Fonctions - Fonctions intégrées, modules standards, modules CPAN - Fabrication d'un module non orienté objet - Gestion de fichiers, entrées/sorties - Fonctionnalités complémentaires (tris, informations système, traitement de chaînes, processus ) - Scripts Perl dans un contexte Web, utilisation du module CGI - Accès aux bases de données à l aide du module DBI - Introduction à la programmation objet en Perl - Conception d'un module orienté objet Le stage permet, dans un premier temps, de maîtriser le langage lui-même (syntaxe, recettes, astuces, pièges) puis, dans un second temps, de savoir l'appliquer dans divers contextes classiques (traitement de fichiers, scripts système, programmation CGI ). Le Perl est un produit libre qui s'installe aisément sur diverses plates-formes. La formation peut donc être proposée dans un environnement mixte (Unix ou Linux et Microsoft, via le portage ActivePerl). 4/12
Durée: 4 jours Unix-Linux : L Essentiel de l administration système Acquérir de premières solides compétences pour administrer un site Unix pouvant comporter les versions majeures (AIX, HP-UX, Solaris, Linux). Ce stage est destiné aux personnes ayant à intervenir dans un contexte Unix hétérogène (administrateurs, exploitants, intégrateurs, équipes d'infogérance, équipes support). Il est nécessaire d'avoir des compétences équivalentes au stage "Unix - Linux : Les bases indispensables" ou d'avoir une expérience pratique sur le système. L'apprentissage de la programmation shell ou Perl peut s'envisager, selon ses contraintes, avant ou après cette session. - Tâches d'administration, approche fonctionnelle par rapport aux versions - Accès à la documentation - Organisation des disques (disques physiques, partitions, volumes logiques) - Systèmes de fichiers (types de filesystems, création, montage, démontage, vérification, réparation) - Partage de disques via NFS - Sauvegardes et restaurations - Configuration TCP/IP de base (interface physique, adressage IP, nom et domaine DNS, passerelle par défaut) - Création et gestion des groupes et des utilisateurs - Services d'impression - Démarrage et arrêt du système (niveaux d'exécution, processus init, démons essentiels, paramétrage) - Maintenance quotidienne (fichiers logs, espace de pagination, IPCs, service cron) - Résolution de problèmes, optimisation La formation insiste sur la démarche permettant de s'adapter aux différences de mise en œuvre liées aux versions. L'accent est donc mis sur une vision claire des concepts pour une application maîtrisée en terme de recettes opérationnelles variées. L'approche "ligne de commandes" s'en trouve naturellement privilégiée. 5/12
Unix-Linux : Exploitation (commandes et tâches simples d'administration) Durée: 5 jours Fournir une sélection de compétences essentielles pour une exploitation Unix-Linux de premier niveau. Cette formation permet de maîtriser les concepts fondamentaux, de connaître les principales commandes, les bases de la programmation shell et de savoir effectuer certaines tâches simples d'administration. Elle est destinée aux personnes qui ne peuvent pas ou ne souhaitent pas suivre un cycle plus complet. Aucune connaissance préalable n est nécessaire. Ce stage s adresse à toute personne ayant de bonnes connaissances générales en informatique. - Caractéristiques générales et composantes du système - Panorama des versions Unix et distributions Linux - Connexion au système, premières commandes simples, accès à la documentation - Arborescence, commandes de manipulation des fichiers, droits d'accès - Mécanismes essentiels (élimination de processus, redirections, pipeline, arrière-plan) - Utilisation pratique du shell, paramétrages, fichiers de connexion - Éléments de programmation shell (procédures, paramètres, instructions de contrôle) - Sélection de commandes essentielles - Vue générale de l'organisation des disques (disques physiques, partitions, volumes logiques, filesystems) - Sauvegardes et restaurations - Service cron de planification des travaux - Démarrage et arrêt du système - Configuration TCP/IP de base - Résolution de problèmes, optimisation Le terme "Exploitation Unix" prend une signification concrète par rapport au contexte de chaque entreprise. Cette formation se positionne comme une sélection de compétences essentielles. Son contenu peut aussi constituer une base de discussion pour arrêter un programme sur mesure et éventuellement cibler une version. 6/12
Linux : Mise en oeuvre de serveurs (DNS, Apache, Samba, Messagerie...) Durée: 5 jours Acquérir de solides compétences pour administrer des systèmes Linux jouant le rôle de serveurs (Internet/Intranet, serveurs d'infrastructure, serveurs de fichiers...). Cette formation s'inscrit dans un contexte multi-distributions (Redhat, Suse, Mandriva, Debian...). Ce stage est destiné aux personnes ayant à gérer un site Linux (administrateurs, exploitants, intégrateurs, équipes d'infogérance, équipes support). Il est nécessaire d'avoir des compétences équivalentes au stage "Unix - Linux : Les bases indispensables" ou d'avoir une expérience pratique sur le système. - Panorama de l'environnement Open Source, distributions Linux et principaux logiciels libres - Aspects essentiels d'administration système dans le contexte serveur - Interfaces réseau, configuration TCP/IP de base - Sécurisation des accès via xinetd - Démarrage et arrêt du système (processus init, scripts de démarrage, chargement des modules) - Service de noms DNS et serveur DHCP - Fonctionnement du DNS - Le logiciel bind de l'isc - Fichiers de configuration, démon named - Mise en oeuvre (serveur primaire, serveurs secondaires, serveurs caches) - Fonctionnement du protocole DHCP - Le serveur DHCP de l'isc - Serveur FTP - Exemple du serveur vsftpd - Configuration du FTP anonyme - Serveur de fichiers et d'impression - Configuration de NFS (serveur, client, options de sécurité, automontage) - Environnements hétérogènes avec SAMBA jouant le rôle de contrôleur de domaine Windows - Serveur Web Apache - Les modules Apache - Directives essentielles du fichier httpd.conf - Sécurité (méthodes d'authentification, configuration SSL) - Serveur de messagerie - Protocoles (SMTP, MIME, POP, IMAP) - Configuration de base sendmail, macros M4 - Configuration de base postfix - Éléments de sécurité pour un serveur Linux - Secure Shell (SSH) - Firewall avec iptables Cette formation permet une étude des services mis en oeuvre en entreprise via des distributions Linux et constitue une alternative ou un complément à la formation "Unix-Linux: L Essentiel de l administration système". 7/12
Durée: 5 jours Administration d'un site Web Open Source Acquérir de solides compétences pour gérer de manière autonome un serveur XAMP (Linux ou Windows, Apache, MySQL, PHP). Dans cet objectif, la formation regroupe plusieurs aspects : mise en oeuvre du serveur Apache, maîtrise de MySQL et initiation au langage PHP. Ce stage est destiné aux développeurs de sites Web, administrateurs système ou webmestres. Il est nécessaire de posséder de bonnes notions de base sur Linux ou Microsoft Windows selon la plate-forme choisie. Il convient également d'avoir des notions sur le langage SQL ainsi que sur le langage HTML. - Serveur Web Apache - Installation via les sources - Directives essentielles du fichier httpd.conf - Gestion des programmes CGI - Gestion des fichiers logs, outils de statistiques - Mise en œuvre des hôtes virtuels - Sécurisation du serveur Web (SSL, méthodes d'authentification) - Administration MySQL - Architecture et composantes de MySQL - Installation et paramétrage - Création de bases et de tables, saisies de requêtes - Administration et maintenance - Gestion des utilisateurs et des privilèges - Gestion des logs, sauvegardes et restaurations - Gestion des performances, optimisation - Développements PHP - Installation, configuration, intégration dans Apache - Panorama du langage - Constantes, variables scalaires, tableaux, tableaux associatifs - Opérateurs et expressions, instructions, fonctions - Classes et Objets - Traitement de formulaires - Gestion des fichiers - Accès aux bases MySQL - Sessions Cette formation propose une synthèse des compétences mises en jeu dans les solutions XAMP (LAMP ou WAMP) et permet de devenir autonome dans la gestion et le développement de sites Web dynamiques. 8/12
Durée: 2 jours Administration d'un serveur Apache Acquérir la maîtrise de la mise en oeuvre et de la gestion de serveurs Web Apache. Ce stage est destiné aux administrateurs système, exploitants, équipes d'infogérance, équipes support. Il est recommandé de posséder des connaissances de base sur les environnements Web. - Introduction - Versions, ressources, documentation - Les modules Apache - Installation - Installation à partir des sources (exemple Linux) - Lancement des démons, premiers tests - Les fichiers de configuration - Configuration et administration - Premières directives essentielles - Directives de sécurisation des répertoires - Alias et redirections - Administration déléguée (fichiers.htaccess) - Pages personnelles - Authentification des utilisateurs - Hôtes virtuels - Fichiers de logs - Gestion des erreurs - Contenus dynamiques - Programmes CGI - Intégration du PHP - Serveurs d applications Java - Configurations sécurisées - Authentifications renforcées - Protocole SSL, certificats - Compléments - Négociation de contenu - Performances Cette formation permet une étude plus complète et détaillée du logiciel Apache par rapport aux formations " Linux : Mise en œuvre de serveurs" ou "Serveurs XAMP". 9/12
Durée: 3 jours Langage SQL (MySQL ou PostgreSQL) Comprendre la terminologie des bases de données relationnelles et acquérir les bases essentielles du langage SQL dans le contexte des bases de données OpenSource (MySQL, PostgreSQL). Ce stage est destiné à toute personne non encore initiée aux bases de données. Aucune connaissance préalable n est nécessaire. Ce stage s adresse à toute personne ayant de bonnes connaissances générales en informatique. - Introduction - Terminologie du modèle relationnel - Architecture d'une base de données - Éléments de conception d'un schéma de base - Premières bases du langage SQL - Types de données - Création de tables - Contraintes d'intégrité - Sélections - Sélections simples - Comparaisons, tris - Fonctions essentielles (numériques, chaînes, dates ) - Sélections multitables, différents types de jointures - Requêtes imbriquées - Modifications - Insertions - Mises à jour - Suppressions - Gestion des transactions - Notion de transaction, commit, rollback - Accès concurrents, niveaux d'isolation - Aspects complémentaires - Droits d'accès, privilèges - Utilisation des Index, optimisation des requêtes - Vues 10/12
Durée: 4 jours Administration MySQL Être autonome concernant l'installation, la configuration et l'administration du logiciel libre MySQL. Ce stage s'adresse aux administrateurs système, développeurs et gestionnaires d'applications autour de MySQL. Il convient d'avoir des notions sur le langage SQL et sur la terminologie des bases de données relationnelles. - Prise en main de MySQL - Versions, fonctionnalités et outils, ressources et documentation - Types d installation, exemple complet d installation sur un système Linux - Paramétrages de post-installation et premiers tests - Manipulation des données - Prise en main de l'outil client mysql - Création d une base de données - Types de données et fonctions MySQL - Types de tables (MyISAM, MEMORY, InnoDB ) - Importation et exportation de données - La base INFORMATION_SCHEMA - Connexions et droits d'accès - Principe d authentification et de vérification des droits - Structure des tables de la base mysql de gestion des droits - Gestion des utilisateurs et de leurs privilèges - Tables transactionnelles InnoDB - Notion de transaction, niveaux d isolation - Structure physique des tables - Paramétrages et optimisation - Fichiers de logs, sauvegardes, réplication - Les différents journaux de MySQL (erreurs, requêtes, journal binaire, requêtes lentes) - Stratégies de sauvegardes (serveur arrêté, serveur actif, types de tables, verrouillage ) - Les commandes (mysqldump, InnoDB Hot Backup, autres commandes ) - Réplication maître-esclave (mise en œuvre, résolution des problèmes) - Aspects complémentaires - Observation de l activité du serveur, variables dynamiques, variables d état - Panorama du SQL procédural (procédures stockées, triggers, curseurs ) - Démarche d optimisation des requêtes, outil EXPLAIN - Cache des requêtes - Paramètres essentiels d optimisation du serveur - Partitionnement 11/12
Durée: 4 jours Langage C Savoir rédiger des programmes en langage C, maîtriser les mécanismes particuliers de ce langage. Il est nécessaire de posséder de bonnes notions d'algorithmique et de programmation. - Structure d'un programme, environnement de développement - Identificateurs, mots réservés, commentaires, constantes - Variables, types de base, visibilité - Opérateurs et expressions - Instructions de contrôle (tests, boucles, aiguillage) - Tableaux - Utilisation des pointeurs - Fonctions (prototypes, passage d'arguments, retour, rôle des pointeurs) - Structures et unions - Types complémentaires - Directives de compilation - Bibliothèque standard - Fonctions d'entrées/sorties - Allocation dynamique de mémoire La maîtrise du langage C constitue notamment le préliminaire indispensable à l'étude de la programmation système et réseau en environnement Unix-Linux. 12/12