[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