[cours-linux-esnig] Chapitrage cours II 2004-2005

Marc SCHAEFER schaefer at alphanet.ch
Wed Jun 2 10:45:06 CEST 2004


Bonjour,

voici un chapitrage provisoire pour le cours II version 2004-2005.
Quelqu'un est-il intéressé par donner des parties, si oui
dites-le moi.

Cours II: Applications et développement OSS avec GNU/Linux

BUGS
   - XML enseignement mal placé

Résumé:
   Développement d'applications (CMS, bases de données, WWW,
   GUI, génération et gestion documentaire (LaTeX, XML, OpenOffice).

Mode:
   Cours frontal théorique, accent sur la pratique. Projet final
   avec construction d'une application.

Evaluation:
   - Développement d'une application avec les outils vus au cours

Pré-requis:
   - Connaissances de C, C++
   - Connaissances de base de HTML
   - Connaissances de base de UNIX (Linux)

Chapitres:
   0. Conférence (soit incluse dans le cours, soit extérieure) (10 périodes)
      Enseignant responsable/proposé: Philippe Ney <philippe at tizoo.com>
	   A. Les choix
		1) Pour quelles platformes le développement est-il destiné ?
			(window, linux, ..., multiplatforme)
			première contrainte sur le langage
		2) Quelles sont les données (à traiter, à sauvegarder) ?
			type d'accès aux données (DB, XML, texte, ...)
		3) Qui va utiliser le programme ?
			type d'interface : GUI, ncurses, texte
		4) Performances ?
			langage : web, compilé, interprété

	   B. L'environnement
		1) Gestion du projet (seul ou à plusieurs), quels outils ?
			CVS
			Bugzilla
			MrProject
			Liste de diffusion
		2) Développement, quels outils ?
			IDE / emacs
			gcc, gdb, gprof, valgrind
			makefile
			autoconf, autogen
			support web
			dev-list
	
	  C. Faire les choses bien
		1) Je commente mon code
			commentaires p.r. au langage (#, //, /**/, ...)
			utilisation d'outils de génération de doc (Doxygen,
                        Javadoc, ...)
		2) Je commente ce que fait mon programme et comment l'utiliser
		3) Avant de commencer, je structure mon développement
			réflexion (qu'est-ce qui est graphique, algorithmique,
                                   ...)
			UML
			eXtreme Programming
			Avant de ré-inventer la roue, je regarde ce qui existe
			-> bibliothèques existantes

   1. Gestion de l'information (15 périodes)
      Enseignant responsable/proposé: @@ A TROUVER @@
		- Quelles informations stocker
			- données
			- profils
			- paramètres
			- calibration		
		
		- Comment la stocker
			- fichier texte
			- Introduction aux bases de XML
			- base de données sous forme de bibliothèque (libDB)
			- base de données tiers (PostgreSQL, MySQL, ...)
                                * Concepts multitiers
				* Rappel sur les SGBD/R
                                * Accès aux bases de données
                                * Outils

   2. Environnements et outils de développement (30 périodes)
      Enseignant responsable/proposé: @@ A TROUVER @@
           Outils classiques
                   - UML (umbrello, eclipse)
                   - CVS, arch, svn
                   - Bugzilla
                   - gdb, gprof, valgrind
                   - Doxygen, Javadoc, ...
            
           Packaging

           Interfaces graphiques
                   - java - SWING
                   - python - wxWindows
                   - C++ - wxWindows
                   - tcl - tk
                   
           Générateurs et constructeurs de GUI
                   - Qt Designed
                   - KDE kdevelop
                   - GNU Forms
                   
           Evolution vers XML
           
           L'option WWW et ses avantages/désavantages
                   - Environnement WWW: Apache et ses modules

           Frameworks
                   - GNU Enterprise

   3. Outils et formats de génération et de gestion documentaire (30 périodes)
      Enseignant responsable/proposé: @@ A TROUVER @@
         format *roff (man, etc)
         format TeX/LaTeX
         format texinfo
         SGML et applications (DOCBOOK)
         rappels sur HTML
         Introduction aux bases de XML
         CMS (Content Management System)
         Cas pratiques

   4. Infrastructure de traitement de données (35 périodes == 7 soirs)
      Enseignant responsable/proposé: Marc SCHAEFER <schaefer at alphanet.ch>
         Le langage Perl
            Bases
            XML et Web services
            Génération de documents en Perl (OpenOffice, Microsoft Excel)
            Web services

   9. Projet: création d'une application utilisant les techniques et
              logiciels vus au cours. Décomposition en traitement
              de données (Web services en Perl) et GUI en C++.
              Utilisation des formats de données vus au cours.
              Par groupe selon la méthode du `extreme programming'
              (30 périodes == 6 soirs)
      Enseignant responsable/proposé: Marc SCHAEFER <schaefer at alphanet.ch>
            









More information about the cours-linux-esnig mailing list