Créer un systeme de prise de rendez vous

Fermé
turtleArtist Messages postés 10 Date d'inscription vendredi 28 août 2020 Statut Membre Dernière intervention 7 mai 2022 - 20 janv. 2022 à 14:59
 question - 9 févr. 2022 à 18:53
Bonjour,

J'aimerai réalisé une sorte de clone de Doctolib.
( Gestion et prise de rendez vous, et VisioConference. )
Pour le visio j'imagine faire ça avec le WebXR en JS

Pour la prise de rendez vous je ne sais pas trop ...
Je n'ai jamais trop coder de backEnd ( vite fait avec php il y a des année )
Je sais que doctolib est fait en Ruby.
Je me demande si ce projet est faisable avec nodeJS ou si il faut que je me tourne vers une autre technologie.


Configuration: Windows / Chrome 97.0.4692.71

A voir également:

1 réponse

Salut,
euh c'est plus une question de base de données que de langage(à part SQL) et de définir votre système d'information correctement, dans un premier temps au moins, pour obtenir des entités de données cohérentes(les tables d'une base).

Ensuite pour les langages serveurs des pages dynamiques il y a quelques choix.
Parmi lesquels PHP, Node.js(qui n'est bien sûr pas un langage mais une façon d'utiliser JavaScript côté serveur), ASP et que sais je encore mais PHP, ASP puis node.js reste les plus courant il me semble(j'oublie un peu Java mais c'est autre chose puisque dans le cas du web fonctionne avec des applets).
Dans tous les cas le principe c'est que le langage serveur fait passerelle avec la base. Dans un sens pour fournir les contenus à afficher à la page, dans l'autre sens pour fournir les données à ajouter/modifier/supprimer à la base.

Le langage serveur envoie les requêtes qui sont traitées en SQL. L'intérêt c'est que la base n'est jamais accessible directement et donc tout à fait sécurisé(par la partie programme serveur si bien faite) et l'inverse serait plutôt gênant(d'accéder directement à une page de données par une page web).

Explications plus détaillées:
https://fr.wikipedia.org/wiki/Architecture_trois_tiers

https://www.commentcamarche.net/contents/221-reseaux-architecture-client-serveur-a-3-niveaux


"Je sais que doctolib est fait en Ruby. "
Ruby est un langage de programmation et de traitement de données qui peut fonctionner sur serveur. Donc Ruby n'est pas uniquement ce qui fait le site mais bien HTML, CSS et la base de données qui est derrière.
C'est donc un ensemble de technologies complémentaires, chacune ayant son propre rôle.
Dans le cas des pages dynamiques(voir liens sur le fonctionnement des pages dynamiques = l'architecture 3 tiers) la partie serveur consiste à préparer et vérifier les requêtes et données transmises donc c'est assez mineur se limitant souvent à un echo en PHP.

ça c'est pour la prise de rendez-vous, enregistrer des données dans une base et les retourner derrière. Éventuellement gérer les correspondances et temps libre ce qui est trivial côté programmation car si dans la base un rendez vous est pris on à un jour/heure donnée on peut partir du principe qu'un autre rendez vous est impossible pour le même médecin à la même heure.

Pour les visio-conf il y plusieurs moyens mais je ne voit pas vraiment le rapport avec node.js
Il faut plutôt voir du côté de la gestion d'un flux de streaming, ce qui est natif en simple HTML avec l'ajout d'un peu de JavaScript et l'utilisation d'une webcam ce qui est de plus en plus simplifié en HTML5 (via la balise video et l'API JS qui va avec)mais nécessite un petit peu de développement ou simplement utiliser une bibliothèque existante voire un framework qui gère cela(je ne pourrais vous dire lequel en particulier par contre ne sachant pas plus sur ce sujet).

Donc oui c'est possible avec node.js puisque c'est un langage serveur mais ce choix dépends de plusieurs facteurs que seul votre cahier des charges complet peut vous aider à déterminer.
Parmi cela votre aisance avec tel ou tel langage.

Sinon il y a aussi les CMS surtout si vous êtes débutant ou peu à l'aise avec ces différentes technos et que vous voulez un site de qualité et vous épargner du temps de travail quel que soit vos compétences, inutile d'inventer la roue si il y en a déjà qui fonctionnent que vous pouvez utiliser.

Première étape donc = un cahier des charges qui comprends bien sûr les fonctionnalités et permet de faire l'analyse et la conception des données/système d'information de votre site/programme mais aussi les choix techniques / temps / compétences que vous avez ou envisagez d'acquérir(ce qui prend du temps, temps pendant lequel le projet n'avance pas concrètement mais souvent nécessaire dans des premiers projets pros ).
Bref les avantages et on,convénients éventuels de tel ou telle technologie dans le cadre précis du projet. Pour PHP les avantages sont que c'est une techno éprouvée et utilisée. Pour node.js je ne sait pas trop, la gestion des socket peut-être mais ça ne semble pas vraiment pertinent dans le cadre de votre projet (peut-être que ça peut répondre à votre cahier des charges, comment puis je le savoir ou vous même avant de poser les besoins/enjeux qui permettent de définir les techs à utiliser).

Le backEnd c'est un grand mot pour pas grand chose dans le cas du web mais toutefois une spécialité ou plusieurs souvent en rapport avec les BDD et leur traitement.

Sur le sujet voir aussi les méthodes de conception/analyse de système d'informations(et ses contraintes/avantages pour un projet sur court/moyen/long terme) la méthode Merise et éventuellement les bases de données NOSQL même si elles n'ont pas la rigueur(souvent nécessaire ou qui permettent de gagner en qualité/efficacité d'un programme ainsi qu'en rapidité de développement + persistance et intégrité des données et du programme) des bases de données relationnelles.


Voilà bon travail, commencez par le début qui est de poser les besoins concrets et au max exhaustifs avant d'essayer de chercher des réponses puisque que ce sont les contraintes/compétences et autres nécessités.

ps: faire appel à un pro peut aussi être une question à prendre en compte dans le cahier des charges et ses avantages/inconvénients-le coût et la qualité bien sûr étant concernés-
1