{"id":62,"date":"2021-01-01T13:48:00","date_gmt":"2021-01-01T12:48:00","guid":{"rendered":"https:\/\/switchelventutos.wordpress.com\/?p=62"},"modified":"2021-01-01T13:48:00","modified_gmt":"2021-01-01T12:48:00","slug":"how-did-i-fall-into-it","status":"publish","type":"post","link":"https:\/\/tutos.switchelven.fr\/fr\/how-did-i-fall-into-it\/","title":{"rendered":"Mon entr\u00e9e dans le monde de la programmation"},"content":{"rendered":"<p>Bonjour le monde. Ici Switch. <br><br>Aujourd'hui, j'aimerais vous partag\u00e9 mon parcours dans le monde de la programmation, comment je l'ai d\u00e9couvert, et comment j'ai \u00e9volu\u00e9 en son sein jusqu'\u00e0 pr\u00e9sent. <br><br>Cette histoire commence dans ma jeunesse (pour certains, d\u00e9j\u00e0 trop tard). <\/p>\n\n\n\n<p class=\"has-primary-color has-text-color has-large-font-size\">Premiers pas<\/p>\n\n\n\n<p>Je pense que lorsque j'\u00e9tais au coll\u00e8ge, il y avait deux choses qui pouvait nous amener a d\u00e9couvrir la programmation. Soit vous vouliez cr\u00e9er un jeux vid\u00e9o, soit vous d\u00e9siriez partager votre vie, projet ou autre gr\u00e2ce a votre propre site web. <\/p>\n\n\n\n<p>Pour ma part, j'ai cr\u00e9\u00e9 mes premier site web vers la fin de mes ann\u00e9es de coll\u00e8ges. Rien de bien incroyable, j'utilisai alors un \u00e9diteur graphique sp\u00e9cialis\u00e9 gratuit: Nvu (qui deviendra Kompozer). <\/p>\n\n\n\n<p>Erreur apr\u00e8s erreur, j'ai pu mettre en place des mises en forme, des interaction trouv\u00e9es sur d'autre site ou motiv\u00e9 par la volont\u00e9 de pr\u00e9sent\u00e9 quelque chose de fa\u00e7on particuli\u00e8re. Petit \u00e0 petit, j'ai d\u00e9compos\u00e9 les solutions que je trouvais, comprenant au fur et a mesure les liens entre les diff\u00e9rents \u00e9l\u00e9ments, leur objectifs ou leur fonctionnements. Je suis petit a petit pass\u00e9 d'une cr\u00e9ation de page via un \u00e9diteur aidant a la mise en forme \u00e0 la cr\u00e9ation directe de code source. S'ensuivit une modification de mes outils vers des \u00e9diteurs de code plus classique (Coda, qui fut gratuit sur MacOS puis Netscape et Sublime Text). <br><br>Bien que simple, et que beaucoup disent avec humour que cod\u00e9 avec HTML et CSS n'est pas programm\u00e9, ce travail m'a donn\u00e9e des bases solides pour mon \u00e9volutions future. J'ai principalement appris comment r\u00e9utilis\u00e9 des ressources existantes pour les adapt\u00e9 a un projet diff\u00e9rent. Mais aussi, comment construire un projet complet, pi\u00e8ce par pi\u00e8ce, du n\u00e9ant \u00e0 sa publication en ligne. Je dirai aujoud'hui, avec le peu de recul dont je dispose, que comprendre comment cr\u00e9er un outils a partir d'une simple id\u00e9e est essentiel a la compr\u00e9hension des outils plus avanc\u00e9 proposant de simplifi\u00e9 la mise en place de tel projets.<\/p>\n\n\n\n<p class=\"has-primary-color has-text-color has-large-font-size\">D\u00e9couverte des algorithmes<\/p>\n\n\n\n<p>La prochaine \u00e9tapes de ma d\u00e9couverte a \u00e9t\u00e9 amen\u00e9 par mon entr\u00e9 au lyc\u00e9e. Une nouvelle dimension de la programmation s'est ouvert a moi gr\u00e2ce a la d\u00e9couverte des calculatrice programmable. En France, il est demand\u00e9 d'acqu\u00e9rir des calculatrice intelligente lors de votre entr\u00e9e au lyc\u00e9e. Celles-ci permettent par example de cr\u00e9er des graphiques a partir de function, de les analyser ou de r\u00e9soudre des \u00e9quations. Mais surtout, elles offrait un langage de programmation, et la possibilit\u00e9 de cr\u00e9er des programme de calcul automatis\u00e9s. <br><br>Le langage propos\u00e9, quoi que simpliste, utilisait toutes les d\u00e9finitions basiques de n'importe quel langage imp\u00e9ratif.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>boucle simple<\/li><li>d\u00e9claration de variable<\/li><li>assertions<\/li><\/ul>\n\n\n\n<p class=\"translation-block\">J'ai ainsi pu impl\u00e9menter les algorithmes math\u00e9matiques apport\u00e9s par mes \u00e9tudes, tel que la division euclidienne, la r\u00e9solution d'\u00e9quation du second degr\u00e9s, et autres. Cette p\u00e9riode m'a permis de me s\u00e9parer d'un grand nombre d'erreur de d\u00e9butant et en souhaitant complexifier mes programmes, j'ai aussi rencontr\u00e9 la limite de cet outil. Il \u00e9tait impossible de r\u00e9utiliser des fonctions d\u00e9j\u00e0 existante au sein d'un nouvel algorithme. J'ai donc du voir mes programme comme des blocs individuels pouvant \u00eatre chain\u00e9s, et ainsi, du clarifier et limiter les entr\u00e9es et sorties de chaque fonction. Je me doit aussi de pr\u00e9ciser que le langage offert par ma calculatrice n'\u00e9tait pas typ\u00e9 (c'est \u00e0 dire qu'il n'\u00e9tait pas possible lors de la cr\u00e9ation de la fonction de forcer l'utilisateur a passer les arguments attendu). Cela m'a conduit a v\u00e9rifier les entr\u00e9es utilisateur directement dans mon algorithmes. Il existe, a ma connaissance, deux visions de la s\u00e9curisation des entr\u00e9es. La premi\u00e8re se contente de d\u00e9l\u00e9guer \u00e0 l'utilisateur de la fonction la t\u00e2che de s'assurer que les param\u00e8tres correspondent a ce qui est attendu. Cela implique d'assurer que chaque personne utilisant la fonction <strong>connaisse<\/strong> les pr\u00e9-requis du process. Ainsi, si un appel incorrect est fait, l'utilisateur est responsable. L'autre solution consiste a v\u00e9rifier l'entr\u00e9 soit m\u00eame et a s'assurer que les pr\u00e9-requis sont valid\u00e9s. Je pr\u00e9f\u00e8re cette m\u00e9thodes ayant appris la programmation via un langage non typ\u00e9 et ne permettant pas de documentation. Aussi, si la premi\u00e8re m\u00e9thode convient a des usages internes, elle ne saurait \u00eatre appliqu\u00e9 si les donn\u00e9es sont fourni par un utilisateur externe. Ainsi, choisir de v\u00e9rifier les param\u00e8tres d'entr\u00e9e par d\u00e9faut permet d'assurer que la m\u00e9thode peut aussi bien \u00eatre utilis\u00e9 en interne qu'en externe sans cr\u00e9er une couche de s\u00e9curit\u00e9.<\/p>\n\n\n\n<p class=\"has-primary-color has-text-color has-large-font-size\">Apprentissage scolaire<\/p>\n\n\n\n<p> Mon parcours scolaire me conduit par la suite en  classe pr\u00e9paratoire math\u00e9matique et physique (MPSI puis MP) et me fournit ma premi\u00e8re approche scolaire de la programmation. <\/p>\n\n\n\n<p class=\"translation-block\">Ces deux ann\u00e9es m'ont permis de d\u00e9couvrir un de mes paradigme de programmation pr\u00e9f\u00e9r\u00e9e, la <em>programmation fonctionnelle<\/em>. Cette rencontre a clarifi\u00e9 et \u00e9largie ma vision sur la conception de programme informatique. J'ai appris un grand nombre de m\u00e9thodes pour simplifi\u00e9 des probl\u00e8mes, les s\u00e9parer en sous-probl\u00e8me ou les li\u00e9s a des th\u00e9ories math\u00e9matiques. C'est ce qui m'a conduit a choisir la voie des sciences informatique pour la suite de mon parcours.<\/p>\n\n\n\n<p>Pour finir, mon passage en \u00e9cole d'ing\u00e9nieur et mes premi\u00e8res exp\u00e9riences professionnelles m'ont disciplin\u00e9 et m'ont encourag\u00e9 a utiliser des outils existant plut\u00f4t que de toujours tout recr\u00e9er soit m\u00eame.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Aujourd'hui, j'ai parcouru de nombreuses facette des sciences informatiques et, bien que je me soit orient\u00e9 sur le d\u00e9veloppement Back-End (ce que vous ne voyez pas mais qui permet aux applications de fonctionner correctement), je continue a approfondir mes connaissances dans d'autres sujet. J'adore le devops et l'intelligence artificielle, et je ne manquerais pas de vous partager mes d\u00e9couvertes. <br><br>J'esp\u00e8re que cet article vous aura \u00e9t\u00e9 une agr\u00e9able lecture, et vous souhaite une tr\u00e8s bonne ann\u00e9e \ud83d\ude42 <\/p>","protected":false},"excerpt":{"rendered":"<p>Un court article pour pr\u00e9senter mon \u00e9volution dans le monde de la progammation.<\/p>","protected":false},"author":1,"featured_media":27,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-62","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-experience-return","entry"],"_links":{"self":[{"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/posts\/62","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/comments?post=62"}],"version-history":[{"count":0,"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/posts\/62\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/media\/27"}],"wp:attachment":[{"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/media?parent=62"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/categories?post=62"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tutos.switchelven.fr\/fr\/wp-json\/wp\/v2\/tags?post=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}