Git Product home page Git Product logo

2023-epita-scia-ppc-sudoku-cv's Introduction

2023-EPITA-SCIA-PPC-Sudoku-CP

Bienvenue sur le dépôt du TP Sudoku.....

Chaque groupe est invité à créer un Fork de ce dépôt principal muni d'un compte sur Github, et d'indiquer dans le fil de suivi de projet du groupe sur le forum son adresse.

Vous pourrez ensuite travailler de façon collaborative sur ce fork en attribuant les permissions d'éditions aux autres membres du groupe, en clonant votre fork sur vos machines, par le biais de validations (commits), de push pour remonter les validations sur le server, et de pulls/tirages sur les machines locales des utilisateurs du groupe habilités sur le fork.

Le plus simple sera d'utiliser les outils intégrés à Github directement disponible depuis l'environnement Visual Studio. Idéalement, préférez Visual Studio Community 2019 ou Visual Studio pour Mac à Visual Studio Code, qui est plus versatile, mais sans doute moins adapté à ce projet. Si vous choisissez toutefois d'utiliser Visual Studio Code, il vous faudra suivre les instructions fournies pour la prise en charge de c# ou pour celle de .Net, et sans doute installer des extensions comme celle permettant de charger des solutions.

Une fois le travail effectué et remonté sur le fork, vous pourrez créer une pull-request depuis le fork vers le dépôt principal pour fusion et évaluation.

Le fichier de solution "Sudoku.sln" constitue l'environnement de base du travail et s'ouvre dans Visual Studio Community (attention à bien ouvrir la solution et ne pas rester en "vue de dossier"). En l'état, la solution contient:

  • Un répertoire Puzzles contenant 3 fichiers de Sudokus de difficultés différentes
  • Un projet Sudoku.Shared: il consitue la librairie de base de l'application et fournit la définition de la classe représentant un Sudoku (SudokuGrid) et l'interface à implémenter par les solvers de sudoku (ISudokuSolver).
  • Un projet Sudoku.Backtracking qui fournit plusieurs solvers utilisant la méthode simple du backtracking, et qui illustre également l'utilisation de Python depuis le langage c# via Python.Net grâce aux packages Nuget correspondants.
  • Un projet Sudoku.Benchmark de Console permettant de tester les solvers de Sudoku de façon individuels ou dans le cadre d'un Benchmark comparatif. Ce projet référence les projets de solvers, et c'est celui que vous devez lancer pour tester votre code.

Il s'agira pour chaque groupe de travail, sur le modèle du projet backtracking en exemple, de commencer par:

  • rajouter à la solution votre propre projet, typiquement une bibliothèque de classes en c# au format .Net standard 2.1,
  • munir votre projet des librairies nécessaires, sous forme de références ou de packages Nuget. Votre projet devrait posséder une référence vers le projet partagé contenant la définition de la classe d'une grille de Sudoku et de l'interface d'un solver de Sudoku.
  • Créer votre classe de Solver (qui n'a pas besoin d'être entièrement fonctionnelle lors de vos premiers archivages) implémentant l'interface partagée.
  • faire référencer votre projet par celui de l'application de Console Benchmark pour le rendre votre solver disponible dans le menu.

Pour ce qui est du Workflow de collaboration:

  • Effectuez régulièrement une validation/commit pour baliser votre travail localement,
  • puis un push pour le remonter vos validations sur votre fork et le partager avec les camarades de votre groupe, qui pourront le récupérer sur leurs propres environnements avec un tirage/pull.
  • Lorsque votre environnement est stable (la solution compile sans erreurs et les autres projets ne sont pas affectés par le vôtre), effectuez une pull-request/requête de tirage vers le dépôt principal pour partager votre travail avec moi et les autres groupes, ainsi que dans l'autre sens à n'importe quel moment que pour récupérer les dernières mises à jours remontées par vos camarades sur le dépôt principal (dont je m'assurerai de la bonne stabilité). Pour effectuer et valider des pull requests dans un sens ou dans l'autre, vous pouvez utiliser l'interface de github, ou encore celle de Visual Studio.
  • Vous serez invité à vous évaluer entre autre sur votre capacité à participer au projet global en partageant régulièrement votre travail et en récupérant celui partagé par les autres groupes. Tout cela sera visible dans la page Insights/Network de vôtre dépôt ou du dépôt principal.

Concernant enfin vos sujets respectifs et vos éventuelles questions spécifiques, je vous invite à utiliser le fil de discussion de votre groupe dans le forum du projet.

2023-epita-scia-ppc-sudoku-cv's People

Contributors

jsboige avatar sinansoulier avatar brioche2024 avatar ordinarydev83 avatar coartix avatar rnudb avatar ekliipce avatar jsboigeepita avatar meliioko avatar louis-pagnier avatar maxence-oden avatar henri-code avatar ams-l avatar bast-94 avatar raphrb2 avatar smileostorlab avatar david-frecon avatar majoranreveur avatar rugikex avatar kimhok-s avatar c-h-u-b avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.