Projet C IG (1A)

IHM (2A)


Post-WIMP (3A)


Projet image (2A)


HCI (MoSIG 2)


Projects Docs

Projet Tcl/Tk (2010-2011)

L'objectif de ce projet est de mettre en oeuvre une boîte à outil d'Interfaces Utilisateur Graphiques toute faite: Tcl/Tk.

Introduction

Vous devez réaliser une application Tcl/Tk qui offre une interface graphique de gestion de fichiers et qui permet le traitement par lots des fichiers.

Ce qui est demandé

Vous devez programmer une application graphique en Tcl/Tk. Votre application doit au minimum offrir les services suivants:

Gestion de fichiers

Dans ce qui suit, "élément" peut être un fichier ou un répertoire.

  • Navigation dans la hiérarchie des répertoires
  • Création de répertoire
  • Affichage de la liste des éléments d'un répertoire
  • Affichage des méta informations du fichier (date de création, droits d'accès, etc.)
  • Destruction d'élément
  • Changement de nom d'un élément
  • Copie ou déplacement d'un ou plusieurs éléments vers un répertoire

Traitements par lots

L'application doit permettre d'effectuer certains traitements sur un nombre arbitraire d'éléments définis par l'utilisateur en sélection multiple. Ces traitements seront:

  • Le changement de l'extension du nom des éléments.
  • Le changement des droits d'accès des éléments.
  • L'archivage des éléments dans un nouveau fichier (.tar.gz)
  • La réduction de la taille d'un lot d'image, à une taille donnée ou à un pourcentage de la taille initiale.
  • Un traitement générique, spécifié par l'utilisateur sous la forme d'une commande UNIX.
    • Si cette commande UNIX contient la séquence de caractères %f, la commande doit être exécutée pour chaque élément du lot en substituant tous les %f par le nom de l'élément courant.
    • Sinon, la commande n'est exécuté qu'une seule fois, mais doit contenir la séquence de caractères %l qui est substituée par la liste des noms des éléments du lot.

Application

Tous les services proposés doivent être utilisables graphiquement : à la souris par appuis sur des boutons, sélections dans des menus, sélections dans des listes, saisie des paramètres, etc. En particulier, il n'est pas autorisé d'imposer à l'utilisateur de saisir des commandes dans un champ de texte (si ce n'est pour le service générique de traitement par lots).

L'application doit fonctionner sur telesun, par lancement d'un script principal "tkfm.tcl":

 telesun % ./tkfm.tcl

pour ouvrir le gestionnaire de fichiers dans le répertoire courant, ou

 telesun % ./tkfm.tcl ~/un/chemin/quelconque

pour ouvrir le gestionnaire de fichiers dans un répertoire donné.

Ce qui est fourni

Comment manipuler le système de gestion de fichier depuis tcl (documentation en anglais plus complete).

Comment exécuter une commande UNIX depuis tcl (documentation en anglais plus complete).

Comment réduire des images avec la commande convert d'ImageMagick (manuel de Convert en anglais):

La syntaxe générale de convert est "convert <file_in> [options] <file_out>". Notamment, la commande :
telesun % convert toto.jpg -resize 50% toto.jpg
réduit de moitié la taille de l'image toto.jpg, et :
telesun % convert toto.jpg resize 100x100 toto.png
inscrit l'image toto.jpg, dans un carré de 100px de coté (avec préservation de l'aspect) et enregistre le résultat dans une nouvelle image png du même nom.

Comment archiver des éléments au format .tar.gz:

telesun % tar -pzcvf nom_archive.tar.gz liste_d'éléments
liste_d'éléments est composée de chaque élément avec son path, séparé avec des espaces. Exemple:
telesun % tar -pzcvf nom_archive.tar.gz fichier1.odp ../fichier2.txt ./rapport/rapport.odp

Organisation

Le projet se fait par groupe de 2 étudiants.

La gestion des groupes et des délivrables se fait avec l'application TEIDE.

Chaque groupe doit fournir, avant la date limite (définie dans TEIDE), tous les fichiers code source du projet, ainsi que tout document nécessaire à l'analyse des sources de votre prototype. Ce rendu TEIDE permettra l'appréciation qualitative du code (troisième critère d'évaluation). L'application elle-même sera évaluée sur le rendu TEIDE, mais nous prendrons aussi en compte des améliorations qui auront pu être apportées entre le rendu TEIDE et la présentation en soutenance.

Chaque groupe doit prendre rendez-vous avec son responsable pour fixer un créneau de soutenance. Les soutenances ont lieu après la dernière séance de projet encadré et avant le 18 mai (début du projet C). Les soutenances durent 20 minutes. Prévoir 15 minutes de présentation (utilisation de l'application, puis présentation de la structure du code), et 5 minutes de questions et d'utilisation de votre application par votre responsable.

La démonstration peut être faite sur un Terminal X, ou sur votre machine personnelle. Dans ce dernier cas, votre machine doit être en marche et prête à faire la démonstration au moment où vous entrez dans la salle de soutenance.

Consultez la page des soutenances de François (groupe mardi), Mathieu (groupe mercredi), Alfonso (groupe vendredi).

Évaluation

Le projet est évalué sur:

  • la qualité de la soutenance: pas de perte de temps pour le lancement de l'application, non dépassement du temps alloué, discours préparé, présentation efficace de l'application et du code, répartition de la parole dans le binôme.
  • l'application elle même: elle fait ce qui est demandé, elle n'a pas de bugs
  • la qualité du code (structure, documentation, commentaires).
Edit - History - Upload - Print - Recent Changes - Search
Page last modified on May 13, 2011, at 09:51 AM