Alors oui, les docs sont pour certaines mal foutues, et la majorité est en anglais, c'est le petit soucis ^^'
Après il y a des docs de bonne qualité, et certaines sont mêmes en francais, par exemple: https://fr.reactjs.org/docs/hello-world.html (bon, c'est pas un framework, c'est une librairie, et la version "framework" de React (NextJS) la doc est très bien mais en anglais ^^')
Pour le problème de Choices avec NodeJS, alors avec Node il faut etre sur d'avoir la dernière version stable (LTS) ensuite si tu passes parr un CDN tu ne passes pas par Node, avec Node il faut un fichier js qui marche comme un module avec import Choices from 'choises', et const choises = new Choises et faire un export et... Bon en vrai c'est simple quand on a l'habitude, mais je me rends compte que ça doit pas être si simple quand on connait pas ^^'
Concrètement j'aurais fais ton script dans un fichier JS
app.js
import Choices from 'choises'
const element = document.querySelector('.js-choice');
const choices = new Choices(element, {
maxItemCount: 4,
removeItemButton: true
});
Après tu fait du JS simple directement dans le html, dans ton cas pas besoin de Node, NodeJS ça sert a faire tout un écosystème JS pour des concepts plus avancés :p
Mais c'est bien de connaitre, en gros n'essayes pas de faire du NodeJS pour refaire ce que tu sait déjà faire, apprends Node pour t'ouvrir des possibilités et tenter de faire des choses que tu ne pouvait pas faire en JS vanilla :p
Au fait jQuery c'est pas un framework, c'est une librairie :p un framework te donne une architecture toute prête avec des cases vides, et tu a juste à remplir les cases (en gros x))
Pour PHP, déjà le traitement de fichier c'est pas mal donc t'as des connaissances plus que correctes ;)
Après si tu touche un peut le traitement de fichiers je peux te proposer de faire un truc en PHP: prends un fichier CSV avec une liste de données (emails par exemple) et fait un deuxième fichier avec la liste d'email à virer (certains emails se trouvent dans la première liste et faudra les virer de la première liste, certains email ne sont pas dans la première liste tu les ignores), et écrit un troisième fichier avec la liste d'email de la première liste, mais sans les emails qui sont aussi dans la deuxième liste
Ca c'est le niveau 1, maintenant on passe au niveau 2, fait la même chose, mais avec des listes géantes ( genre 1millions de lignes, faudra trouver des listes de mots sur internet, ça va être long de tout taper à la main xD) /!\ Il y a une règle: t'as pas le droit de configurer php en mettant memory_limit en illimité, faudra optimiser ton code pour qu'il consomme le moins de mémoire possible, c'est la la difficulté
Ensuite le niveau 3: Fait un petit dashboard avec un acces utilisateur email/mot de passe, et avec la possibilité de faire le filtrage sur internet en uploadant un fichier liste et un fichier liste d'éléments à virer de la première, et un bouton pour lancer le filtre
Si tu arrives le niveau tu a de très bonne connaissances en PHP, si tu arrives a faire le niveau 2 t'es à un niveau pro bravo, tu peux même te former pour être dev pro, et si tu arrive a faire le niveau 3... na mais à ce stade faut que tu passes pro tu serait un excellent dev x'D
Bon c'est une petite idée de projet pour toi j'y ai pensé quand t'as parlé de traitement de fichiers, et c'est le genre de projet que les dev pro font dans le web marketing, fais le si tu aimes bien l'idée :p
Alors un dev c'est quelqu'un si arrive à livrer en très peu de temps un projet de qualité, qui connait peu de langages, mais le peu de langages qu'il connait il est expert, après tu as le dev senior, lui il comprend la logique du code, il peut maitriser facilement n'importe quel langage, pour un langage qu'il n'a jamais vu il lis la doc rapidement et c'est bon il est opé pour un gros projet, il sait aussi choisir quel langage est le mieux adapté pour tel ou tel projet (par exemple le projet que je t'ai proposé, le langage le plus adapté c'est sans hésitations le Golang)