GithubHelp home page GithubHelp logo

eval-productivite's Introduction

Installation des paquets npm

npm install

Démarrage de l'application

npm start

Application disponible en local sur le port 8070.

Contenu évaluation

1 : Cloner le projet (1pt)

Le projet devra être cloné sur votre machine locale à partir de l'URI suivante :

SSH :

git clone [email protected]:VirtuoWorks/eval-productivite.git

ou bien HTTPS :

git clone https://github.com/VirtuoWorks/eval-productivite.git

2 : Créer une branche (1pt)

Vous créerez une branche que vous appellerez "eval" et vous vous positionnerez dessus. Ce sera votre branche de travail pour l'évaluation. Vous la fusionnerez avec la branche "main" à la fin de l'évaluation.

Basculez sur cette branche.

3 : Installer les dépendances (1pt)

Installez les dépendances du projet en utilisant le gestionnaire de paquet npm.

4 : Documenter le code (2pts)

Si vous êtes bloqué sur cette question, passez à la suivante.

  1. Vous utiliserez JSDoc, dont la documentation peut être consultée ici
  2. Ajoutez vos modifications au dépôt sur la branche "eval" et faire un commit avec le titre de la question comme message.

5 : Linter le code (2pts)

Si vous êtes bloqué sur cette question, passez à la suivante.

  1. Vous utiliserez ESLint pour linter le code (ESLint est déjà installé dans le projet). La documentation est consultable ici
  2. Ajoutez vos modifications au dépôt sur la branche "eval" et faire un commit avec le titre de la question comme message.

6 : Embellir le code (1pt)

Si vous êtes bloqué sur cette question, passez à la suivante.

  1. En utilisant Prettier, dont la documentation peut être trouvée ici, vous embellirez le code afin qu'il respecte les bonnes pratiques.
  2. Ajoutez vos modifications au dépôt sur la branche "eval" et faire un commit avec le titre de la question comme message.

7 : Renforcer le code (3pts)

Si vous êtes bloqué sur cette question, passez à la suivante.

Dans le projet a été intégrée une faille de sécurité béante...

Insérez la chaîne de caractères suivante dans le champ du formulaire :

"<script>for(let i = 1; i < 20; i++) { alert(`Coucou ${i} fois !`) }</script>"
  1. Corrigez cette faille de sécurité.
  2. Ajoutez vos modifications au dépôt sur la branche "eval" et faire un commit avec le titre de la question comme message.

8 : Modulariser le code (3pts)

Si vous êtes bloqué sur cette question, passez à la suivante.

Le code de l'application utilise deux fonctions principales permettant de récupérer des données depuis une API. Vous ferez en sorte de :

  1. Séparer les deux fonctions dans deux fichiers JS distincts qui exporteront le code de chaque fonction (par un export par défaut ou un export nommé) ;
  2. Créer un fichier main.js que vous placerez dans le dossier /public/js ;
  3. Importer les deux fonctions dans le fichier main.js ;
  4. Modifier le code du fichier index.html afin qu'il charge le script main.js ;
  5. Ajoutez vos modifications au dépôt sur la branche "eval" et faire un commit avec le titre de la question comme message.

9 : Tester le code (3pts)

Si vous êtes bloqué sur cette question, passez à la suivante.

  1. En utilisant Jest, qui est installé dans le projet, vous créerez un test unitaire pour chacune des deux fonctions présentes dans le fichier /public/js/functionsToTest.js (returnAnObject et multiplyAllByTwo).
  2. Ajoutez vos modifications au dépôt sur la branche "eval" faire un commit avec le titre de la question comme message.

Vous vérifierez bien que vos tests unitaires passent tous.

10 : Fusionner les branches (1pt)

Si vous êtes bloqué sur cette question, passez à la suivante.

Vous fusionnerez votre branche "eval" avec la branche "main". Si vous avez des conflits de fusion, corrigez les.

11 : Créer un dépôt distant (1pt)

Si vous êtes bloqué sur cette question, passez à la suivante.

Sur GitHub ou Bitbucket, à votre convenance, vous créerez un dépôt distant public afin de pouvoir y envoyer le code de votre application.

12 : Sauvegarder le code en ligne (1pt)

Si vous êtes bloqué sur cette question, passez à la suivante.

Changer l'url du dépôt distant (la notre) par celle de votre dépôt local (la votre) et envoyez le code de votre branche "main" sur votre dépôt distant nouvellement créé.

Après l'évaluation

Une fois l'évaluation terminée, vous enverrez le lien vers votre dépôt distant à l'adresse e-mail [email protected] en précisant dans l'objet de l'e-mail les informations suivantes : [NOM] [prénom] [Promotion DIWJS]

Si vous n'avez pas réussi à créer le dépôt distant ou pousser votre branche sur le dépôt distant, vous pouvez créer une archive avec votre dossier de travail SANS le SOUS-DOSSIER node_modules et l'envoyer par mail à l'adresse [email protected] en précisant dans l'objet de l'e-mail les informations suivantes : [NOM] [prénom] [Promotion DIWJS]

eval-productivite's People

Contributors

alexandre-masson avatar chollivier avatar kim-morvan avatar sami-radi avatar

Watchers

 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.