Maintenant, je ne peux même pas créer un petit site Web





Bref, je me souviens bien comment, en 2013, je me suis assis et j'ai écrit un petit site Web en une journée.



C'était un site sur les événements de ma ville natale. Tous les événements de la semaine à venir étaient affichés sur une seule page.



J'ai créé une page avec des événements et un petit panneau d'administration où ils ont été modifiés. J'avais un livre sur PHP, alors j'ai écrit le site en PHP, connecté la base de données MySQL, je l'ai mis en page en HTML et CSS, et l'ai téléchargé sur un hébergement partagé. Le site a été utilisé, et j'ai ajouté diligemment des événements chaque matin jusqu'à ce que j'entre dans l'armée, ne laissant personne pour soutenir. Le site est donc mort.



L'idée du site me paraissait toujours bonne et j'ai décidé de la relancer. Il semblerait, prenez-le et faites-le, mais ce qui a joué contre moi était le fait que je ne me souvenais pas vraiment de PHP et que j'avais déjà acquis de l'expérience en développement dans de très grandes, moyennes et petites entreprises.



J'ai décidé de me mettre au travail et j'ai commencé à réfléchir.



Hmm, je ne peux pas simplement prendre PHP et y écrire quelques pages mélangées avec du HTML. Comment vais-je supporter cela sans POO et sans fractionnement de code généralement normal? De plus, tout le monde dit que PHP n'est pas très bon, et combien de nouvelles versions sont sorties!



J'ai probablement besoin de quelque chose de plus moderne, Node.js ou Python. Mais, bien sûr, je n'écrirai pas simplement dessus car ce ne sont pas des meilleures pratiques. Je vais peut-être prendre un cadre, par exemple Django ou Express.js. Cependant, ce sont les frameworks les plus populaires, mais il y en a d'autres, plus modernes, qu'il faut regarder.



Ayant décidé d'utiliser Python ou Node.js, j'ai réalisé que le simple fait de donner des pages entières du serveur n'est pas bon. Comment puis-je créer des popups d'autorisation ou un chargement dynamique dans ce cas? Eh bien, pas avec jQuery, Dieu nous en préserve! J'utiliserai probablement React ou Vue.js pour écrire une interface appropriée basée sur des composants. Angular sera exagéré, bien sûr. En utilisant le framework, j'ai besoin de me connecter au backend via l'API, donc j'utilise Django REST Framework ou quelque chose comme ça. C'est bien qu'Express.js puisse le faire seul, peut-être vaut-il la peine de choisir Node.js à la fin. Sur le frontend, je devrais connecter Axios, bien qu'il y ait maintenant Fetch, mais est-il pris en charge par tous les navigateurs? Ou peut-être devrais-je utiliser Svelte pour apprendre quelque chose de nouveau en même temps?!



Maintenant, cela vaut la peine de configurer correctement l'EDI, afin de respecter les styles de code, de corriger l'indentation et de ne jamais oublier d'écrire triple égal au lieu de double. La configuration est difficile car les plugins IDE se disputent et placent des points-virgules aux mauvais endroits.



Après avoir compris, je comprends que mon code doit être stocké quelque part. Comme je suis déjà assez fatigué, je vais choisir le GitHub le plus populaire. Après avoir configuré l'autorisation Git et ssh sur mon ordinateur, je me rends compte que je ne sais pas quel système de branchement utiliser. GitFlow est trop redondant lorsque je suis seul, mais ne confie pas tout à la branche principale? On ne sait jamais, quelqu'un rejoindra le projet, ou si je montre le référentiel lors de l'entrevue, tout le monde va rire. Il y a aussi une question non-oisive de savoir quoi écrire dans les descriptions de commit et dans quelle langue, mais laissons cela pour plus tard.



Il vaut la peine de réfléchir à la façon de déployer tout cela sur un hébergement. Si le backend est en Python, vous devez créer un environnement virtuel et y travailler. Pour une raison quelconque, cela ne fonctionne pas carrément sur le serveur, quelque chose tombe toujours. Au fait, vous devez exécuter l'application en tant que service pour que tout redémarre après un crash! Voilà, maintenant nous prenons définitivement Noda! Pour le support sur Node.js, vous devez trouver un hébergement où Node.js fonctionne, et ils sont tous basés sur le cloud et très modernes. Là, vous devez configurer le déploiement du projet à partir du référentiel sur GitHub, mais je ne peux pas simplement connecter la branche maître, car alors toutes mes modifications iront immédiatement au serveur, ce qui n'est pas très bon. Bien sûr, vous pouvez déployer manuellement, mais cela est également obsolète. Peut-être que je repenserai au système de branchement.



Oh, toujours la même DB! Il semble que PostreSQL est bon, et j'ai même travaillé avec, mais peut-être ai-je besoin d'une base de données nosql? Reste la question, comment le déployer sur le serveur, et comment maintenir la même structure sur mon ordinateur et dans le cloud sans perdre de données, mais c'est encore loin.



Ah, j'ai presque oublié. Étant donné que le frontend est sur des frameworks JS, vous devez penser au rendu côté serveur, il est important que mon projet soit indexé. Hmm, n'avez-vous pas besoin d'utiliser Next.js ou Nuxt.js pour cela? Besoin de penser.



Depuis que j'ai déjà commencé à oublier quelque chose, j'ai également besoin de visser un tracker de tâches pour suivre les tâches et les progrès. Dois-je utiliser les méthodologies Scrum ou Kanban? Ou pendant que je suis seul, puis-je faire ça? Alors, comment suivez-vous les délais?



Je n'ai pas non plus pensé à TS, ES6, SASS, PUG, GraphQL, OOP, la programmation fonctionnelle, l'immuabilité et tout ça. Et il faudra attacher le certificat HTTPS! Peut-être que je devrais avoir quelques amis dans l'équipe pour bien faire les choses? Ensuite, vous ne pouvez pas vous passer des requêtes Scrum et Pull.



Sur cette note, j'étais enfin fatigué et j'ai pensé que je devrais peut-être fouiller un vieux livre sur PHP et tout faire comme en 2013, quand je n'avais aucune idée de quoi que ce soit ci-dessus, et que la moitié des technologies n'étaient pas encore apparues? Il semble que je pense trop à l'avance. Je vais résoudre tout ça plus tard, maintenant je vais regarder la série et aller me coucher, et demain je vais certainement commencer à programmer.



All Articles