Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tester un code Javascript

Exercice final "Aidez à créer une application de suivi de livres.."

11 avril 2020 à 11:51:47

Bonjour à tous,

Je me permets de demander un peu d'aide car je suis un débutant (mais passionné) et je sèche vraiment.

Mon problème est le suivant: Je ne sais pas comment tester mon code Javascript.

Je vous expose ci-dessous les points suivants:

- Informations reçues

- Consignes du problème donné

- Le code que j'ai écrit dans le fichier "Books.js" comme demandé

- Ma démarche

Informations reçues:

D'abord, vous aurez besoin d'installer Node, le runtime JavaScript. 
Ensuite, vous pouvez télécharger le code du projet ici.
Décompressez le code dans un dossier.
Ouvrez un terminal, naviguez vers le dossier du projet, et exécutez  npm install  . Une fois l'installation terminée, exécutez  npm start  pour démarrer le serveur de développement local. Votre navigateur devrait s'ouvrir automatiquement ; si ce n'est pas le cas, ouvrez votre navigateur et allez à http://localhost:8081.
Vous pouvez maintenant commencer à ajouter du code au fichier  Book.js  . À chaque fois que vous enregistrez votre travail, le serveur de développement devrait s'actualiser automatiquement pour montrer vos modifications.
Pour couper le serveur de développement, faites  Ctrl+C  (il vous faudra potentiellement le faire deux fois, selon votre système d'exploitation).

Consignes du problème donné:

Votre mission, si vous l'acceptez

Suite à votre travail sur le site de streaming, on vous demande de créer une app appelée RestfulReading, qui permettra aux utilisateurs de suivre les livres qu'ils sont en train de lire/qu'ils ont lus.

Votre tâche est de créer la classe  Book (Livre) et de peupler la base de données de développement de trois ou quatre livres pour vous assurer que l'interface fonctionne correctement (vous travaillerez avec le fichier  Book.js  ).

La classe  Book  doit contenir les champs suivants :

  • title  -  string  - le titre du livre
  • author  -  string  - l'auteur du livre
  • description  -  string  - une description du livre
  • pages  -  number  - le nombre total de pages
  • currentPage  -  number  - la page où se trouve l'utilisateur actuellement (entre 1 et  pages  )
  • read  -  boolean  - si l'utilisateur a lu ou non le livre (par défaut:  false  )

La classe  Book  doit aussi contenir la méthode instance suivante :

  • readBook(page)
    • permet à l'utilisateur de dire à quelle page il se trouve actuellement
    • si l'argument  page  est inférieur à un ou supérieur au nombre total de pages du livre, readBook retourne  0
    • si l'argument  page  est supérieur ou égal à 1 et inférieur au nombre total de pages du livre,  readBook  modifie le champ  currentPage  de l'instance pour être égal à la valeur de l'argument passé, et retourne 1
    • si l'argument  page  est égal au nombre total de pages du livre,  readBook  modifie le champ  currentPage  de l'instance pour être égal à la valeur de l'argument passé, modifie le champ  read  de l'instance en  true  , et retourne  1

Quand vous aurez créé la classe  Book  , vous en créerez au moins trois instances valables et vous les mettrez dans le tableau  books  qui est exporté par  Book.js  . Pour vérifier votre travail, actualisez le navigateur Codevolve intégré : vos instances  Book  devraient être visibles dans le carousel de l'interface RestfulReading.

Pour tester votre méthode instance  readBook  , suivez ces instructions pour trois livres (sans rafraîchir la page) :

  • mettez à jour la page actuelle avec une page valable qui est inférieure au nombre total de pages
  • mettez à jour la page actuelle avec exactement le nombre de pages total du livre (le livre devrait disparaître du carousel et apparaître dans la liste "Lus")

Quand vous aurez accompli ces tâches, votre navigateur devrait afficher une alerte qui contient un mot. Ce mot est la réponse à la seule question dans ce quiz !

Le code que j'ai écrit dans le fichier "Books.js" comme demandé:

export class Book
{
	constructor (title, author, description, pages, currentPage, read)
	{
		this.title = title;
		this.author = author;
		this.description = description;
		this.pages = pages;
		this.currentPage = 1;
		this.read = false;
	}

	readBook (page)
	{
		if (page < 1 || page > this.pages)
		{
			return 0;
		}
		else if (page >= 1 && page < this.pages)
		{
			this.currentPage = page;
			return 1;
		}
		else if (page === this.pages)
		{
			this.currentPage = page;
			this.read = true;
			return 1;
		}
	}
}

const livre1 = new Book("Une histoire formidable", "Alain Souchon", "Une merveilleuse histoire de Alain Souhon", 300, 0);
const livre2 = new Book("Une histoire formidable", "Alain Souchon", "Une merveilleuse histoire de Alain Souhon", 300, 100);
const livre3 = new Book("Une histoire formidable", "Alain Souchon", "Une merveilleuse histoire de Alain Souhon", 300, 300);

export const books = [livre1, livre2, livre3];

Ma démarche:

1.   J'ai téléchargé Node.js.

2.   J'ai téléchargé le code du projet comportant les 5 fichiers suivants:

      - Book.js

      - functions.js

      - index.html

      - module.js

      - package.json

      - styles.css

3.   J'ai écris le code dans "Books.js" selon les consignes (avec SiblimeText).

4.   J'essaie de tester mon code naïvement en ouvrant le fichier "index.html" sur mon navigateur Chrome.

5.   Je pense avoir besoin de Node.js pour tester mon code mais là je n'y comprends rien du tout malheureusement.

Est-ce-qu'un bonne âme aurait la gentillesse de m'expliquer comment procéder pour tester mon exercice Javascript ?

Merci d'avoir pris le temps de me lire et merci d'avance à celles ou ceux qui viendraient à mon secours.

A+

Francesco

  • Partager sur Facebook
  • Partager sur Twitter
11 avril 2020 à 12:23:45

Bonjour,

Je te laisse aller voir ce post d'il y a quelques jours :

https://openclassrooms.com/forum/sujet/aide-pour-coder-en-javascript#message-93715198

N'hésite pas si tu as besoin de plus de précisions

  • Partager sur Facebook
  • Partager sur Twitter
11 avril 2020 à 15:04:58

Bonjour Ben,

Je te remercie pour ton conseil que j'ai évidemment suivi.

Je suis donc allé lire le post et ensuite j'ai agit ainsi:

- J'ai ouvert Node.js Command prompt (que j'avais déjà téléchargé)

- J'ai navigué jusqu'à mon dossier où se trouvent les fichiers en tapant: cd Desktop puis cd Exercice Javascript

- A cet endroit j'ai tapé: npm install (A faire une fois pour toute, je pense)

- A cet endroit j'ai ensuite tapé: npm start (A faire à chaque fois que je veux tester un code Javascript, je pense)

Et là effectivement une page de navigateur s'est ouverte et j'ai pu vérifier le fonctionnement de mon code (qui fonctionne apparemment).

Je te remercie beaucoup pour ton soutient cela me permet de continuer à apprendre le Javascript.

MERCI Beaucoup pour ta gentillesse et ta rapidité.

A+

Francesco

  • Partager sur Facebook
  • Partager sur Twitter
9 septembre 2022 à 15:21:50 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


9 septembre 2022 à 15:30:48

@SabrineJaber    Bonjour, merci de ne pas déterrer d'ancien sujet. Créer le votre dans le respect des règles du forum à savoir qu'un message commence par des règles de politesses (un bonjour ou des salutations à la communauté et se termine par des remerciements par avance pour les futures réponses) un descriptif de votre problème et le code que vous avez écrit inséré sur le forum avec l'outil d'intégration de code soit le bouton code </>.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter