Documentation
Documentation
iii
ContestOrg
iv
Liste des tableaux
7.1. Liste des membres de l'équipe ....................................................................................... 46
7.2. Liste des donateurs ..................................................................................................... 46
7.3. Liste des contributeurs occasionnels ............................................................................... 46
7.4. Liste des packs d'icônes utilisés ..................................................................................... 46
7.5. Liste des outils utilisés ................................................................................................ 46
7.6. Liste des librairies utilisées ........................................................................................... 47
7.7. Sources utilisés .......................................................................................................... 47
v
Liste des exemples
4.1. Exemple d'utilisation du choix du type de participants ....................................................... 10
4.2. Exemple d'utilisation du statut "Homologué" ................................................................... 10
4.3. Exemple d'utilisation des exportations prédéfinies ............................................................. 17
4.4. Exemple d'utilisation des diffusions ............................................................................... 19
4.5. Exemple d'utilisation des lieux, horaires et emplacements ................................................... 25
4.6. Exemple d'utilisation des propriétés de participant ............................................................ 26
4.7. Exemple de catégories ................................................................................................. 28
vi
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.
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.
1
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.
• 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.
• 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 [[Link] ou le formulaire de contact [http://
[Link]/contestorg/index/contact/].
2
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 [http://
[Link]/fr/download/help/download_options.xml] 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 [Link]. 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 [Link].
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/[Link]. Il vous faudra d'abord effectuer la ligne suivante : cd /chemin/de/contestorg,
puis la ligne suivante : java -jar [Link].
3
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.
4
Utilisation de 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/[Link] au sein du répertoire de ContestOrg. La DTD
est également disponible sur le site Web de ContestOrg à l'adresse [Link]
contestorg/data/dtds/[Link].
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.
5
Utilisation de l'application
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.
• Badminton :
• Points en fonction du résultat : victoire à 1 pts, égalité désactivée, défaite à 0 pts, forfait à -1 pts
• 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
6
Utilisation de l'application
• Billiard :
• Points en fonction du résultat : victoire à 3 pts, égalité à 2 pts, défaite à 1 pts, forfait à 0 pts
• 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 : -
• Football :
• Points en fonction du résultat : victoire à 4 pts, égalité à 2 pts, défaite à 1 pts, forfait à 0 pts
• 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
• 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 : -
7
Utilisation de l'application
• Judo :
• Points en fonction du résultat : victoire à 0 pts, égalité à 0 pts, défaite à 0 pts, forfait à 0 pts
• 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
• 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
• 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
• 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
8
Utilisation de l'application
• Volley-ball :
• Points en fonction du résultat : victoire à 2 pts, égalité désactivée, défaite à 1 pts, forfait à 0 pts
• 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.
9
Utilisation de l'application
Au football, il s'agira d'un tournoi d'équipes, au judo, il s'agira d'un tournoi de joueurs.
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.
10
Utilisation de l'application
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é.
11
Utilisation de l'application
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).
12
Utilisation de l'application
RETOURNER points_participation;
FIN PROCEDURE;
13
Utilisation de l'application
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
14
Utilisation de l'application
• 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 :
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é").
Le goal-average
15
Utilisation de l'application
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.
16
Utilisation de l'application
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 [http://
[Link]], Gandi [[Link] ...
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.
17
Utilisation de l'application
18
Utilisation de l'application
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.
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 : [Link] Sur les écrans s'affiche le classement actuel des participants.
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.
19
Utilisation de l'application
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.
20
Utilisation de l'application
21
Utilisation de l'application
Cliquez sur le bouton Nouveau ou Éditer pour créer/editer un lieu. Un lieu doit comprendre au moins un
emplacement.
22
Utilisation de l'application
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.
23
Utilisation de l'application
Cliquez sur le bouton Nouveau ou Éditer de la zone Emplacements pour créer/éditer un emplacement.
24
Utilisation de l'application
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.
25
Utilisation de l'application
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.
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é.
26
Utilisation de l'application
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.
27
Utilisation de l'application
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 ».
28
Utilisation de l'application
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.
29
Utilisation de l'application
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.
30
Utilisation de l'application
31
Utilisation de l'application
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/[Link] au sein du répertoire de
ContestOrg. La DTD est également disponible sur le site Web de ContestOrg à l'adresse http://
[Link]/contestorg/data/dtds/[Link].
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.
32
Utilisation de l'application
ContestOrg, quelque soit le mode de génération utilisé, prend en compte trois critères pour trouver la
meilleure configuration :
33
Utilisation de l'application
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à.
34
Utilisation de l'application
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.
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.
35
Utilisation de l'application
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.
36
Utilisation de l'application
37
Utilisation de l'application
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.
38
Utilisation de l'application
39
Utilisation de l'application
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.
40
Utilisation de l'application
41
Utilisation de l'application
Fichier de configuration
Un thème doit comporter obligatoirement un fichier de configuration intitulé [Link].
Celui-ci est écrit en XML et sa DTD est disponible dans le fichier dtds/configuration-
[Link] ou à l'adresse [Link]
[Link]. Nous retrouvons dans ce fichier de configuration :
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/[Link] ou à l'adresse http://
[Link]/contestorg/data/dtds/[Link]. Les paramètres demandés à
l'utilisateur seront passés à vos feuilles XSL.
• La description du modèle
Pour mieux comprendre la construction d'un modèle, n'hésitez pas à prendre exemple sur les modèles
déjà existants.
42
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 :
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.
Organiser l'événement
Pour mener à bien votre événement, il faut une bonne équipe d'organisation composée de :
43
Guide d'organisation
d'un tournoi sportif
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.
44
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.
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
[[Link] signaler des erreurs [[Link]
contestorg/contribuer/index/], proposer des améliorations [[Link]
index/] ou promouvoir le projet [[Link] Sachez que
vous pouvez également contribuer financièrement [[Link]
xclick&hosted_button_id=YNQVH5WQCFHQL] au projet.
45
Chapitre 7. Crédits
Membres de l'équipe
Tableau 7.1. Liste des membres de l'équipe
Prénom/Nom Rôles remplis
Cyril Perrin Tous
Donateurs
Tableau 7.2. Liste des donateurs
Prénom/Nom Date du don Montant du don
Yvan Kraehenbuehl 02/06/2012 20€
Contributeurs occasionnels
Tableau 7.3. Liste des contributeurs occasionnels
Prénom/Nom Tâche effectuée
Gaëlle Bély Voix de la présentation vidéo
Outils utilisés
Tableau 7.5. Liste des outils utilisés
Nom Description Page Web
Eclipse Environnement de Cliquez-ici [http://
développement intégré [Link]/]
Google Code Plateforme de développement Cliquez-ici [http://
collaboratif [Link]/]
TopCased Outil de modélisation basé sur Cliquez-ici [http://
Eclipse [Link]/]
DocBook Langage à destination de Cliquez-ici [http://
documentation technique [Link]/]
46
Crédits
Librairies utilisées
Tableau 7.6. Liste des librairies utilisées
Nom Description Page Web Licence
jGraph Affichage de graphes Cliquez-ici [http:// BSD
[Link]/]
jDom Manipulation du DOM Cliquez-ici [http:// Apache License
XML [Link]/]
jUnit Réalisation de tests Cliquez-ici [http:// Common Public License
unitaires [Link]/] 1.0
FOP Processeur FOP Cliquez-ici [http:// Apache License
[Link]/
fop/]
HttpComponents Création d'un serveur et Cliquez-ici [http:// Apache License
de requêtes HTTP [Link]/]
Commons Net Réalisation de requêtes Cliquez-ici [http:// Apache License
FTP... [Link]/
net/]
Log4J Persistance de traces Cliquez-ici [http:// Apache License
d'éxecution [Link]/
log4j/]
Saxon Processeur XSLT Cliquez-ici [http:// Mozilla Public License
autonome [Link]/] 1.0
Sources
Tableau 7.7. Sources utilisés
Contenu Page Web
Chapitre "Guide d'organisation d'un tournoi sportif" Le Pongiste [[Link] avec
l'autorisation de l'auteur
47