IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Créer un « forum » coté serveur


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Etudiant M1 info
    Inscrit en
    Juillet 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant M1 info

    Informations forums :
    Inscription : Juillet 2018
    Messages : 35
    Points : 27
    Points
    27
    Par défaut Créer un « forum » coté serveur
    Bonjour, nous somme un groupe d’étudiant qui devons réaliser un projet en JavaScript. Nous devons réaliser une sorte de forum avec des fonctionnalités bien-sur et parmi celle que l'on doit faire il y'en a 2 que nous ne comprenons pas du tout et n'y arrivons pas :
    -(écriture) Ajouter un nouveau sujet de débat
    -(écriture) Liker et disliker des contributions.

    Le code en js fait plus de 400 lignes donc je pense que c'est pas très pertinent de faire un copier coller ici. J'ai donc mit tout ça en pièces jointes. Désolé si le code est pas du tout optimisé ou quoi on vient de commencer a apprendre tout ensemble (mon groupe et moi même).

    Ma question est comment faire ces 2 fonctionnalités là svp.

    Merci d'avance.
    Cordialement.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Bonjour,
    j’ai regardé tout le code. C’est loin d’être minimal, il y a plein de « bruit » à la lecture du code, notamment l’usage de Bootstrap.
    Je devine que vos enseignants ou enseignantes vous ont fourni un squelette de code avec des parties déjà écrites. Mais difficile de savoir lesquelles.

    Je ne peux pas faire grand chose à part donner quelques conseils d’ordre général :

    D’abord, je vois que vous utilisez le mode strict. C’est bien. Ça vous signale, entre autres, les variables non déclarées, et j’en ai vu quelques-unes. Ouvre la console pour voir les messages d’erreur.

    Il y a également des directives ESLint. Si tu n’as pas de module ESLint dans ton environnement de dév, tu peux utiliser un linteur en ligne, par exemple https://jshint.com/.

    J’ai l’impression que les notions de portée des variables ne sont pas maîtrisées. Pour éviter les pièges, abandonnez var, utilisez const au maximum, et quand vous avez vraiment besoin qu’une variable soit modifiable, utilisez let.

    Il y a quelques confusions entre les méthodes de tableau .forEach() et .map(). N’utilise .map() que quand tu attends en résultat un nouveau tableau. Sinon, utilise .forEach(), ce n’est pas seulement une question d’optimisation, ça exprime aussi ton intention et ça rend le code plus lisible.

    Petit détail à propos des fonctions de tri :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function trie_sujet_alphabetique(a, b) {
      const txta = a.topic;
      const txtb = b.topic;
      if (txta < txtb) return -1;
      if (txta > txtb) return 1;
      return 0;
    }
     
    function trie_sujet_alphabetiqueInv(a, b) {
      return -trie_sujet_alphabetique(a, b);
    }
    Le return 0 indique que les valeurs a et b sont égales, ça permet au moteur d’économiser une ou deux opérations dans ce cas. C’est une légère optimisation.

    Quand tu as besoin de chaînes constantes, par exemple ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (state.sort == "NONE" || state.sort == "decroissant") {
    La moindre faute de frappe fait échouer silencieusement. Par exemple, essaye de voir la différence entre la ligne ci-dessus et la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (state.sort == "NONE" || state.sort == "dercoissant") {
    Pour éviter cet écueil, dans tous les langages on a recours à la déclaration d’une constante. Avec des constantes, les fautes de frappe lèvent des erreurs claires au lieu d’échouer silencieusement.
    JavaScript offre en plus un type de donnée spécial : les symboles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    const SORT_NONE = Symbol("NONE");
    const SORT_DESC = Symbol("decroissant");
     
    ...
     
    if (SORT_NONE === state.sort || SORT_DESC === state.sort) {
    Voir aussi égalité stricte et condition Yoda.

    Note, s’il y a plus de deux valeurs à tester, ça devient intéressant d’utiliser un switch. En JS, le switch fait des comparaisons strictes.

    Un truc qui simplifie la vie pour les dates : .toLocaleString()
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Etudiant M1 info
    Inscrit en
    Juillet 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant M1 info

    Informations forums :
    Inscription : Juillet 2018
    Messages : 35
    Points : 27
    Points
    27
    Par défaut
    D'accord je vais regarder tout ce que vous me dites ! Merci beaucoup d'avoir prit votre temp pour me donner des conseils

Discussions similaires

  1. Gérer le résultat d'un inputbox coté serveur!
    Par AbyssoS dans le forum ASP
    Réponses: 2
    Dernier message: 13/03/2006, 22h13
  2. [XSL] xsl coté serveur? (asp par exemple)
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 02/02/2006, 17h37
  3. Creer fichier sur serveur
    Par woorant dans le forum Applets
    Réponses: 1
    Dernier message: 16/01/2006, 09h54
  4. [Struts 1.2] : validation coté serveur
    Par richard_34b dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/09/2004, 15h42
  5. [Concept] Curseur coté client et curseur coté serveur
    Par freud dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/09/2002, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo