Les meilleurs développeurs informatique freelances sont sur Codeur.com
Terminé · Moins de 500 € · 21 offres · 1087 vues · 27 interactions
Pour les besoins d’une association, je cherche un développeur qui saurait écrire un script destiné à compléter la gestion bénévole d’une épreuve sportive dans un environnement PHP / MySQL / JavaScript.
Comment ça marche ? Plusieurs joueurs sont engagés dans une compétition sportive. Chaque joueur démarre la compétition dans un ordre qui lui est attribué par le script demandé.
Les joueurs sont groupés par 3 ou 4 et démarrent la compétition par tranche horaire, en fonction de leur niveau, et en fonction de règles pré-établies.
Un exemple de règle simple : deux joueurs de la même équipe ne peuvent pas figurer dans le même groupe. D’autres règles existent, plus complexes.
Le script permettra de modifier l’ordre de départ d’un joueur (ou d’insérer un joueur) dans un groupe, en décalant si nécessaire l’ordre de départ des autres joueurs impactés.
Le développeur aura à sa disposition la structure de la base MySQL ainsi que la description des règles à respecter.
La complexité du script consiste à établir l’ordre des départs, en respectant les 3 règles fixées, dont l’une est assez difficile à conceptualiser.
Les hypothèses :
• Chaque joueur appartient à une seule équipe.
• Plusieurs équipes participent à la compétition.
• Un « niveau » de jeu est attribué à chaque joueur, indiqué dans le champ « index_ffg ». Plus le nombre est bas, meilleur est le niveau du joueur.
• Le nombre de joueurs par groupe est paramétrable (il peut être de 3 ou 4). Il est fixé par une variable PHP.
• Un intervalle de 10 minutes sépare l’heure de départ de chaque groupe. Par exemple, le groupe 1 démarre à 8h00, le groupe 2 démarre à 8h10, le groupe 3 démarre à 8h20, etc .. C’est important à savoir pour l’étude de la règle 3.
• Le module doit permettre de modifier l’ordre des départs, par un simple « glisser / déposer » d’un groupe à l’autre. Les règles doivent cependant toujours être respectées, sauf exceptions (dérogations) prévues ci-dessous.
• Chaque modification de l’ordre de départ se traduit en temps réel par une nouvelle liste de départs.
Les règles :
Règle 1 :
Les joueurs démarrent la compétition en fonction de leur index (champ index_ffg). Le joueur ayant l’index le plus bas démarre dans le premier groupe (et donc à la première heure), le joueur ayant l’index le plus haut démarre dans le dernier groupe (à la dernière heure).
Règle 2 :
Des joueurs de la même équipe ne peuvent pas figurer dans le même groupe. Il peut néanmoins y avoir des exceptions, par exemple lorsque le nombre total de participants n’est pas suffisant pour permettre l’application stricte de cette règle.
Règle 3 : c’est la plus compliquée à mettre en œuvre.
Des joueurs d’une équipe peuvent choisir de se déplacer sur le lieu de la compétition dans le même véhicule. On dit qu’ils « covoiturent ». Or, ces joueurs peuvent avoir un niveau (index_ffg) différent et ils sont censés démarrer la compétition en application de la règle 1 qui établit un ordre de départ (et donc un horaire) en fonction de leur index.
Par exemple, on peut imaginer le scénario suivant : 2 joueurs covoiturent, l’un a un index de 3, l’autre un index de 44. Le premier démarrera à 8h00, et le second démarrera à 11h. Cela les pénalise fortement au moment de repartir chez eux à la fin de la compétition, car le premier aura terminé la compétition plusieurs heures avant le second !
La règle consistera à insérer ces deux joueurs dans deux groupes adjacents (respect de la règle 2), en accord avec la règle 1 pour le premier joueur, mais sans respecter cette même règle pour le second joueur. Pour celui-ci, on acceptera donc de déroger à la règle 1.
Au final : le script permettra de proposer un ordre de départ des joueurs. Cela se traduit par la modification de la table « engagement » en affectant un groupe à chaque joueur.
Budget indicatif : Moins de 500 €
Publication : 06 janvier 2025 à 14h50
Profils recherchés : Développeur spécifique freelance , Développeur JavaScript freelance , Expert BDD freelance , Développeur PHP freelance , Développeur SQL freelance
21 freelances ont répondu à ce projet
19 propositions de devis en moins de 2h
Montant moyen des devis proposés : 750 €
Estimation du délai : 4 jours
Projet réalisé par Jaroslaw Chmielewski