• [^] # Re: Apprendre le codage, développeur web, etc ?

    Posté par . En réponse à la dépêche 20 ans de LinuxFr.org : entretiens avec les visiteurs (1). Évalué à 7. Dernière modification le 10 juillet 2018 à 09:46.

    Pas besoin de formation coûteuse, beaucoup plongent dans l’informatique en autodidacte. Mais être un minimum encadré ou suivi, ça peut être utile.

    Tu peux trouver des tonnes de tutoriels sur le Web, mais le risque, c’est de se noyer sous les informations sans savoir par où commencer. Tu peux, par exemple, regarder un site comme Zeste de savoir: https://zestedesavoir.com/ ou AlsaCreations https://www.alsacreations.com/ qui proposent des tas de tutoriels débutants ou experts. Autre site : http://fr.html.net/tutorials/html/

    Dans le web, il y a deux facettes à gérer : la facette client, ce qu’on appelle le front-end (c’est-à-dire ce qui se passe dans le navigateur), et la facette serveur, ce qu’on appelle le back-end (c’est-à-dire la gestion de la machine qui fournit les données aux clients).

    D’une manière générale, pour le développement Web, il faut apprendre :
    — le HTML (langage qui permet de baliser le texte qu’on voit dans les navigateurs),
    — le CSS (les spécifications qui permettent de modifier l’apparence des sites Web),
    — le JavaScript (langage de programmation qui permet de rendre les sites Web dynamiques): ce n’est pas indispensable pour commencer, mais tu finiras par devoir l’apprendre un minimum si tu veux faire des choses plus pointues.
    — comment créer et gérer une base de données (cette compétence n’est pas utile pour commencer, tu l’apprendras plus tard, si tu avances bien par ailleurs)
    — des rudiments d’anglais, c’est quand même vachement utile, parce que même si les ressources et la documentation en français sont nombreuses, celles en anglais sont encore plus nombreuses.

    Et il faut apprendre un langage de programmation pour tout ce qui est du côté serveur. Ici, tu as le choix entre Python, Ruby, JavaScript, PHP, Go.

    — PHP, c’est l’ancêtre, langage très utilisé partout, mais brouillon et mal foutu, à mon avis.
    — Python, c’est un langage qui a le vent en poupe depuis quelques années, de plus en plus utilisé. C’est un excellent langage en général (et, à mon avis, ce qu’il y a de mieux pour commencer à apprendre l’informatique).
    — Ruby, c’est l’outsider, semblable à Python, bien pensé et agréable, mais qui n’a plus trop la cote.
    — Go, c’est un petit nouveau de plus en plus utilisé, mais pas si fréquent. C’est surtout un langage de plus bas niveau, moins facile d’accès que Python ou Ruby (et il n’y a quasiment aucune doc en français).
    — JavaScript est surtout utilisé pour dans les clients. C’est un langage très à la mode, mais à mon avis l’un des pires pour apprendre la programmation correctement (car bordélique, trop permissif, trop n’importe quoi, et globalement peu lisible).

    Je recommande chaudement le Python.

    Pour la base de données, tu as le choix entre MariaDB, MySQL, PostgreSQL et des tas d’autres. Je n’ai aucune idée de ce qui est à la mode en ce moment et de ce qui est recommandé. Mais, pour l’avoir essayé, je recommande PostgreSQL qui m’a paru excellent. Sinon, j’ai pris conscience dernièrement qu’on sortait souvent l’artillerie lourde sans raison, et qu’un système rudimentaire comme SQLite suffisait dans de nombreux cas. C’est réputé très fiable et c’est, paraît-il, le système de base de données le plus utilisé au monde.

    Sur quel système d'exploitation ? (puis le faire avec un PC normal sous OS Windows) ?

    Ça n’a aucune importance. Tu peux apprendre avec n’importe quel système.

    En combien de temps puis-je espérer apprendre, étant donné que j'ai beaucoup de temps de disponible ?

    Un an, deux ans ? Ça dépend de ta persévérance et de ta motivation. Mais dans le web, tu sauras très vite produire quelque chose (très rudimentaire). Dès le premier jour, si tu apprends vite. Cela dit, en informatique particulièrement, on apprend toujours. Ce n’est pas un domaine à compétences figées, ça bouge beaucoup, mais les bases restent les mêmes.

    Si tu n’as personne pour t’orienter, je te conseille d’acheter quelques bouquins. Ça te coûtera deux ou trois cents euros dans l’ensemble pour acquérir les bases. Mais ça t’évitera de t’éparpiller et perdre ton temps à trouver par où commencer. Ça te fera gagner beaucoup de temps.

    Utile à acquérir dans l’ordre :
    — Un livre pour le HTML (indispensable).
    — Un livre pour le CSS (indispensable).
    — Un livre pour le langage de programmation de ton choix (indispensable).
    — Un livre pour le JavaScript (pas urgent, sauf si tu choisis d’en faire ton langage pour apprendre l’informatique).
    — Un livre pour l’administration Serveur/Linux (dispensable?), car les serveurs sont souvent sous Linux, mais tu trouveras de la doc pour démarrer un peu partout, je pense.
    — Un livre pour la base de données (pas urgent, attends de voir si tu avances bien avec le reste, et tu pourras investir là-dedans).

    J’imagine aussi qu’il doit aussi y avoir des formations en ligne à un tarif accessible (OpenClassroom, par exemple). Mais je n’y connais rien.

    Maintenant, la question qui tue, c’est : dois-tu apprendre à utiliser un Framework ? Un framework, c’est un outil informatique qui va te prémâcher le boulot et te faciliter la tâche par bien des aspects, mais apprendre ce que j’ai listé précédemment reste toujours indispensable. Le framework te facilitera la vie, mais ne te permettra pas d’apprendre correctement. Donc, à mon avis, mieux vaut ne pas commencer par ça, mais les avis pourraient diverger.
    Il existe plusieurs frameworks en Python, Go, JavaScript, PHP, Ruby, etc. Rien que choisir lequel choisir parmi ceux existants n’est pas une chose aisée. À mon avis, tu devrais t’en tenir à l’écart tant que tu n’as pas acquis de solides rudiments en programmation, qui est de toute façon indispensable.

    Pour le développement d’applications mobiles, navré, je n’ai aucune connaissance dans ce domaine.

    Est-ce très compliqué ?

    Ça dépend surtout de ce que tu veux faire.
    Le HTML/CSS (et éventuellement JavaScript), c’est probablement ce que tu peux trouver de plus simple en informatique pour faire des choses basiques rapidement. Après, ça se complique, mais en informatique, tout peut devenir compliqué. D’une manière générale, le Web est probablement ce qui est le plus abordable en informatique.

    Faut-il des compétences particulières et nécessaires pour apprendre ?

    Rigueur, logique, curiosité et surtout persévérance. L’avantage du Web, c’est que tu vas obtenir des résultats très très vite, et que c’est encourageant.