MyDigitalHorse
- Epreuve de Programmation Orientée Objet
Afin de bénéficier des Namespace ainsi que du var_dumper
Dans votre terminal à la racine du projet, exécutez la commande suivante :
docker-compose up -d
docker exec -it poo_mds composer install Application accessible sur https://localhost Pensez à accepter les certificats auto-signés.
possible également de lancer vos tests ainsi :
docker exec -it poo_mds php -f public/index.phpDans votre terminal à la racine du projet, exécutez la commande suivante :
composer install Pour lancer vos tests :
php -f public/index.phpOn souhaite représenter une écurie de compétition sous forme objet.
Nous allons donc définir chacune des classes nécessaires.
Il est possible en fonction de votre réflexion d'en créer d'autres (et probablement conseillé 😉).
| Propriété | Optionnel | Type |
|---|---|---|
| Nom | false |
string |
| Address | false |
string |
| Street | false |
string |
| PostCode | false |
string |
| City | false |
string |
| Manager | true |
Manager |
Affiche des informations pertinentes sur l'écurie sélectionnée
| Propriété | Optionnel | Type |
|---|---|---|
| Nom | false |
string |
| Address | false |
string |
| Street | false |
string |
| PostCode | false |
string |
| City | false |
string |
| Categorie | true |
Categorie |
Affiche des informations pertinentes sur l'humain sélectionné
| Propriété | Optionnel | Type |
|---|---|---|
| A définir |
Affiche des informations pertinentes sur le Manager sélectionné
| Propriété | Optionnel | Type |
|---|---|---|
| A définir |
Affecte à un Cavalier le type de jeu qu'il peut pratiquer
Affiche des informations pertinentes sur le Cavalier sélectionné
| Propriété | Optionnel | Type |
|---|---|---|
| A définir |
Affiche des informations pertinentes sur l'animal sélectionné
| Propriété | Optionnel | Type |
|---|---|---|
| id | false |
string |
| color | false |
string |
| water | false |
int |
| Rider | true |
Rider |
⚠ L'identifiant doit être généré suivant le pattern : 000-n-C-N
Où n est la première lettre du nom
C est la première lettre de la couleur
Et Nest le nombre d'équidés créés au moment de la création de celui-ci.
Les couleurs possibles sont ['Alzan', 'Bai', 'Pie', 'Grey', 'White']
Affecte la catégory d'équidé seulement 3 choix possible ['Sheitland', 'Poney', 'Horse']
Affecte un Cavalier au cheval, nous limiterons la possibilités pour un Cavalier d'avoir uniquement 5 Equidés
(Penser aux différentes interactions)
Affiche des informations pertinentes sur l'équidé sélectionné
| Propriété | Optionnel | Type |
|---|---|---|
| A définir |
4 capacités possibles ['Saut', 'Dressage', 'Cross', 'PoneyGames']
Attention les chevaux ne peuvent pas participer aux PoneyGames
Affiche des informations pertinentes sur la capacité sélectionnée
| Propriété | Optionnel | Type |
|---|---|---|
| MaxCommitments | false |
int |
| MaxWater | false |
int |
| A définir |
Il n'est pas possible d'inscrire deux fois un même cheval pour un événement donné.
Permet d'inscrire un équidé à l'évènement.
⚠ Suite aux restrictions écologiques l'évènement est limité dans sa capacité d'eau. Pensez bien à vérifier ce que chaque équidé consomme.
Affiche des informations pertinentes sur l'événement sélectionné
- Dans le fichier qui vous semble le plus pertinent décrivez votre jeu de test avec les réponses attendues en commentaires.
Il doit être possible pour le correcteur en lançant votre application de vérifier en un coup d'oeil que tout a été prévu 😈
- Vous devez créer :
- Une écurie
- Un manager
- Des Cavaliers
- Des Chevaux, Poney, Sheitland
- Des Evenements et y inscrire un maximum de participants
- Utiliser et contrôler toutes les méthodes créées.
- Tous les contrôles passeront par des exceptions.
- Respecter les principes SOLID.
- Respecter les bonnes pratiques GIT.
- Livrer l'adresse du Repository.
