Hello,
1)
En tant que dev full stack d'ecrit sur mon contrat :D, je vais essayer de t'aiguiller sur le quotidien de mon métier.
Le dev full stack a plusieurs cordes à son arc. C'est plutot un responsable de service / chef d'équipe qui connait l'intégralité de la stack technique nécessaire au bon fonctionnement d'un site web. C'est pas le pro du react / CSS / jquery / php / MySQL / linux / reseaux / git etc... mais c'est quelqu'un qui en connait assez pour dire qu'une image trop grande en CSS peut avoir un impacte sur les performances serveur.
Mon quotidien c'est :
- maintenir un vieux site en php / CSS / Jquery
- Développer une API rest
- developper 1 front en react JS
- maintenir une infrastructure d'une dixaine de serveur. ( de temps en temps)
- gérer une équipe.
- faire de la gestion de projet.
a coté de moi, j'ai des gens qui sont meilleur que moi dans tous les domaines cité plus haut. MAIS... si demain tout le monde meurt, je saurai me débrouiller seul et maintenir toute la stack technique utilisé.
2)
De ce que je comprend, tu est plutot un développeur dit "Front" CAD que tu maitrise l'HTML, le CSS et le JS. (jquery, react vue ou autre...)
Qu'est-ce que web socket et REST, j'ai vraiment du mal à comprendre
le dev back va plutot développer l'application coté serveur et gérer la BDD (php & mysql mais pas forcement... ruby on rails / pgSQL, django / noSQL (framework web en python)
et tu as enfin les admin systemes. qui eux gèrent les serveurs, les plantage, l'epluchage de logs etc... montent de nouvelles machines pour proposer plus de services etc...
un dev fullstack connait parfaitement la vue d'ensemble et est capable de déterminer le probleme qu'un coeur de métier peux engendrer sur un autre.
3)
tu sait qu'une requette HTTP ne fonctionne que dans un sens ? tu envoi une demande au serveur et tu recoit la réponse. Fin de l'histoire.
en web socket, c'est comme si tu faisait un tunnel entre ton PC et un serveur. Et par ce biais, le serveur peux t'envoyer des informations directement a ton pc. (utilse dans le cas d'un chat par exemple... plutot que d'avoir une boucle JS qui tourne toutes les 2 secondes pour récupérer les derniers messages recu, tu peux en web socket attendre que ce soit le serveur qui t'envoie naturellement les derniers message a ton PC quand il en recoit).
le REST, ca veux dire Representationnal state transfer. en gros, Finit le transfere d'HTML, on revoit de la data brut. (générallement en JSON est tout droit sorti d'une BDD).
C'est ton application cliente (react ou vue) qui va faire les appel vers un serveur pour demander de la data. le serveur va pas te renvoyer un tableau pré formaté, il va te renvoyer la donnée brut. a toi de construire ton tableau.
si tu connais un peu comment fonctionne les requettes HTTP et les headers, tu comprendras vite comment foctionne REST.
une requette de type :
- GET va te retourner des résultats.
- POST pour l'edition
- PUT pour la création
- DELETE pour la suppression.
Générallement, on discutes en JSON entre le serveur et le client mais tu peux très bien le faire en XML, CSV ou autre...
Rien n'est normé en REST. c'est juste une méthode de travail. si t'as envie d'avoir une requette PATCH pour l'edition, rien ne t'en empeche...
Voila :) j'éspère avoir répondu a tes queques questions :)