Salut.

Je suis entrain de me remettre au code, mais cette fois ci, je passe par node.js. J'ai réussi à trouver un système de chat assez sympathique sur github, seulement voilà, je n'arrive pas à le publier, ailleurs qu'en local (localhost...) j'ai essayé de le publier sur heroku et d'autres mais mon code source n'est pas accepté par le serveur.

Voici le lien en question: https://github.com/Othman-Benbrahim/chatpourmonsite

J'aimerai savoir ou cela a "cassé", et peut être que quelqu'un dans le forum serait assez calé, pour pouvoir m'aider.

Merci.

6 réponses


Hello, quel type de serveur tu utilises pour ton chat?

Peut etre des infos dans la doc? https://socket.io/docs/v3/client-initialization/

Bonjour.

J'ai fais quelques recherches. Il y a deux types de serveurs qui prend en charge ce type d'application.

Les serveurs automatisés du type heroku que j'ai choisi car il est gratuit et qui permet d'importer directement le projet depuis github.
Le problème justement, c'est que c'est automatisé, et l'hébergeur déploie l'appli directement et ne reconnait pas la commande de publication du chat, qui n'est pas "npm start".
Mais "node app.js".
On m'a alors conseillé de m'orienter vers un hébergeur de type ssh qui permet de mettre en place le site via des lignes de commande. ça a l'air plus sympa, mais en fait, ça ne l'est pas, car c'est une véritable usine à gaz. J'ai trouvé un hébergeur gratuit (j'ai galéré à trouvé pour le SSH) du nom d'always data.com . Mais il n'y a pas de notice d'emploi pour mettre en place le chat (ou toute application node.js), je n'arrive donc pas, à mettre en place le chat.

Donc, une question: " comment je fais"?

Ils sont bien sympa, sur github, mais si leur trucs ne sont pas compatibles avec un serveur, il est difficile, voir impossible de les publier. Ce qui est un peu embêtant, n'est ce pas?

NB: Oui, j'ai vu la documentation assez rapidement, et j'ai vu qu'il fallait lier l'adresse web à l'application, mais pour l'instant, je n'en suis pas là...

Bonjour, effectivement, mettre une application web en production, ça n'est pas du tout pareil que mettre juste un site random basique en html/php via FTP
Regarde Ce lien , c'est pour o2Switch, mais c'est pareil un peu partout.

Ok, je viens de voir.

Je vais donc renoncé à utiliser ce langage de code, car il est difficilement supporté par les serveurs. Je retourne au PHP pour mon chat... (pourtant le chat que j'avais trouvé était très stylé), mais bon tant pis.

Bien sur que non, il est vachement utilisé, même par les grandes boites.
Ne te laisse pas démoraliser par un petit caillou dans ta chaussures, eventuellement le caillou partira.

Alors il est mal supporté par l'antiquité qui est le serveur mutualisé si s'héberge par SFTP x)

Après il faut juste avoir un serveur cloud qui n'est pas cher du tout et c'est bon

Je crois que Vercel propose gratuiement, et c'est plus simple: tu as juste à brancher ton repo Github sur le site et lui donner les autorisations, et dans le menuu de déploiement de Vercel tu dit juste que c'est un projet NodeJS et tu lui donne le dossier du point d'entrée, il va récupérer ton projet directement depuis Github et gérer tout le déploiement

J'ai déjà essayé, c'est le même principe qu'Heroku, le problème vient du fait que l'installation et le déploiement utilise un chemin différent que celui qui est automatisé. Comme indiqué plus haut, je disais qu'il passait pour l'installation pas "npm start". Mais "node app.js". Et juste ça, ça pose problème...

Je vais retenté par le SSH, en modifiant les paramètres, mais le serveur always data.com ne donne pas de notice, comme le font les autres grosses boites comme OVH ou O2switch, ce qui ne rend pas les choses simples.

Sinon, il y a une autre solution: trouver un chat formaté pour pouvoir être installer selon le protocole de Heroku et Vercel. Si vous en connaissez d'autres plus classiques et adaptés à ces sites, je suis preneur. Je pense que cette solution de compromis est la meilleur...

Le fait qu'il fasse npm start ne pose pas de problème, tu dois juste ajouter le script dans ton package.json. Le projet que tu montre en lien par contre est pas forcément correctement fait :

  • Les dépendances dans le package.json ne précise pas la version attendue des package (on voit des "*") Ce qui risque fortement de casser dès les mises à jours majeurs du projet
  • Tu n'as pas de clef "scripts" dans ton package.json pour indiquer comment démarrer le projet.

Je vais donc renoncé à utiliser ce langage de code, car il est difficilement supporté par les serveurs.

Comme indiqué par d'autres il faut t'adapté à la techno. NodeJS ne s'héberge pas de la même manière vu que tu as un script à lancer plutôt que des fichiers à déposer. Pour o2switch tu as essayé de suivre les instructions ici ? https://faq.o2switch.fr/hebergement-mutualise/tutoriels-cpanel/app-nodejs

Merci de vos explications.

Ce projet de chat n'était pas adapté aux serveur d'Heroku, il faut le mettre en forme. J'ai bien lu les instructions que tu m'as envoyé pour o2switch. Je vais tenter de le modifer.

En attendant, j'ai utilisé un autre projet de chat qui s'adapte aux serveurs Heroku et qui fonctionne:

https://github.com/Othman-Benbrahim/chatforfun