ContestOrg

Logiciel d'organisation de tournois

Cyril Perrin

2.4.0


Table des matières

1. Mot de l'initiateur du projet
La petite histoire
Vision des choses
Remerciements
2. Introduction
3. Lancer l'application
4. Utilisation de l'application
Interface générale
Ouvrir un concours
Créer/Configurer le concours
Ouvrir un modèle
Onglet "Informations générales"
Onglet "Points et classement"
Onglet "Exportations et diffusions"
Onglet "Prix"
Onglet "Lieux et emplacements"
Onglet "Programmation des matchs"
Onglet "Propriétés des participant"
Fenêtre des participants
Gérer les catégories
Gérer les poules
Ajouter/Editer un participant
Importer des participants
Fenêtre des phases qualificatives
Créer/Editer une phase
Créer/Editer un match
Fenêtre des phases éliminatoires
Créer les phases
Renseigner les résultats
Exporter les informations du concours
Exportations prédéfinies
Exportations à la volée
Diffuser les informations du concours
Créer des thèmes d'exportations et de diffusions
Fichier de configuration
Transformations XSLT
Créer des modèles de tournois
5. Guide d'organisation d'un tournoi sportif
Gérer la logistique
Assurer votre événement
Communiquer sur l'événement
Organiser l'événement
Le stand buvette
Animez les tribunes
La remise des prix
6. Contribuer au projet
Rejoindre l'équipe
Contribuer occasionnellement
7. Crédits
Membres de l'équipe
Donateurs
Contributeurs occasionnels
Packs d'icônes utilisés
Outils utilisés
Librairies utilisées
Sources

Liste des tableaux

7.1. Liste des membres de l'équipe
7.2. Liste des donateurs
7.3. Liste des contributeurs occasionnels
7.4. Liste des packs d'icônes utilisés
7.5. Liste des outils utilisés
7.6. Liste des librairies utilisées
7.7. Sources utilisés

Liste des exemples

4.1. Exemple d'utilisation du choix du type de participants
4.2. Exemple d'utilisation du statut "Homologué"
4.3. Exemple d'utilisation des exportations prédéfinies
4.4. Exemple d'utilisation des diffusions
4.5. Exemple d'utilisation des lieux, horaires et emplacements
4.6. Exemple d'utilisation des propriétés de participant
4.7. Exemple de catégories

Chapitre 1. Mot de l'initiateur du projet

La petite histoire

Lorsque que j'ai commencé à développer ContestOrg en 2009, mon objectif était de générer un site Web dans le cadre d'un concours de robotique pour que les participants puissent accéder à leurs résultats en ligne. Au cours du développement, ContestOrg est devenu petit à petit une application plus ou moins complète d'organisation de concours. Quelques mois suivant la version finale de ContestOrg 1, j'ai décidé de le mettre en ligne sans trop d'espoir que celui-ci rencontre un certain succès.

A ma grande surprise, ContestOrg a vite trouvé ses utilisateurs. L'idée de développer une deuxième version de l'application s'est rapidement transformée en nécessité à la vue des différents retours des utilisateurs. En plus de mes notes personnelles, tous ces retours, qu'ils soient positifs ou négatifs, ont été d'une grande aide pour l'établissement du cahier des charges de cette deuxième version. C'est ainsi que j'ai commencé le développement de ContestOrg 2 à la fin de l'été 2010. Désireux de livrer une application complète et par manque de temps, la date de sortie a subi de nombreux reports. Après de longs mois d'effort, la nouvelle version voit enfin le jour au printemps 2011 en version beta. L'année qui suit fut dédiée à la récolte d'avis des utilisateurs et c'est au printemps 2012 que ContestOrg 2 est enfin disponible en version finale.

Depuis ContestOrg s'améliore au fil du temps grâce aux nombreux retours de ses utilisateurs.

Vision des choses

Au delà du service rendu à ses utilisateurs, j'ai voulu faire de ContestOrg un logiciel libre. L'objectif recherché est de créer une communauté où chacun peut apporter sa pierre à l'édifice : signalement d'erreurs, proposition d'améliorations, développement de fonctionnalités, aide aux utilisateurs, rédaction de documentation... L'application ne pourra que s'en porter mieux. En tant qu'initiateur du projet, j'aurais toujours mon mot à dire dans les grandes lignes mais je ne serais en aucun cas amené à verrouiller le projet. ContestOrg doit devenir un projet vivant de par sa communauté.

Différentes valeurs venant du monde libre sont portés par le projet :

  • partage : libre échange de la connaissance

  • passion : amour du travail bien fait

  • ouverture : pas de barrières entre utilisateurs et contributeurs

  • liberté : accès aux sources

  • autonomie : appartenance à la communauté et non à une quelconque entité

Remerciements

Se lancer dans un tel projet n'est pas chose aisée et je me plaît à dire que si j'avais su à l'avance le travail que cela aurait engendré, je ne me serais pas lancé dans l'aventure. Ainsi, je tiens à remercier les personnes qui m'ont soutenus et qui me soutiennent encore : ma fiancée Gaëlle, mes deux frères Luke et Allan, ma soeur Céline et mes deux parents Etienne et Pascale. J'en profite pour remercier également tous les utilisateurs qui m'ont envoyé leurs retours ainsi que tous les développeurs qui sont à l'origine des librairies que l'application réutilise.

Chapitre 2. Introduction

ContestOrg est une application visant à organiser n'importe quel type de tournoi. Celle-ci a été pensée et développée de manière générique, c'est à dire qu'aucune spécificité lié à un type de tournoi en particulier n'est présente. Ainsi, les usages que l'on peut avoir de ContestOrg différent selon des besoins des utilisateurs.

Il y a trois grandes parties dans ContestOrg :

  • Équipes/Joueurs : création/importation des participants, répartition au sein des catégories/poules.

  • Phases qualificatives : gestion des matchs à caractère non éliminatoire au sein des poules.

  • Phases éliminatoires : gestion des matchs à caractère éliminatoire au sein des catégories.

A ces trois grandes parties viennent s'ajouter différents utilitaires :

  • Exportations : permettent de générer des fichiers (PDF, HTML, ...) à partir des données du tournoi

  • Diffusions : permettent d'afficher sur des écrans distants des informations du tournoi

Dans ce document, nous verrons en détail l'ensemble des fonctionnalités proposées par l'application. Si vous ne trouvez pas les informations que vous cherchez dans ce document, vous pouvez nous contacter en utilisant : le forum ou le formulaire de contact.

Chapitre 3. Lancer l'application

ContestOrg est une application développée en Java. Celle-ci a donc besoin de la machine virtuelle Java ainsi que les bibliothèques standards Java pour fonctionner. Il faut donc s'assurer que l'environnement d'exécution Java soit bien installé sur votre ordinateur. Suivez la procédure d'installation en fonction de votre système d'exploitation pour être en mesure de pouvoir lancer ContestOrg.

Pour lancer l'application sous Windows, il vous faut double cliquer sur ContestOrg.exe. Il s'agit d'un fichier JAR encapsulé dans un fichier EXE. Sous Linux et Mac OS, il vous faut lancer le terminal et exécuter la ligne suivante : java -jar ContestOrg.jar.

ContestOrg doit être lancé depuis sont répertoire d'installation. Si vous désirez créer un script de lancement, vous ne pourrez donc pas effectuer directement la ligne suivante : java -jar /chemin/de/contestorg/ContestOrg.jar. Il vous faudra d'abord effectuer la ligne suivante : cd /chemin/de/contestorg, puis la ligne suivante : java -jar ContestOrg.jar.

Chapitre 4. Utilisation de l'application

Interface générale

Lorsque vous lancez ContestOrg, nous pouvons observer sur la gauche une barre latérale composée de différents boutons. Cette barre latérale est divisée en trois zones : une zone dediée à la création et au chargement de tournoi, une zone dédiée au tournoi courant et une zone dédiée à l'application.

Description des boutons de la barre de menus :

  • Nouveau : créer un nouveau tournoi

  • Ouvrir : ouvrir un fichier de tournoi

  • Sauvegarder : sauvegarder les modifications du tournoi

  • Sauvegarder sous : sauvegarder le tournoi dans un autre fichier

  • Exporter : afficher la fenêtre des exportations

  • Publier : lancer l'exportation définie pour la publication

  • Diffuser : afficher la fenêtre des diffusions

  • Configurer : configurer le tournoi

  • Fermer : fermer le tournoi

  • Aide : ouvrir l'aide

  • Site Web : afficher le site Web de ContestOrg

  • A propos : afficher l'à propos

  • Quitter : quitter l'application

Sur la zone de droite, nous retrouvons les trois grandes parties de l'application sous la forme d'onglets (équipes/joueurs, phases qualificatives et phases éliminatoires). Chacune de ces trois parties est divisée en quatre zones : une zone dédiée à l'arborescence catégories/poules (à gauche), une zone dédiée aux données de l'onglet courant (au centre), une zone dédiée aux actions sur l'arborescence (en haut), une zone dédiée aux actions sur les données (à droite). Notez que la zone dédiée aux données de l'onglet courant dépendent de la sélection effectuée dans l'arborescence.

Ouvrir un concours

Pour ouvrir un concours, cliquez sur le bouton Ouvrir puis sélectionnez le fichier de concours désiré. L'extension choisie est « .co » reprenant les initiales de ContestOrg.

Concernant le format de fichier contenant les données du concours, il s'agit d'un fichier XML respectant la DTD fournie dans le fichier dtds/concours.dtd au sein du répertoire de ContestOrg. La DTD est également disponible sur le site Web de ContestOrg à l'adresse http://www.elfangels.fr/contestorg/data/dtds/concours.dtd.

Créer/Configurer le concours

Dans la barre latérale de gauche, cliquez sur Nouveau ou Configurer pour lancer la fenêtre de création/configuration du tournoi.

Ouvrir un modèle

Au clic sur le bouton Nouveau, la fenêtre des modèles de concours s'affiche. Nous y retrouvons la liste des modèles de concours ainsi qu'un bouton pour créer son propre concours avec ses propres paramètres. Les modèles de concours possèdent des paramètres préétablis qu'il est possible de modifier suite à la sélection du modèle via le bouton Configurer.

Rendez-vous dans le chapitre Créer des modèles de tournois pour se documenter sur la création et l'édition de modèles.

Ci-dessous la liste des modèles de concours :

  • Badminton :

    • Points en fonction du résultat : victoire à 1 pts, égalité désactivée, défaite à 0 pts, forfait à -1 pts

    • Objectifs : jeux remportés, points remportés

    • Critères de classement : points, résultat des rencontres directes, goal-average général par différence des jeux remportés, résultat des rencontres directes, goal-average général par différence de l'objectif "points remportés"

  • Basketball :

    • Points en fonction du résultat : victoire à 2 pts, égalité désactivée, défaite à 1 pts, forfait à 0 pts

    • Objectifs : score, pénalité

    • Critères de classement : points, goal-average particulier par différence du score, goal-average particulier inversé par différence du nombre d'objectif "pénalité", goal-average général par différence du score, le moins d'objectifs "pénalité"

  • Billiard :

    • Points en fonction du résultat : victoire à 3 pts, égalité à 2 pts, défaite à 1 pts, forfait à 0 pts

    • Objectifs : manches remportées

    • Critères de classement : points, goal-average particulier par différence des points, goal-average général par différence des manches remportés, nombre de victoires

  • Echecs :

    • Points en fonction du résultat : victoire à 1 pts, égalité à 0.5 pts, défaite à 0 pts, forfait à 0 pts

    • Objectifs : -

    • Critères de classement : points

  • Football :

    • Points en fonction du résultat : victoire à 4 pts, égalité à 2 pts, défaite à 1 pts, forfait à 0 pts

    • Objectifs : score, pénalité

    • Critères de classement : points, goal-average général par différence du score, le plus d'objectifs "score", le moins d'objectifs "pénalité"

  • Football américain :

    • Points en fonction du résultat : victoire à 3 pts, égalité à 2 pts, défaite à 1 pts, forfait à 0 pts

    • Objectifs : score

    • Critères de classement : points, goal-average particulier par différence du score

  • Handball :

    • Points en fonction du résultat : victoire à 3 pts, égalité à 2 pts, défaite à 1 pts, forfait à 0 pts

    • Objectifs : score

    • Critères de classement : points, goal-average particulier par différence des points, goal-average particulier par différence du score, goal-average général par différence du score, le plus d'objectif "score"

  • Jeu de go :

    • Points en fonction du résultat : victoire à 1 pts, égalité à 0.5 pts, défaite à 0 pts, forfait à 0 pts

    • Objectifs : -

    • Critères de classement : points

  • Judo :

    • Points en fonction du résultat : victoire à 0 pts, égalité à 0 pts, défaite à 0 pts, forfait à 0 pts

    • Objectifs : Full Ippon, points

    • Critères de classement : nombre de victoires, résultat des rencontres directes, le plus d'objectif "Full Ippon", points

  • Pétanque :

    • Points en fonction du résultat : victoire à 3 pts, égalité à 2 pts, défaite à 1 pts, forfait à 0 pts

    • Objectifs : score

    • Critères de classement : points, goal-average particulier par différence du score, goal-average général par différence du score, le plus de victoires

  • Ping pong :

    • En simple :

      • Points en fonction du résultat : victoire à 2 pts, égalité désactivée, défaite à 0 pts, forfait à 0 pts

      • Objectifs : manches remportées

      • Critères de classement : points, résultat des rencontres directes, goal-average général par division des manches remportées, goal-average général par division des points

    • En double :

      • Points en fonction du résultat : victoire à 3 pts, égalité à 2 pts, défaite à 1 pts, forfait à 0 pts

      • Objectifs : manches remportées, jeux remportés

      • Critères de classement : points, goal-average particulier par division des points, goal-average général par division des manches remportées, goal-average général par division des jeux remportés

  • Rugby :

    • Points en fonction du résultat : victoire à 4 pts, égalité à 2 pts, défaite à 0 pts, forfait à -2 pts

    • Objectifs : score, essais, marque au moins 3 essais de plus que son adversaire (1 pts), a perdu avec un écart de 7 pts ou moins (1 pts)

    • Critères de classement : points, goal-average particulier par différence du score, goal-average général par différence du score, goal-average général par différence des essais, le plus d'objectif "score", le plus d'objectifs "essais", le moins de forfaits

  • Tennis :

    • Points en fonction du résultat : victoire à 2 pts, égalité désactivée, défaite à 1 pts, forfait à 0 pts

    • Objectifs : manches remportées, jeux remportés

    • Critères de classement : points, goal-average général par différence des manches remportées, goal-average général par différence des jeux remportés, goal-average particulier par différence des manches remportées, goal-average particulier par différence des jeux remportés

  • Volley-ball :

    • Points en fonction du résultat : victoire à 2 pts, égalité désactivée, défaite à 1 pts, forfait à 0 pts

    • Objectifs : score, manches remportées

    • Critères de classement : points, goal-average général par division des manches remportées, goal-average général par division du score

Les paramètres ci-dessus s'inspirent des règles officielles. Cependant, certaines règles officielles ne sont pas implémentés dans ContestOrg. Il se peut donc que le classement donné par ContestOrg ne soit pas correct vis-à-vis de ces règles officielles.

Onglet "Informations générales"

Dans cet onglet, nous retrouvons la configuration générale du tournoi, à savoir : les informations du tournoi, les informations de l'organisme et les informations diverses. Dans les informations diverses, nous pouvons choisir le type des participants et si le statut "Homologué" est activé ou non.

Le statut "Homologué" est généralement obtenu par les participants lors d'une étape, les homologations, qui précéde le tournoi. Cette étape permet de vérifier que les participants respectent bien le cahier des charges imposé par l'équipe d'organisation du tournoi. Si le statut "Homologé" est activé, seul les participants qui ont ce statut pourront participer aux matchs.

Exemple 4.1. Exemple d'utilisation du choix du type de participants

Au football, il s'agira d'un tournoi d'équipes, au judo, il s'agira d'un tournoi de joueurs.


Exemple 4.2. Exemple d'utilisation du statut "Homologué"

Au cours de la Coupe de France de Robotique, les équipes doivent passer deux types d'homologations avant de pouvoir participer aux matchs. Il s'agit de l'homologation statique et de l'homologation dynamique. La première vérifie que les robots respectent le règlement (dimensions, sécurité, ...). La deuxième vérifie que les robots sont capables de se déplacer et de marquer des points. Une fois ces deux homologations passées, les équipes obtiennent le statut "Homologué" et peuvent désormais participer aux matchs.


Onglet "Points et classement"

En fonction du résultat

Cette zone permet de spécifier le nombre de points remportés en cas de victoire, d'égalité, de défaite et de forfait. Si votre tournoi n'attribue aucun points en fonction du résultat d'un match, spécifiez « 0 » dans chacune des entrées. Si l'égalité est impossible dans votre tournoi, désactiver l'égalité.

Liste des objectifs

Cette zone permet de spécifier la liste des objectifs qu'un participant peut remporter au cours d'un match. Trois types d'objectifs sont disponibles : les objectifs à points, les objectifs à pourcentage et les objectifs nuls. Notez que l'ordre des objectifs est important dans l'attribution des points.

Objectifs sans modification du score

Ce type d'objectif ne rapport rien au participant qui le remporte.

Objectifs avec ajout de points au score

Ce type d'objectif rapporte un certain nombre de points au participant qui le remporte. Il est possible de définir une borne de participation que le nombre de points remportés au cours du match ne pourra par dépasser. Notez qu'il est possible de spécifier un nombre de points négatif (pour les pénalités par exemple).

// Calcul des points remportés via un objectif à points
PROCEDURE OBJECTIF_POINTS (
   points_participation,
   points_objectif,
   borne_participation
)
DEBUT PROCEDURE
   // Incrémenter le nombre de points de la participation
   points_participation = points_participation + points_objectif;

   // Vérifier si le nombre de points de la participation a dépassé la borne de participation
   SI
      EST_DEFINI(borne_score) ET (
         (points_objectif < 0 ET points_participation < borne_participation)
         OU
         (points_objectif > 0 ET points_participation > borne_participation)
      )
   ALORS
      points_participation = borne_participation;
   FIN SI;

   // Retourner le nombre de points de la participation
   RETOURNER points_participation;
FIN PROCEDURE;
Objectifs avec ajout d'un pourcentage au score

Ce type d'objectif rapporte au participant qui le remporte un certain pourcentage du nombre de points gagnés au cours du match. Il est possible de définir une borne d'augmentation que l'augmentation du nombre du points remportés au cours du match ne pourra pas dépasser. Il est possible de définir une borne de participation que le nombre de points gagnés au cours du match ne pourra par dépasser. Notez qu'il est possible de spécifier un pourcentage négatif (pour les pénalités par exemple).

// Calcul des points remportés via un objectif à pourcentage
PROCEDURE OBJECTIF_POURCENTAGE (
   points_participation,
   pourcentage_objectif,
   borne_augmentation,
   borne_participation
)
DEBUT PROCEDURE
   // Calculer l'augmentation du nombre de points de la participation
   VAR augmentation = points_participation * pourcentage_objectif;

   // Vérifier si l'augmentation n'a pas dépassé la borne d'augmentation
   SI
      EST_DEFINI(borne_augmentation) ET (
         (pourcentage_objectif < 0 ET augmentation < borne_augmentation)
         OU
         (pourcentage_objectif > 0 ET augmentation > borne_augmentation)
      )
   ALORS
      augmentation = borne_augmentation;
   FIN SI;

   // Incrémenter les points de la participation
   points_participation = points_participation + augmentation;

   // Vérifier si le nombre de points de la participation n'a pas dépassé la borne de participation
   SI
      EST_DEFINI(borne_score_objectif) ET (
         (pourcentage_objectif < 0 ET points_participation < borne_participation)
         OU
         (pourcentage_objectif > 0 ET points_participation > borne_participation)
      )
   ALORS
      points_participation = borne_participation;
   FIN SI;

   // Retourner le nombre de points de la participation
   RETOURNER points_participation;
FIN PROCEDURE;

Critères de classement

Cette zone permet de spécifier l'ordre des critères de classement. Pour établir le classement, le première critère sera utilisé. S'il existe des ex-aequos avec le première critère, le deuxième critère critère sera utilisé pour les départager. S'il existe à nouveau des ex-aequos, ce sera le troisième critère qui sera utilisé et ainsi de suite. Il existe plusieurs types de critères de classement :

  • Nombre de points : les meilleurs participants seront ceux qui ont le plus grand nombre de points

  • Nombre de victoires : les meilleurs participants seront ceux qui ont le plus grand nombre de victoires

  • Nombre d'égalités : les meilleurs participants seront ceux qui ont le plus grand nombre d'égalités

  • Nombre de défaites : les meilleurs participants seront ceux qui ont le plus grand nombre de défaites (il est conseillé d'inverser ce critère)

  • Nombre de forfaits : les meilleurs participants seront ceux qui ont le plus grand nombre de forfaits (il est conseillé d'inverser ce critère)

  • Résultats des rencontres directes : ce critère départage deux ex-aequos (et seulement deux) et considère le meilleur participant comme étant celui-ci qui a eu le plus de victoires au cours des rencontres entre les deux participants

  • Quantité remportée d'un objectif : les meilleurs participants seront ceux qui ont remportés la plus grande quantité de l'objectif renseigné

  • Goal-Average :

    • Type : général ou particulier (départage deux ex-aequos et seulement deux)

    • Méthode : méthode utilisée pour le calcul du goal-average

    • Donnée : donnée utilisée pour le calcul du goal-average

Pour chacun des critères de classement, il est possible d'inverser son effet. Il conseillé de le faire pour les critères de classement "Nombre de défaites" et "Nombre de forfaits" car un participant qui a plus de défaites ou de forfaits qu'un autre est généralement moins bien positionné que celui-ci. Ce paramètre est également utile pour prendre en compte le nombre de pénalités dans le classement (ajout d'un critère de classement inversé "Quantité remporté d'un objectif" associé à un objectif "Pénalité").

Cas particulier du goal-average

Le goal-average

Onglet "Exportations et diffusions"

Exportations

Cette zone permet de spécifier une liste d'exportations prédéfinies disponibles depuis la fenêtre des exportations. L'intérêt est de pouvoir définir à l'avance les exportations que vous serez amener à utiliser au cours du tournoi.

Exemple 4.3. Exemple d'utilisation des exportations prédéfinies

Dans le cadre d'un tournoi quelconque, le responsable d'organisation désire informer les participants, visiteurs et journalistes des informations relative au tournoi. Pour cela, il crée l'exportation ayant pour thème « Site Web » et pour emplacement « Serveur FTP ». Après avoir renseigné les informations nécessaires, il valide le formulaire et spécifie la nouvelle exportation comme étant la publication. Il ne lui reste plus qu'à cliquer sur le bouton Publier pour générer le site Web et l'envoyer sur le serveur FTP.

Pour obtenir un serveur FTP, il vous faut souscrire à une offre d'hébergement : OVH, Gandi, ...


Créer/Editer une exportation

Pour ajouter/éditer une exportation, cliquez sur le bouton Ajouter ou Éditer. Nous pouvons observer dans la fenêtre de création/édition d'exportation trois zones : la zone Informations de l'exportation concernant informations propres à l'exportation, la zone Thème concernant les données à exporter et la zone Chemin concernant l'emplacement de destination. Pour un chemin de type « Serveur FTP », il vous est possible de tester si la connexion FTP s'établit correctement en cliquez sur le bouton Tester. Ce test comprend : la connexion au serveur FTP, l'identification avec les identifiants fournis, l'envoi d'un fichier de test dans le répertoire de destination indiqué, la suppression de ce fichier et la déconnexion du serveur FTP.

Rendez-vous dans le chapitre Créer des thèmes d'exportations et de diffusions pour se documenter sur la création et l'édition de thèmes.

Publication

Cette zone permet de spécifier quelle exportation sera lancée lors de l'appel au bouton Publier dans la fenêtre.

Diffusions

Cette zone permet de spécifier la liste des diffusions disponibles depuis la fenêtre des diffusions. L'intérêt est de pouvoir diffuser des informations du tournoi mises à jour en temps réel sur des écrans distants. Tous les thèmes de base permettent le défilement automatique si jamais la hauteur de l'écran ne permet pas d'afficher toutes les données d'un coup.

Pour pouvoir diffuser des informations sur des écrans distants, il faut que les ordinateurs reliés à ces écrans et l'ordinateur qui héberge ContestOrg doivent être connectés sur le même réseau.

Exemple 4.4. Exemple d'utilisation des diffusions

Dans le cadre d'un tournoi quelconque, le responsable d'organisation désire afficher sur plusieurs écrans dispersés à travers tout le lieu du tournoi le classement actuel des participants. Pour cela il crée une diffusion ayant pour port « 8080 » et pour thème « Classement des participants aux phases qualificatives ». Il se rend ensuite dans la fenêtre des diffusions, puis démarre la diffusion qu'il vient de créer. Muni de son IP, il se rend sur les différents ordinateurs reliés aux différents écrans, ouvre un navigateur et rentre dans la barre d'URL : http://IP:8080/. Sur les écrans s'affiche le classement actuel des participants.


Créer/Editer une diffusion

Pour ajouter/éditer une édition, cliquez sur le bouton Ajouter ou Éditer. Nous pouvons observer dans la fenêtre de création/édition de diffusion deux zones : la zone Informations de la diffusion concernant les informations propres à la diffusion et la zone Thème concernant les données à diffuser. Il vous est possible de tester la diffusion en cliquant sur le bouton Tester. Ce test comprend : le démarrage d'un serveur HTTP sur le port indiqué, la mise à disponibilité d'un fichier de test via le serveur HTTP, la requête HTTP pour récupérer le contenu du fichier de test et l'arrêt du serveur HTTP.

Rendez-vous dans le chapitre Créer des thèmes d'exportations et de diffusions pour se documenter sur la création et l'édition de thèmes.

Onglet "Prix"

Dans cet onglet, nous retrouvons la configuration des prix que peuvent recevoir les participants.

Onglet "Lieux et emplacements"

Dans cet onglet, nous retrouvons la configuration des lieux et emplacements dédiés aux matchs du tournoi. Un lieu est une collection d'horaires et d'emplacements. Les horaires permettent de déterminer à quelle heures les lieux sont disponibles les matchs. Les emplacements permettent de déterminer à quels endroits il est possible d'effectuer un match.

Cliquez sur le bouton Nouveau ou Éditer pour créer/editer un lieu. Un lieu doit comprendre au moins un emplacement.

Cliquez sur le bouton Nouveau ou Éditer de la zone Horaires pour créer/éditer un horaire. Dans la fenêtre de création/édition d'horaire, il est possible de sélectionner plusieurs jours en maintenant la touche CTRL enfoncée.

Cliquez sur le bouton Nouveau ou Éditer de la zone Emplacements pour créer/éditer un emplacement.

Exemple 4.5. Exemple d'utilisation des lieux, horaires et emplacements

Dans le cadre d'un tournoi de rugby, le responsable de l'organisation du tournoi désire fournir sur le site Web les informations sur le lieu où se déroule le tournoi. Pour cela, il ajoute le lieu « Complexe sportif ». Celui-ci possède les horaires « Samedi de 9h à 12h », « Samedi de 14h à 18h » et « Dimanche de 15h à 18h » ainsi que les emplacements « Terrain 1 », « Terrain 2 » et « Terrain 3 ».

Rendez-vous dans l'onglet "Exportations et diffusions" pour configurer la publication des données sur un site Web.


Onglet "Programmation des matchs"

Dans cet onglet, nous retrouvons la configuration des informations de programmation des matchs telles que : la durée d'un match, la durée de pause minimale d'un participant entre chaque match et la durée minimale qui sépare chaque match sur un même emplacement.

Les informations de programmation sont définis purement à titre informatif et ne sont pas pris en compte par ContestOrg pour une programmation automatique des matchs.

Onglet "Propriétés des participant"

Dans cet onglet, nous retrouvons la configuration des propriétés des participants. L'objectif est de pouvoir palier au manque de propriétés proposées par défaut lors de la création d'un participant. Une propriété possède trois paramètres : son nom, son type (nombre entier, nombre décimal et texte) et s'il s'agit d'une propriété obligatoire.

Exemple 4.6. Exemple d'utilisation des propriétés de participant

Dans le cadre d'un tournoi de judo, le responsable de l'organisation du tournoi désire pouvoir renseigner le poids de chaque participant. Pour cela, il crée une propriété obligatoire « Poids » de type « Nombre décimal ». Ainsi, à la création d'un participant, son poids est demandé.


Fenêtre des participants

Dans cette fenêtre, nous avons le bandeau du haut et le bandeau du bas de disponibles. Dans le bandeau du haut, nous retrouvons les boutons Catégories, Poules, Nouvelle équipe/Nouveau joueur, Importer équipes/Importer joueurs et Exporter. Dans le bandeau du bas, nous retrouvons les boutons Éditer équipe/Éditer joueur et Supprimer équipes/Supprimer joueurs ainsi qu'une liste déroulante permettant de changer le statut d'une ou plusieurs participants. Sur la zone dédiée aux données, nous retrouvons la liste des participants de la sélection courante.

Pour l'utilisation du bouton Exporter, rendez-vous dans le chapitre Exportations à la volée.

Gérer les catégories

Pour gérer les catégories, cliquez sur le bouton Catégorie. Dans cette fenêtre, nous retrouvons la liste des catégories que nous pouvons modifier avec les boutons Ajouter, Éditer, Monter, Baisser et Supprimer. Les catégories définissent des groupes de participants qui ne pourront pas jouer ensemble.

Notez qu'aucune opération ne peut être effectuée sur la catégorie « Défaut ». Il s'agit d'une catégorie neutre dans laquelle pourront être placées les participants qui ne sont pas encore affectés à une catégorie. Cette catégorie peut également servir de catégorie unique si votre tournoi de comprend pas de catégorie.

Exemple 4.7. Exemple de catégories

Dans le cadre d'un tournoi de judo, le responsable de l'organisation du tournoi doit mettre en place différentes catégories de joueurs qui ne joueront pas ensemble. Pour cela, il crée différentes catégories : « -50kgs », « 50-60kgs », « 60-70kgs », « +70kgs ».


Gérer les poules

Pour gérer les poules, cliquez sur le bouton Poules. Dans cette fenêtre, nous retrouvons deux zones : la zone Catégorie dédiée au choix de la catégorie, la zone Création des poules dédiée à la création des poules et la zone Affectation des équipes/Affectation des joueurs dédiée à l'affectation des participants au sein des poules.

Création des poules

Cette zone permet de créer des poules manuellement ou automatiquement. Pour ajouter/éditer une poule manuellement, cliquez sur le bouton Ajouter ou Éditer. Pour créer automatiquement les poules, indiquez le nombre de poules désiré ou bien le nombre maximal de participants au sein d'une poule. Ces deux champs sont fortement liés, c'est pourquoi si vous modifier l'un, l'autre est impacté. Cliquez ensuite sur le bouton Création automatique.

Notez qu'aucune opération ne peut être effectué sur la poule « Défaut ». Il s'agit d'une poule neutre dans laquelle pourront être placés les participants qui ne sont pas encore affectés à une poule. Cette poule peut également servir de poule unique si votre tournoi de comprend pas de poule.

Affectation des participants

Cette zone permet d'affecter manuellement ou automatiquement les participants aux poules précédemment créées.

Pour affecter manuellement une ou plusieurs participants à une poule, sélectionner la poule de destination dans la liste des poules, sélectionnez les participants que vous désirez affecter à la poule dans la liste des participants disponibles puis cliquez sur le bouton Ajouter. Pour retirer un ou plusieurs participants d'une poule, sélectionnez les participants dans la liste des participants de la poule puis cliquez sur le bouton Retirer.

Pour affecter automatiquement les participants aux poules, cliquez sur le bouton Affectation automatique. Pour éviter de générer des poules déséquilibrées, il est possible de définir des poids pour chacun des participants.

Ajouter/Editer un participant

Ajouter ajouter/éditer un participant, cliquez sur le bouton Nouvelle équipe/Nouveau joueur ou Éditer équipe/Éditer joueur. Pour éditer un participant, vous pouvez également effectuer un double-clic sur la ligne dans la liste des participants. Dans la fenêtre de création/édition, nous retrouvons plusieurs zones : la zone Catégorie et poule concernant le choix de la catégorie et de la poule de destination, la zone Informations de l'équipe/Informations du joueur concernant les informations propres au participant, la zone Propriétés personnalisées concernant les propriétés personnalisées et la zone Prix concernant les prix remportés. Pour sélectionner plusieurs prix, sélectionner les prix en maintenant la touche CTRL enfoncée. Notez qu'un participant doit avoir le statut homologuée pour pouvoir participer à un match.

Rendez-vous dans l'onglet "Propriétés de participants" de la fenêtre Configurer le concours pour éditer la liste des propriétés personnalisées. Rendez-vous dans l'onglet "Prix" de la fenêtre Configurer le concours pour éditer la liste des prix à remporter.

Importer des participants

Pour importer une liste de participants, cliquez sur le bouton Importer équipes/Importer joueurs. Dans la fenêtre d'importation des participants nous retrouvons trois zones : la zone Catégorie et poule dédiée au choix de la catégorie et de la poule de destination, la zone Choix du fichier dédiée au choix du fichier contenant la liste des participants et la zone Équipes trouvées/Joueurs trouvés dédiée à la liste des participants trouvées dans le fichier spécifié. Notez que dans la liste des participants trouvés, vous pouvez déselectionner ceux que vous ne désirez pas importer.

Concernant le format de fichier contenant la liste des participants, il s'agit d'un fichier XML respectant la DTD fournie dans le fichier dtds/importer-participants.dtd au sein du répertoire de ContestOrg. La DTD est également disponible sur le site Web de ContestOrg à l'adresse http://www.elfangels.fr/contestorg/data/dtds/importer-participants.dtd.

L'exportation "Module d'inscription" permet la mise en place d'un site web permettant l'inscription des participants et fournissant un fichier XML à importer dans ContestOrg.

Fenêtre des phases qualificatives

Dans cette fenêtre, nous avons le bandeau du haut et le bandeau du bas de disponibles. Dans le bandeau du haut, nous retrouvons les boutons Nouvelle phase, Nouveau match, Éditer phase, Supprimer phase et Exporter. Dans le bandeau du bas, nous retrouvons les boutons Résultats du match et Supprimer match. Sur la zone dédiée aux données, nous retrouvons la liste des matchs de la sélection courante.

Pour l'utilisation du bouton Exporter, rendez-vous dans le chapitre Exportations à la volée.

Créer/Editer une phase

Pour créer/éditer une phase qualificative, cliquez sur le bouton Nouvelle phase ou Éditer phase. Lors de la création d'une phase qualificative, pensez à sélectionner la poule de destination au préalable. Dans la fenêtre de création de phase qualificative, nous retrouvons trois zones : la zone Paramètres de la génération dédiée aux paramètres utilisés pour la génération, la zone Avancement de la génération dédiée à l'exécution de la génération et la zone Meilleure configuration trouvée dédiée à retourner les informations de la meilleure configuration trouvée.

ContestOrg, quelque soit le mode de génération utilisé, prend en compte trois critères pour trouver la meilleure configuration :

  1. Est-ce que les participants ont déjà joué ensemble ?

  2. Est-ce que les participants sont de même niveau ?

  3. Est-ce que les participants viennent de la même ville ?

Paramètres de la génération

Cette zone permet de configurer la génération. Deux paramètres sont disponibles : le mode de génération utilisée et la liste des participants.

Mode avancé

Le mode avancé teste l'ensemble des configurations possibles. Dès que l'algorithme remonte une meilleure configuration que celle précédemment trouvée, celle-ci apparaît dans le cadre Meilleure configuration trouvée. Au delà de 12 participants, le temps de génération devient exponentiellement long. Vous pouvez arrêter la génération à tout moment et considérer la meilleure configuration trouvée jusque là.

Mode basique

Le mode basique est bien moins gourmand en ressource que le mode avancé. Il génère tous les couples de participants possibles et les trie en fonction des affinités des participants. L'algorithme séléctionne ensuite des couples retrouvés en haut de classement. Celui-ci peut donner de bon résultats mais il ne s'agit pas forcement de la meilleure configuration.

Avancement de la génération

Cette zone permet de lancer/arrêter la génération. Pour lancer la génération de la configuration, cliquez sur le bouton Générer. Pour arrêter la génération, cliquez sur le bouton Arrêter. La barre de progression indique l'avancement de la génération. Au cours de la génération, la zone Meilleure configuration trouvée est mise à jour en temps réelle.

Meilleure configuration trouvée

Cette zone permet de restituer la meilleure configurer trouvée ainsi que plusieurs indicateurs qui s'y rattachent. En plus cela, elle permet également de configurer manuellement la phase qualificative. Notez l'importance des couleurs : le rouge pour un problème, l'orange pour un avertissement et le vert pour signaler qu'aucun problème n'est détecté. Cette zone possède deux boutons qui peuvent s'avérer pratique : les boutons Conserver et Restaurer. Le bouton Conserver permet d'enregistrer en mémoire la configuration courante. Le bouton Restaurer permet de restaurer la configuration enregistrée en mémoire précédemment.

Créer/Editer un match

Pour créer/éditer un match, cliquez sur le bouton Nouveau match ou Résultats du match. Lors de la création d'un match, pensez à sélectionner la phase qualificative de destination au préalable. Pour éditer un match, vous pouvez également effectuer un double-clic sur la ligne dans la liste des matchs. Dans la fenêtre de création/édition de match, nous retrouvons six zones : la zone Équipes/Joueurs concernant le choix des deux participants, la zone Résultats concernant les résultats des deux participants, la zone Objectifs remportés concernant la liste des objectifs remportés par les deux participants, la zone Date concernant le date du match, la zone Lieu et emplacement concernant le lieu du match et la zone Détails concernant d'éventuels commentaires sur le match.

Rendez-vous dans l'onglet "Points et classement" de la fenêtre Configurer le concours pour éditer la liste des objectifs à remporter au cours d'un match.

Fenêtre des phases éliminatoires

Dans cette fenêtre, nous avons uniquement le bandeau du haut de disponible. Dans cet unique bandeau, nous retrouvons les boutons Générer, Réinitialiser et Exporter. Nous retrouvons également une liste déroulante dans laquelle nous pouvons spécifier le nombre de participants lors de la génération. Dans la zone dédiée aux données, nous retrouvons un diagramme interactif représentatif des phases éliminatoires de la catégorie sélectionnée.

Pour l'utilisation du bouton Exporter, rendez-vous dans le chapitre Exportations à la volée.

Créer les phases

Pour créer les phases éliminatoires, sélectionnez la catégorie dans laquelle vous désirez générer les phases éliminatoires, sélectionnez le nombre de participants puis cliquez sur le bouton Générer. Pour réinitialiser les phases éliminatoires d'un catégorie, sélectionnez cette dernière puis cliquez sur le bouton Réinitialiser. Si vous désirez modifier manuellement un participant, cliquez sur la case bleue associée à l'équipe puis sélectionnez le participant de votre choix dans la liste qui apparaît. Si le match qui suit est renseigné, il n'est plus possible d'éditer ce participant.

Lors de la génération des phases éliminatoires, ContestOrg n'effectue par un tirage au sort. Il prend en compte le rang des participants aux phases qualificatives lors de sa génération. C'est à dire que l'algorithme de génération crée les matchs de manière à ce que si chaque participant gagne face à un participant de rang inférieur, celui-ci obtient le même rang obtenu lors des phases qualificatives. Imaginez que le participant de premier et de deuxième rang se rencontrent dès le début des phases éliminatoires, cela n'aurait pas de sens.

Renseigner les résultats

Pour renseigner les résultats d'un match, cliquez sur la case bleue associée au match. Dans la fenêtre d'édition du match, nous retrouvons six zones : la zone Équipes/Joueurs concernant les deux participants, la zone Résultats concernant les résultats des deux participants, la zone Objectifs remportés concernant la liste des objectifs remportés par les deux participants, la zone Date concernant le date du match, la zone Lieu et emplacement concernant le lieu du match et la zone Détails concernant d'éventuels commentaires sur le match. Cette fenêtre est identique la fenêtre d'édition d'un match d'une phase qualificative à la différence près que le choix des participants n'est pas possible car les deux participants affichés correspondent aux participants vainqueurs du match précédant. Si le match suivant est renseigné, il n'est plus possible de modifier les résultats car de nouveaux résultats seraient pas conformes avec les participants du match suivant.

Exporter les informations du concours

Exportations prédéfinies

Pour lancer une exportation prédéfinie, cliquez sur le bouton Exporter situé sur la barre lattérale sur la gauche de la Fenêtre principale. Dans la fenêtre d'exportation, nous retrouvons la liste des exportations prédéfinies. Pour lancer une exportation, cliquez sur le bouton Lancer.

Rendez-vous dans l'onglet "Exportations et diffusions" de la fenêtre Configurer le concours pour éditer la liste des exportations prédéfinies.

Exportations à la volée

Il n'est pas nécessaire de définir à l'avance une exportation pour la lancer. Pour cela, rendez-vous dans l'onglet de votre choix (Joueurs/Equipes, Phases qualificatives ou Phases éliminatoires) puis cliquez sur le bouton Exporter. Les exportations affichées concernent l'onglet courant. Si vous désirez changer la catégorie du thème, il vous suffit de la séléctionner dans la liste prévue à cet effet. Choisissez le thème de votre choix, renseignez les différents paramètres puis cliquez sur le bouton Valider. Il vous sera alors demander l'emplacement de destination.

Diffuser les informations du concours

Pour démarrer une diffusion, cliquez sur le bouton DIffuser situé sur la barre lattérale sur la gauche de la Fenêtre principale. Dans la fenêtre de diffusion, nous retrouvons la liste des diffusions. Pour démarrer une diffusion, cliquez sur le bouton Démarrer. Si une diffusion est active, le voyant associé est vert. Si une diffusion n'est pas active, le voyant associé est rouge. Pour arrêter une diffusion, cliquez sur le bouton Arrêter. Pour afficher le résultat de la diffusion dans votre navigateur, cliquez sur le bouton Afficher. Notez que si une diffusion active est modifiée, celle-ci est automatiquement arrêté.

Rendez-vous dans l'onglet "Exportations et diffusions" de la fenêtre Configurer le concours pour éditer la liste des diffusions.

Créer des thèmes d'exportations et de diffusions

La possibilité de personnaliser entièrement les thèmes des exportations et des diffusions est l'une des forces de ContestOrg. Les thèmes des exportations sont présents dans le répertoire themes/exportations et ceux des diffusions dans le répertoire themes/diffusions. Chaque répertoire représente un thème.

Pour mieux comprendre la construction d'un thème, n'hésitez pas à prendre exemple sur les thèmes déjà existants.

Fichier de configuration

Un thème doit comporter obligatoirement un fichier de configuration intitulé configuration.xml. Celui-ci est écrit en XML et sa DTD est disponible dans le fichier dtds/configuration-theme.dtd ou à l'adresse http://www.elfangels.fr/contestorg/data/dtds/configuration-theme.dtd. Nous retrouvons dans ce fichier de configuration :

  • La catégorie du thème (optionnelle)

  • La liste des fichiers exportés ou diffusés

  • Les paramètres du thème demandés à l'utilisateur

Transformations XSLT

Les différents fichiers définis dans le fichier de configuration peuvent subir une transformation. La transformation est effectuée via la technologie XSLT. Il vous suffit d'éditer une feuille XSL et de l'associer dans le fichier de configuration à une transformation. Référez-vous à la DTD des données XML que vos feuilles XSL auront à transformer dans le fichier dtds/concours.dtd ou à l'adresse http://www.elfangels.fr/contestorg/data/dtds/concours.dtd. Les paramètres demandés à l'utilisateur seront passés à vos feuilles XSL.

Créer des modèles de tournois

Il est possible de créer ses propres modèles de tournois et de modifier les modèles de tournois existant. Les modèles de tournois sont présents dans le répertoire templates. Chaque répertoire représente un modèle de tournoi dans lequel doit être obligatoirement présent un fichier configuration.xml. Ce fichier est écrit en XML et sa DTD est disponible dans le fichier dtds/configuration-modele.dtd ou à l'adresse http://www.elfangels.fr/contestorg/data/dtds/configuration-modele.dtd. Nous y retrouvons :

  • La description du modèle

  • La catégorie du modèle (optionnelle)

  • L'image du modèle (optionnelle)

  • La liste des variantes proposés à l'utilisateur

Pour mieux comprendre la construction d'un modèle, n'hésitez pas à prendre exemple sur les modèles déjà existants.

Chapitre 5. Guide d'organisation d'un tournoi sportif

Organiser un évènement sportif, c'est partager un moment conviviale et rencontrer de nouveaux sportifs. Mais avant d'organiser quoi que ce soit, il est bon de définir le cadre de l'évènement ainsi que ses objectifs en répondant aux questions suivantes :

  • A qui s'adresse le tournoi ?

  • Quand aura lieu le tournoi ? Quelle durée ?

  • Quelle équipe d'organisation ?

  • Quel budget ? Des sponsors ? Des aides ?

  • Quels infrastructures ? Quels moyens ?

  • Combien de participants ? De visiteurs ?

  • Comment promouvoir l'évenement ?

Suite à ces interrogations, nous allons détailler certains points importants.

Gérer la logistique

Pour un tournoi sportif, vous aurez besoin de salles de sport et de matériel. Il vous faudra donc obtenir des autorisations selon le lieu de votre événement. Vous choisir des créneaux horaires disponibles pour effectuer votre tournoi et vous assurer de disposer de suffisemment de temps pour mettre en place les différents dispositifs et remettre dans l'état la salle après le tournoi.

Pour la demande d'autorisation, effectuez la le plus tôt possible, au moins un ou deux mois avant l'événement ce qui vous laissera le temps de préparer le tournoi et de communiquer aux participants et visiteurs les diverses informations sur le où et le quand de l'évenement.

Assurer votre événement

Comme tous les événements sportifs, votre tournoi doit être couvert par une assurance. Les assurances sportives sont spécifiques car vos participants doivent être couverts individuellement.

Communiquer sur l'événement

un tournoi sportif est un événement comme les autres, il faut mener une bonne campagne de communication auprès de potentiels visiteurs et participants. Pensez à commencer votre campagne assez tôt et à l'adapter avec la date limite des inscriptions. Plusieurs voies s'offrent à vous : des tracts, des encarts dans les journaux locaux, site web...

Organiser l'événement

Pour mener à bien votre événement, il faut une bonne équipe d'organisation composée de :

  • encadrants pour les participants

  • arbitres pour les matchs

  • comptabilisateurs des scores

  • organisateurs des matchs

N'hésitez pas à prévenir les pompiers, la croix rouge ou la médecine préventive pour soigner les petits bobos ou pour prodiguer des conseils d'échauffement avant les matchs.

Le stand buvette

Certains diront qu'un tournoi sans buvette n'est pas un bon tournoi... Sachez que la loi Evin interdit tout débit à proximité de pratiques sportives. Optez donc pour les jus de fruits et autres boissons non alcoolisées.

Animez les tribunes

Pour assurer une bonne ambiance durant tout l'événement, vous pouvez prévoir des animations dans les gradins pour les supporters. Pour cela, prévoyez du matériel (draps, marqueurs, papiers, agraphes...) et organisez le concours du plus beau drapeau de supporters, le concours de la mascotte... Pensez également à un présentateur et un disc jockey. Faites en sorte que le spectacle soit aussi dans les tribunes !

La remise des prix

Un bon tournoi se termine toujours par une remise des prix : une coupe ou des cadeaux données par vos partneaires pour les participants en haut du podium. Il est également possible d'attribuer des prix spéciaux pour les participants portant des valeurs notables telles que le fair-play. Pensez à faire quelques photos de la remise des prix. Dans le discours final, n'oubliez surtout pas de remercier vos partenaires, votre équipe d'organisation et les participants.

Chapitre 6. Contribuer au projet

Rejoindre l'équipe

L'équipe de ContestOrg n'est pas fermée. Elle est prête à accueillir tout nouvel arrivant désireux d'apporter sa contribution au projet. Quelque soit ses compétences, il pourra trouver un rôle adapté. Une chose est malgré tout requise : la motivation.

Liste des rôles :

  • Développeur : développe des fonctionnalités

  • Testeur : remonter des erreurs

  • Rédacteur : rédige de la documentation

  • Accompagnateur : aide les utilisateurs

Pour rejoindre l'équipe, contactez-nous en n'oubliant pas d'inclure vos motivations et vos compétences pour le(s) rôle(s) que vous désirez remplir.

Contribuer occasionnellement

Pas besoin de s'engager pour contribuer au projet. Il est tout à faire possible de contribuer occasionnellement. Il suffit de nous contacter si vous désirez faire un retour d'expérience, signaler des erreurs, proposer des améliorations ou promouvoir le projet. Sachez que vous pouvez également contribuer financièrement au projet.

Chapitre 7. Crédits

Membres de l'équipe

Tableau 7.1. Liste des membres de l'équipe

Prénom/NomRôles remplis
Cyril PerrinTous

Donateurs

Tableau 7.2. Liste des donateurs

Prénom/NomDate du donMontant du don
Yvan Kraehenbuehl02/06/201220€

Contributeurs occasionnels

Tableau 7.3. Liste des contributeurs occasionnels

Prénom/NomTâche effectuée
Gaëlle BélyVoix de la présentation vidéo

Packs d'icônes utilisés

Tableau 7.4. Liste des packs d'icônes utilisés

NomPage WebLicence
FarmCliquez-iciCreative Commons Attribution 3.0

Outils utilisés

Tableau 7.5. Liste des outils utilisés

NomDescriptionPage Web
EclipseEnvironnement de développement intégréCliquez-ici
Google CodePlateforme de développement collaboratifCliquez-ici
TopCasedOutil de modélisation basé sur EclipseCliquez-ici
DocBookLangage à destination de documentation techniqueCliquez-ici
XMLMindEditeur XML prenant en charge la DTD DocBookCliquez-ici
Launch4jEncapsuleur EXE de JAR pour la plateforme WindowsCliquez-ici
PencilLogiciel de maquettes d'interfaces graphiquesCliquez-ici
InkscapeEditeur de dessins vectorielsCliquez-ici
OptiPNGOptimiseur pour images PNGCliquez-ici
PngnqOptimiseur pour images PNGCliquez-ici

Librairies utilisées

Tableau 7.6. Liste des librairies utilisées

NomDescriptionPage WebLicence
jGraphAffichage de graphesCliquez-iciBSD
jDomManipulation du DOM XMLCliquez-iciApache License
jUnitRéalisation de tests unitairesCliquez-iciCommon Public License 1.0
FOPProcesseur FOPCliquez-iciApache License
HttpComponentsCréation d'un serveur et de requêtes HTTPCliquez-iciApache License
Commons NetRéalisation de requêtes FTP...Cliquez-iciApache License
Log4JPersistance de traces d'éxecutionCliquez-iciApache License
SaxonProcesseur XSLT autonomeCliquez-iciMozilla Public License 1.0

Sources

Tableau 7.7. Sources utilisés

ContenuPage Web
Chapitre "Guide d'organisation d'un tournoi sportif"Le Pongiste avec l'autorisation de l'auteur