1. Intelligence artificielle (14h-22h)




La première épreuve consiste en un développement applicatif client-serveur où le client doit reproduire une intelligence artificielle interagissant avec le serveur et devant prendre des décisions pour résoudre un problème. Plusieurs tâches sont à réaliser pour cette épreuve : établissement de la connexion réseau, réception et analyse des données envoyées par le serveur, prise de décision à partir de ces informations pour la partie concernant l'IA, envoi de commandes vers le serveur pour agir sur son état.

Trés souvent, le thème est un jeu : le serveur réalise le plateau de jeu lui-même et les clients réalisés par les équipes doivent être capables de jouer de façon autonome.

Par exemple, lors de l'édition 2015, il fallait développer l'I.A. d'un jeu de plateau. En 2016, il s'agissait de développer l'IA d'un manutentionnaire en charge de déplacer des bouteilles de vin. En 2017, il fallait proposer un client capable de se déplacer dans un labyrinthe pour s'accaparer des bonus et accumuler plus de points que ces adversaires.

Le classement de l'épreuve est réalisé au travers d'un tournoi opposant les différentes IA. Plusieurs tours sont organisés jusqu'à la finale qui verra s'affronter les meilleurs programmes.

À noter : le serveur vous sera fourni sous la forme d'un fichier .jar qui nécessite un runtime JAVA (JRE) installé sur au moins une des machines de chaque groupe et vous devrez utiliser des sockets, mais vous pourrez utiliser le langage de votre choix pour cette épreuve.

Conseil de préparation : préparez d'avance votre API de dialogue avec le serveur (connexion, envoi/reception de données), étudiez les algorithmes classiques de prise de décision (Dijkstra, A*,...).

Sujet, serveur et codes sources : Le sujet (pdf) est disponible ici : 2018_24h_fruitcheball.pdf , la vidéo d'un des matchs de la finale est visible sur notre chaine youtube : vidéo ; Tous les codes sources et les exécutables du serveur FruitcheBall ainsi qu'un client de test sont disponibles sur le dépôt git (bitbucket) du projet : fruitcheball. Les release du serveur et d'un client de test sont disponibles en téléchargement.

2. Développement Web (22h-6h)




La seconde épreuve est une épreuve de développement Web : il est demandé aux équipes de de développer une application web à partir de fonctionnalités fournies dans un cahier des charges, d'installer et de maintenir le serveur.

Le classement est établi par un jury qui examine l'ensemble des applications et les évalue à partir d'une liste de critères : conformité au cahier des charges, fonctionnalités réalisées, qualité de l'interface, sécurité ...

Par exemple, lors de l'édition 2014, il fallait développer un site permettant de gérer les dépenses entre amis lors de sorties/événements et savoir qui devait combien à qui. En 2015, il s'agissait de développer une interface qui permettait aux manutentionnaires du port du Havre de gérer les départs/arrivées des bateaux. L'épreuve de 2017 consistait à développer une application pour gérer un mini-réseau social.

À noter : vous pourrez utiliser les technologies de votre choix pour développer le site. Vous hébergerez vous-même votre site web et devrez être capable d'en donner l'accès pour permettre l'évaluation de l'épreuve.

Conseil de préparation : préparez votre serveur web et votre serveur de base de données, vos composants (framework serveur, orm, framework css et/ou js etc ...).

Sujet : : Le sujet de l'épreuve web est disponible ici.

3. Sécurité Informatique (6h-14h)




La troisième et dernière épreuve est une épreuve de sécurité informatique.

Au travers d'épreuves ludiques destinées à sensibiliser les équipes aux problèmes de sécurité, les participants doivent résoudre des énigmes de cryptographie, exploiter des problèmes de programmation applicative ou web, accéder à des ressources censées être protégées, le tout sur un système d'information mis en place par les organisateurs. Au travers de ces épreuves, les paticipants découvrent les travers d'un développement mal testé ou d'une implémentation trop rapide.

Le classement de l'épreuve se base sur le nombre d'énigmes résolues et le temps utilisé.

Conseil de préparation : pensez à désactiver la mise en veille automatique de votre cerveau, qui après une nuit de code, peut se déclencher de manière inopportune.

Classement Général (14h30)



Le classement général est établi sur la base des 3 épreuves : les points attribués à chaque étape sont additionnés.

Le classement général récompense donc les équipes les plus complètes, qui auront été efficaces sur les 3 épreuves.

L'équipe classée 1ère au classement général remportera l'édition 2018 des 24h des DUT info

Conseil de préparation : soyez en forme pendant 24h, café préconisé, dopage interdit.

Sujets éditions précédentes

Il est possible d’accéder aux sujet d’épreuves données par le passé via les liens suivants :