Générateur aléatoire : Votre avis sur les langages

Résolu
D20-D100 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour la communauté,

J'ai besoin de votre avis.

Je suis en train d'apprendre à coder et pour me faire la main, je me suis lancé comme défi de créer des générateurs aléatoires. Je viens de lancer la V1 : https://desenligne.com

Je suis parti sur du HTML/JS car ce sont les technos que je commence à maîtriser et ça tourne pas trop mal.
À votre avis, mon choix de langage est bon ou vous en conseilleriez d'autres pour une V2 ? Pour le moment c'est statique, mais j'aimerais à terme ajouter des animations (voir les dés rouler par exemple, ou une pièce tourner).

Merci pour vos avis.


Windows / Chrome 109.0.0.0


3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour

Le choix d'un langage dépend avant tout des besoins et des contraintes....

Si c'est pour du web, le javascript reste une bonne solution. (Pour les animations, il te faudra également te pencher sur le CSS)


3
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 

Bonjour,

Réponse courte

À ta place, je resterais en javascript en utilisant d3js (voir notamment cet exemple).

Réponse détaillée

Comme le dit Jordane45 #1, si ton objectif est de faire une application web (qui se lance dans le navigateur), javascript est un bon choix, en s'appuyant sur des librairies javascript qui vont te permettre de développer un code efficace et portable (indépendant du navigateur). Le calcul de l'animation doit être fait sur le client (le navigateur), pas sur le serveur web, car sinon tu auras dans l'absolu un problème de passage à l'échelle si de nombreux clients se connectes. Cela te restreins donc à tous les langages exécutés sur le navigateur.

  • Sans plugin dédié installé dans le navigateur, le seul choix possible est javascript, quitte à s'appuyer sur des librairies javascript pour faciliter le développement. Cela ne requiert aucune installation spécifique de l'utilisateur. Je pense en particulier à d3js :
  • Tu pourrais considérer l'utilisation d'un plugin, qui te permet d'envisager plein de technologies (dont de nombreuses sont aujourd'hui désuètes voire même plus supportées). Je pense notamment aux applets flash, java, silverlight, etc. Cet avis n'engage que moi, mais je pense que tout ceci va disparaître progressivement au profit de technologies comparables à d3js et WebGL.

Il y a cependant quelques "problèmes" :

  • La programmation javascript est assez ingrate, car son bon fonctionnement dépend du navigateur. Réaliser un code javascript qui marche sur l'ensemble des navigateurs est souvent assez compliqué et oblige à s'appuyer sur des librairies javascript qui vont permettre de s'affranchir du navigateur sous-jacent (d3js, jquery, etc.)
  • Je trouve que d3js est assez compliqué à prendre en main. Son utilisation suit un design assez particulier et qu'on n'est pas forcément habitué à voir dans d'autres langages de programmation.

Si l'animation doit être calculée par un programme dédié (donc typiquement lancé depuis ton explorateur de fichiers), un lancer de dé peut être réalisée correctement dans à peu près n'importe quel langage raisonnablement évolué.

  • C'est tellement "simple" que tu n'as pas besoin de faire faire le calcul par le GPU.
  • Du python, est bien plus simple à coder et suffit amplement. C'est un langage suffisamment simple à prendre en main et puissant pour débuter en programmation. Il est notamment fréquemment utilisé dans les cours de programmation à partir du lycée.
  • L'application est suffisamment simple pour ne pas nécessiter un langage aussi performant (et compliqué à prendre en main) que le C++.
    • L'utilisation du C++ n'a de sens que si on a besoin d'énormément de puissance de calcul et/ou on veut un jeu moins énergivore (que du python par exemple). C'est le cas des "gros" jeux vidéos en 3D notamment.

Bonne chance

0
D20-D100 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 

Merci pour ta réponse très complète, c'est la 1ʳᵉ fois que j'entends parler de d3js, je vais me pencher dessus.
Concernant les ressources, je préfère effectivement rester sur de la ressource client plutôt que serveur :)

J'ai pas mal de lecture et de test à faire, mais merci pour tes précieux conseils, tu m'ouvres quelques pistes de réflexion pour Dés en Ligne, je sens que je vais m'amuser avec tout ça ????

0
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878 > D20-D100 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 

Hum je te le souhaite, pour moi la prise en main de d3js a été... hum :-) douloureuse ;-) Il existe peut être des frameworks javascript (basés ou non sur d3js) plus facile à prendre en main, mais le javascript n'est pas ma spécialité, donc je te laisse le soin de faire ton état de l'art.

0
PierrotLeFou
 

Je ne connais pas vraiment le JS, mais je crois que c'est un langage interprété.
Pour faire des animations, ça prend une certaine puissance de calcul. Ça prendrait du code sur un serveur.
Je le ferais en C++ car il y a plusieurs fonctions pour l'aléatoire et le graphique.
Enfin, c'est mon idée ...

-2