├── .env ├── .env.dist ├── .github └── workflows │ └── continuous_integration._yml_ ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── bin └── console ├── composer.json ├── composer.lock ├── config ├── bundles.php ├── packages │ ├── cache.yaml │ ├── framework.yaml │ └── routing.yaml ├── preload.php ├── routes.yaml ├── routes │ └── framework.yaml └── services.yaml ├── public └── index.php ├── src ├── Controller │ └── .gitignore └── Kernel.php └── symfony.lock /.env: -------------------------------------------------------------------------------- 1 | # In all environments, the following files are loaded if they exist, 2 | # the latter taking precedence over the former: 3 | # 4 | # * .env contains default values for the environment variables needed by the app 5 | # * .env.local uncommitted file with local overrides 6 | # * .env.$APP_ENV committed environment-specific defaults 7 | # * .env.$APP_ENV.local uncommitted environment-specific overrides 8 | # 9 | # Real environment variables win over .env files. 10 | # 11 | # DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES. 12 | # https://symfony.com/doc/current/configuration/secrets.html 13 | # 14 | # Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2). 15 | # https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration 16 | 17 | ###> symfony/framework-bundle ### 18 | APP_ENV=dev 19 | APP_SECRET=350e62bb4fe32a55885fa738e2eb7ea6 20 | ###< symfony/framework-bundle ### 21 | -------------------------------------------------------------------------------- /.env.dist: -------------------------------------------------------------------------------- 1 | DATABASE_URL="db-driver://db-user:db-password@db-host:3306/db-name_env?serverVersion=db-version&charset=db-charset" 2 | -------------------------------------------------------------------------------- /.github/workflows/continuous_integration._yml_: -------------------------------------------------------------------------------- 1 | name: Continuous integration 2 | on: [push] 3 | jobs: 4 | ci: 5 | name: Continuous Integration 6 | runs-on: ${{ matrix.operating-system }} 7 | strategy: 8 | fail-fast: false 9 | matrix: 10 | operating-system: [ubuntu-latest] 11 | php-versions: ['8.1'] 12 | node-version: ['16.17'] 13 | services: 14 | mysql: 15 | image: mysql:8.0 16 | env: 17 | MYSQL_ROOT_PASSWORD: 'Password123!' 18 | ports: 19 | - 3306:3306 20 | steps: 21 | - name: Checkout 22 | uses: actions/checkout@v2 23 | - name: Setup PHP, with composer and extensions 24 | uses: shivammathur/setup-php@v2 25 | with: 26 | php-version: ${{ matrix.php-versions }} 27 | extensions: mbstring, xml, ctype, iconv, intl 28 | - name: Setup Node 29 | uses: actions/setup-node@v1 30 | with: 31 | node-version: ${{ matrix.node-version }} 32 | - name: Get composer cache directory 33 | id: composer-cache 34 | run: echo "::set-output name=dir::$(composer config cache-files-dir)" 35 | - name: Cache composer dependencies 36 | uses: actions/cache@v1 37 | with: 38 | path: ${{ steps.composer-cache.outputs.dir }} 39 | key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} 40 | restore-keys: ${{ runner.os }}-composer- 41 | - name: Install 42 | run: make install-env env=test db_user=root db_password=Password123! db_host=127.0.0.1 db_name=iletaitunefoisundev 43 | - name: Analyze 44 | run: make analyse 45 | - name: Tests 46 | run: make tests-wc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | ###> symfony/framework-bundle ### 3 | /.env.local 4 | /.env.local.php 5 | /.env.*.local 6 | /config/secrets/prod/prod.decrypt.private.php 7 | /public/bundles/ 8 | /var/ 9 | /vendor/ 10 | ###< symfony/framework-bundle ### 11 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | Le `changelog` liste toutes les nouveautés intégrées à chaque `release`. 4 | 5 | Ce projet respecte [Semantic Versioning](https://semver.org/) et les [recommandations](https://keepachangelog.com/en/1.0.0/). 6 | 7 | ## [2022-09-04] 0.1.0 8 | * Installation du domaine métier [#274](https://github.com/incentive-factory/iletaitunefoisundev/issues/274) 9 | * Inscription [#283](https://github.com/incentive-factory/iletaitunefoisundev/issues/283) 10 | * Modifier le profil d'un joueur [#284](https://github.com/incentive-factory/iletaitunefoisundev/issues/284) 11 | * Validation d'une inscription [#285](https://github.com/incentive-factory/iletaitunefoisundev/issues/285) 12 | * Modifier le mot de passe [#286](https://github.com/incentive-factory/iletaitunefoisundev/issues/286) 13 | * Lister les formations [#289](https://github.com/incentive-factory/iletaitunefoisundev/issues/289) 14 | * Afficher une formation [#290](https://github.com/incentive-factory/iletaitunefoisundev/issues/290) 15 | * Commencer une formation [#291](https://github.com/incentive-factory/iletaitunefoisundev/issues/291) 16 | * Connexion [#298](https://github.com/incentive-factory/iletaitunefoisundev/issues/298) 17 | * Vérifier si l'utilisateur à valider son inscription [#310](https://github.com/incentive-factory/iletaitunefoisundev/issues/310) 18 | * Gérer l'erreur dans le cas ou le fetch renvoie null [#319](https://github.com/incentive-factory/iletaitunefoisundev/issues/319) 19 | * Afficher les cours d'une formation [#322](https://github.com/incentive-factory/iletaitunefoisundev/issues/322) 20 | * Lister les parcours d'un joueur [#295](https://github.com/incentive-factory/iletaitunefoisundev/issues/295) 21 | * Afficher un parcours [#318](https://github.com/incentive-factory/iletaitunefoisundev/issues/318) 22 | * Afficher un cours [#292](https://github.com/incentive-factory/iletaitunefoisundev/issues/292) 23 | * Commencer un cours [#293](https://github.com/incentive-factory/iletaitunefoisundev/issues/293) 24 | * Afficher un l'avancement d'un cours [#327](https://github.com/incentive-factory/iletaitunefoisundev/issues/327) 25 | * Terminer un cours [294](https://github.com/incentive-factory/iletaitunefoisundev/issues/294) 26 | 27 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, caste, color, religion, or sexual 10 | identity and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | * Demonstrating empathy and kindness toward other people 21 | * Being respectful of differing opinions, viewpoints, and experiences 22 | * Giving and gracefully accepting constructive feedback 23 | * Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | * Focusing on what is best not just for us as individuals, but for the overall 26 | community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | * The use of sexualized language or imagery, and sexual attention or advances of 31 | any kind 32 | * Trolling, insulting or derogatory comments, and personal or political attacks 33 | * Public or private harassment 34 | * Publishing others' private information, such as a physical or email address, 35 | without their explicit permission 36 | * Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | **thomas@iletaitunefoisun.dev**. 64 | All complaints will be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series of 86 | actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or permanent 93 | ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within the 113 | community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.1, available at 119 | [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. 120 | 121 | Community Impact Guidelines were inspired by 122 | [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. 123 | 124 | For answers to common questions about this code of conduct, see the FAQ at 125 | [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at 126 | [https://www.contributor-covenant.org/translations][translations]. 127 | 128 | [homepage]: https://www.contributor-covenant.org 129 | [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html 130 | [Mozilla CoC]: https://github.com/mozilla/diversity 131 | [FAQ]: https://www.contributor-covenant.org/faq 132 | [translations]: https://www.contributor-covenant.org/translations 133 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution 2 | 3 | Veuillez prendre un moment pour prendre connaissance de ce document afin de suivre facilement le processus de contribution. 4 | 5 | ## Issues 6 | [Issues](https://github.com/incentive-factory/iletaitunefoisundev/issues) est le canal idéal pour les rapports de bug, les nouvelles fonctionnalités ou pour soumettre une `pull requests`, cependant veillez à bien respecter les restrictions suivantes : 7 | * N'utiliser par ce canal pour vos demandes d'aide personnelles (utilisez [Stack Overflow](http://stackoverflow.com/)). 8 | * Il est interdit d'insulter ou d'offenser d'une quelconque manière en commentaire d'un `issue`. Respectez les opinions des autres et rester concentré sur la discussion principale. 9 | * Quand vous rédigez une issue, sélectionnez le label `En attente`. Un maintainer s'occupera de valider l'issue afin de commencer à la traiter. 10 | * Chaque issue est symbolisée par les labels suivants : 11 | * Priorité 12 | * Complexité 13 | * Types 14 | 15 | ## Rapport de bug 16 | Un bug est une erreur concrète, causée par le code présent dans ce `repository`. 17 | 18 | Guide : 19 | 1. Assurez-vous de ne pas créer un rapport déjà existant, pensez à faire une recherche avant de publier une issue. 20 | 2. Vérifiez que le bug est corrigé, en essayant sur la dernière version du code sur la branche `production` ou `develop`. 21 | 3. Isolez le problème permet de créer un scénario de test simple et identifiable. 22 | 23 | ## Nouvelle fonctionnalité 24 | Il est toujours apprécié de proposer de nouvelles fonctionnalités. Cependant, prenez le temps de réfléchir, assurez-vous que cette fonctionnalité correspond bien aux objectifs du projet. 25 | 26 | C'est à vous de présenter des arguments solides pour convaincre les développeurs du projet des bienfaits de cette fonctionnalité. 27 | 28 | ## Pull request 29 | De bonnes `pull requests` sont d'une grande aide. Elles doivent rester dans le cadre du projet et ne doit pas contenir de `commits` non lié au projet. 30 | 31 | Veuillez demander avant de poster votre `pull request`, autrement vous risquez de passer gaspiller du temps de travail, car l'équipe projet ne souhaite pas intégrer votre travail. 32 | 33 | Suivez ce processus afin de proposer une `pull request` qui respecte les bonnes pratiques : 34 | 1. Forkez le repository sur votre compte 35 | 2. Créez une nouvelle branche qui contiendra votre fonctionnalité, modification ou correction : 36 | * Pour une nouvelle fonctionnalité ou modification : 37 | ``` 38 | git checkout develop 39 | git checkout -b feature/ 40 | ``` 41 | * Pour une nouvelle correction : 42 | ``` 43 | git checkout production 44 | git checkout -b hotfix/ 45 | ``` 46 | *Vous pouvez aussi utiliser [git-flow](https://danielkummer.github.io/git-flow-cheatsheet/index.fr_FR.html) pour simplifier la gestion de vos branches :* 47 | * Pour une nouvelle fonctionnalité ou modification : 48 | ``` 49 | git flow feature start 50 | ``` 51 | * Pour une nouvelle correction : 52 | ``` 53 | git flow hotfix start 54 | ``` 55 | 3. `Commit` vos changements, veillez à respecter la convention de nommage de vos `commits` de la manière suivante : 56 | ``` 57 | : 58 | 59 | 60 | 61 |