qui suis

MON HISTOIRE

 

Hello, moi c’est John Taieb, 34 ans, marié et papa d’une petite fille et d’un (presque) grand garçon.
Voici mon parcours.

Entrepreneur

Quand j’ai obtenu mon diplôme d’ingénieur informatique, le marché du travail était au plus bas, il était quasiment impossible de trouver un job sans expérience. Bref, c’était la crise !
Habituellement, la plupart des ingénieurs en informatique trouvent un poste de programmeur débutant et se forment en entreprise. Pour moi c’était pas de chance, je venais de me taper des études longues et compliquées et juste au moment où ça devait enfin payer, tout tombe à l’eau.

Je vous rassure, je ne me suis pas laissé abattre. Si personne ne voulait m’embaucher alors j’allais devenir mon propre patron !
J’étais jeune et j’avais des rêves plein la tête. Cette situation m’a donné un énorme coup de boost pour développer ma propre idée, mon propre produit.
J’allais lancer ma startup !

Le petit souci, c’est que les études universitaires ne m’avaient pas du tout préparé à la réalité. J’avais acquis surtout des connaissances théoriques : beaucoup de Maths, beaucoup de Physique, beaucoup de théorie sur le monde informatique.

Mais rien de tout ça n’allait m’aider à construire mon produit et c’est pourquoi j’ai commencé à me former online.
A l’époque, ce n’était pas comme aujourd’hui. Se former de manière structurée avec un programme de qualité n’existait pas, c’était plutôt du bidouillage: lire un article par ci, voir une réponse dans un forum par là…
Je n’avais qu’un seul objectif : arriver à créer mon produit ! Peu importe la qualité de mon code, l’important c’était de le faire marcher.

Après avoir pas mal sué, j’ai donné naissance à mon petit bébé de l’époque, le Magic Window, un produit qui permettait aux magasins de rendre leur vitrine interactive.
J’y croyais et j’espérais conquérir le monde. Ce n’est pas vraiment ce qu’il s’est passé par la suite, mais cette aventure reste une expérience extraordinaire et surtout, ça m’a appris à coder.
Je pouvais désormais donner vie à mes idées !

Employé

Suite à cette aventure et vu que le marché du travail était remonté, je me suis laissé séduire par l’agréable vie d’employé dans plusieurs boites High-Tech.
J’avais assez galéré avec ma startup pour gagner des clopinettes et je sentais qu’il était temps de passer à autre chose.

Le monde de l’entreprise était beaucoup plus cool au niveau du rythme : avant, je bossais jour et nuit et maintenant, je faisais mes 9 heures quotidiennes et basta !
Au final, je bossais moins et je gagnais plus ! Que demande le peuple.

Ca m’a surtout permis de progresser techniquement. Bosser en équipe sur un projet amène une structure, de la discipline, des règles.
Je commençais à mieux comprendre l’architecture et l’optimisation du code. Toutes ces choses auxquelles je ne m’étais jamais intéressé, moi le sauvage du code qui voulait juste faire marcher son produit.

Mais je me lassais vite de cette routine, alors j’ai changé plusieurs fois de boulot parce que j’avais besoin d’un peu plus de piment.

J’ai gagné en expérience en travaillant sur toutes sortes de projets : des simulateurs pour chirurgiens, des applications pour apprendre la géométrie, etc.

Freelancer

Mais au final, ce « metro-boulot-dodo » ne me convenait plus. J’avais besoin de nouveau et surtout j’avais besoin de plus de liberté. J’ai donc décidé de me lancer en freelance et j’ai créé Codrocks.

Au même moment, je suis devenu papa pour la 1ère fois et ma femme voulait absolument travailler de la maison. Elle voulait être libre de pouvoir se lever quand elle veut, travailler quand elle veut, ne pas avoir un boss au-dessus de sa tête.

Du coup, je me suis dit, pourquoi pas la faire bosser avec moi ?
En fait, ma femme avait plus ou moins le même style de parcours que moi, diplôme universitaire (meilleur que le mien d’ailleurs !) mais au final, elle ne savait pas coder.

Et là, le côté coach qui est en moi a automatiquement pris le dessus et j’ai décidé de la coacher dans son apprentissage du code.
J’ai kiffé cette période dans laquelle je pouvais ressentir qu’elle passait exactement par les mêmes étapes que moi, les mêmes questions, les mêmes erreurs.

L’avantage c’est qu’avec mon expérience j’optimisais sa façon d’apprendre. Je savais ce qui était important, ce sur quoi insister pour la faire progresser plus vite.

Ça y est, vous êtes Développeur Web

Faire le switch « Je suis développeur web »

Lorsqu’on débute dans le développement Web, et particulièrement si on a suivi une formation en ligne, on peut avoir le sentiment de ne pas être à la hauteur, de ne pas être un vrai « développeur web »

Pourquoi ? En fait on n’est pas passé par le cursus habituel dans lequel on se forme et à la fin on reçoit son diplôme qui vient nous donner le coup de tampon officiel « Ca y est, tu es développeur web« .

Un avocat par exemple, il va étudier le droit et à la fin, il reçoit un diplôme qui lui dit officiellement « Ca y est, tu es avocat »

Alors j’aimerais poser une question à tous ceux qui ont des doutes parmi vous et qui ont du mal à s’autoproclamer « développeur web« .

Vous connaissez les langages du Web ? Vous êtes capable de faire des sites web ?

Si oui, alors félicitations ! Vous êtes développeur Web !

Bien sûr il y a des différences entre un développeur web débutant et un développeur web expert.

Mais c’est important de faire ce switch dans vos têtes et d’accepter cette nouvelle situation.

Vous êtes maintenant Développeur web, soyez en convaincu ! Continuer la lecture de « Ça y est, vous êtes Développeur Web »

Comment fonctionne un site Web ?

A présent, essayons de comprendre de manière simple comment fonctionne un site web.

En fait, surfer sur le Web c’est un échange. Waouh c’est beau ! Non vraiment le Web est un système d’échange entre un client et un serveur.

  • Le client c’est nous, c’est notre navigateur Web, c’est lui qui va nous permettre de voir le Web depuis notre ordinateur, smartphone ou tablette. C’est celui que vous connaissez sans doute sous le nom de Chrome, Firefox, Safari, Internet Explorer, etc.
  • Et le serveur, c’est en fait un ordinateur puissant qui stocke et héberge des sites Web. C’est sur cet ordinateur que se trouvent les pages Web, c’est à dire tous les fichiers du site internet auquel on veut accéder.

Le but du serveur web est de servir des clients, d’où le nom « serveur ».

Comment se passe la communication entre le client et le serveur?

Le client accède à une page Web en utilisant l’adresse d’un site web – appelée URL – dans son navigateur. Par exemple, l’URL http://monsite.fr/mondossier/mapage.html

On peut décomposer l’URL en plusieurs parties :

– “http”, c’est le nom du protocole de communication entre le client et le serveur,
– “monsite.com” est le nom de domaine du site Web auquel on veut accéder,
–  “mondossier/mapage.html” est l’endroit où se trouve la page dans le site web.

La communication entre client et serveur se fait en trois étapes :

  1. Premièrement, le client commande une page Web au serveur. Il saisit l’URL d’un site dans son navigateur. Celui-ci envoie immédiatement une requête web au serveur.
  2. Ensuite, le serveur prépare cette commande c’est-à-dire la page Web en question. Le serveur va se charger de traiter la requête et renvoyer les données demandées (page web, image, vidéo…).
  3. Et enfin, le navigateur interprète les données reçues et les renvoient au client qui va les afficher directement sur notre écran

 

Quelles sont les différentes sortes de sites web?

Parfois, le rôle du serveur est vraiment simple, c’est le cas pour les sites Web statiques.
Le client envoie une requête au serveur qui se contente de renvoyer la page demandée. Le serveur ne fait aucun travail sur la page en question, d’où le terme “statique”.

On utilise un site statique lorsque l’on a juste besoin de présenter des informations. On parle alors de site vitrineCréer une page web statique est très simple et est à la portée de tous.

Mais parfois le serveur doit bosser un peu plus dur et c’est le cas pour les sites Web dynamiques.
Lorsque le client commande une page au serveur, le serveur prépare cette commande. Il fait un vrai travail dessus avant de la renvoyer au client.

C’est grâce à ça que les pages Web peuvent être personnalisées en fonction de chaque client ou en fonction de données externes au site.

Par exemple Facebook est un site dynamique. Le contenu est différent et personnalisé pour chaque utilisateur.

De quoi sont composées nos pages Web?

Comme vous l’avez compris, la visite d’un site Web est le résultat d’une communication entre un client et un serveur.
Ce que le client, notre navigateur Web, recevra, sera écrit en langage client, c’est la partie visible de l’Iceberg souvent appelée “Front-End.

Par contre, tout le travail qu’effectuera le serveur sur nos pages Web avant de les envoyer au client sera écrit en langage serveur c’est la partie cachée de l’Iceberg souvent appelée “Back-End.

CMS (Content Management System)

Avant de finir, j’aimerais aussi vous parler des CMS. Vous avez sans doute entendu parler de WordPress, et bien il s’agit d’un CMS.

Les CMS sont en fait des sites Web dynamiques clé en main. C’est génial pour quelqu’un qui ne sait pas coder parce qu’il pourra créer un site Web assez rapidement.

Il sera tout de même limité dès qu’il voudra un petit peu le personnaliser et c’est pourquoi il est préférable de connaître les bases du développement Web même si on décide de travailler avec un CMS.

Cliquez ici pour en savoir plus sur le développement Front-End et ici pour en savoir plus sur le développement Back-End.

Alors, qu’est-ce que le développement Back-End

Pour commencer je vous encourage aller voir mon post sur le fonctionnement d’un site Web pour mieux comprendre ce post sur le développement Back-End.

Alors, qu’est-ce que le développement Back-End ?

Le Back-End, c’est la partie du code qui est exécutée par le serveur, il s’agît du travail qu’il réalise sur les pages Web des sites dynamiques avant de les envoyer au client.

Langage Serveur

Le travail du serveur sera codé dans un langage propre à lui : le langage serveur.

C’est avec ce langage que notre serveur pourra décider et générer des pages Web à renvoyer à chaque client.
Il est important de comprendre que le résultat final renvoyé au client est toujours une page composée uniquement d’HTML, de CSS et de Javascript.
Il existe de nombreux langages serveurs PHPJavaPythonRuby , NodeJsASP.Net etc.
Alors lequel choisir ? Quel est le meilleur langage serveur ?
En fait, tout dépend de vos connaissances en programmation. Si vous avez déjà manipulé un de ces langages, il sera alors plus rapide d’avancer avec.
Bref, il n’y a pas de meilleur choix. Je vous recommande le langage pour lequel vous serez certains d’avoir quelqu’un pour vous aider.

PHP

Dans la formation développeur Web, j’ai décidé de vous faire débuter avec PHP.
Pourquoi PHP?

  • Très grande communauté : ce qui peut vous aider rapidement sur Internet si vous avez des problèmes
  • Facile à utiliser : idéal pour les débutants
  • WordPress est en PHP : ce qui peut être bien utile si vous voulez personnaliser vos sites WordPress.

Envie d’apprendre à développer avec le langage PHP ? Suivez le cours « créer un formulaire de contact » !

Les bases de données

Quel que soit le site Web dynamique que l’on veut faire, on aura souvent besoin d’enregistrer des informations pour les réutiliser plus tard. Par exemple, on peut avoir besoin de stocker les données concernant les utilisateurs de notre site.
Notre serveur devra alors utiliser une base de données. C’est un ensemble de fichiers dans lequel les données sont stockées de façon organisée.
Il y a plusieurs systèmes de bases de données : MySQL, Oracle, Microsoft SQL Server…

Dans la formation développeur Web, j’ai choisi d’utiliser MySQL car c’est de loin le plus utilisé parmi ceux qui sont gratuits.
Pour accéder aux données, notre serveur utilisera encore un autre langage : le SQL (Search Query Language) qui fonctionne avec des requêtes.

Exemple de requête SQL: Récupère la liste de tous les utilisateurs qui se sont inscrit le mois dernier.
Retrouvez ce cours complet en ligne et découvrez les bases de données et le langage SQL.

Formation Développeur Web

Voilà, j’espère que vous avez maintenant une meilleure vue d’ensemble sur le développement Web.

Si vous voulez maintenant passer à l’action et que vous êtes motivés pour devenir développeur Web alors rejoignez-moi dans la formation sur le développement Web.

Qu’est-ce que le développement Front-End ?

Si vous ne savez pas ce qu’est un client, un serveur ou que vous ne connaissez pas la différence entre un site Web statique et dynamique, lisez d’abord notre article sur comment fonctionne un site web.

Qu’est-ce que le Front-End ?

Le front-end c’est la partie du code qui est reçue par le client. Je rappelle que le client c’est notre navigateur Web. Il s’agit finalement des éléments du site web que l’on aperçoit à l’écran et avec lesquels on pourra interagir. Ces éléments sont composés de 3 langages: HTML, CSS et Javascript

Le Navigateur Web

Notre navigateur c’est l’outil qui va nous permettre de voir le Web. Les plus connus sont: Chrome, Firefox, Safari, Internet Explorer, etc.
On peut le voir comme une sorte de traducteur, c’est-à-dire qu’il va recevoir du code et nous le montrer sous forme visuelle, il va afficher nos pages Web.
D’ailleurs, ils n’ont pas tous la même façon de traduire ce code et lorsque l’on codera, on devra faire attention aux spécificités de certains navigateurs web.
Le code client que notre navigateur peut comprendre est composé de 3 langages différents : HTMLCSS et Javascript et c’est l’ensemble de ces 3 langages contrôlés par le navigateur web de l’utilisateur qui va composer nos pages Web.

HTML (Hyper Text Markup Langage)

HTML – Hyper Text Markup Langage – est un langage composé de tags, balises en Français. Il va nous permettre de représenter la structure, le squelette de nos pages Web.

Par exemple : un titre, un paragraphe, une image ou une liste.

CSS (Cascading Styles Sheets)

Le langage CSS – Cascading Styles Sheets – est un langage qui va mettre en forme nos pages Web et les décorer. Il va désigner nos éléments HTML à l’aide de sélecteurs et va leur appliquer un style CSS. C’est ce langage CSS qui est responsable des couleurs, des tailles, de la mise en page, etc.

Suivez le cours complet sur les langages HTML et CSS, et commencez à construire vos propres sites Web !

Javascript

Un site Web peut être composé uniquement d’HTML et de CSS, mais si on veut lui insuffler un peu de vie on aura besoin de Javascript, qui lui, est un vrai langage de programmation, avec des boucles, des conditions…

II sera responsable de l’interactivité et de la logique qu’il y a derrière nos pages web. Par exemple, si on veut ouvrir un menu en cliquant sur un bouton particulier, on le fera avec du Javascript.

Voilà pour les 3 langages qui composent le code de nos pages Web : HTML, CSS et Javascript. Maintenant, il y a aussi des outils basés sur ces 3 langages qui nous permettent de coder plus rapidement et plus simplement.

Alors, envie d’en savoir plus sur le langage JavaScript ou JS pour les intimes ?
Découvrez le cours JavaScript pour apprendre à coder en JavaScript, étape par étape.

JQUERY

jQuery est une librairie Javascript très populaire. Son slogan c’est « Ecris moins et fais plus ». Son rôle est réellement de nous simplifier la vie !

C’est-à-dire que les tâches courantes de Javascript, qui nécessitent de nombreuses lignes de code, jQuery nous les rend accessible avec une seule ligne de code !

Il gère également pour nous les problèmes de compatibilité entre les navigateurs Web.

Vous aussi, vous souhaitez maitriser ce framework pour accélérer vos développements web ?
Découvrez le cours complet pour Apprendre jQuery et Créer une page Web interactive

BOOTSTRAP

Il y a aussi Bootstrap qui est un framework HTML, CSS et Javascript, c’est-à-dire une structure qui contient de nombreux composants prêts à l’emploi: boutons, listes déroulantes, menus, etc.

Mais ce qui fait de Bootstrap une véritable star, c’est sa popularité pour développer « responsive ».

Apprenez Bootstrap pas à pas avec le cours complet en ligne Bootstrap

DEVELOPPEMENT RESPONSIVE

C’est quoi « responsive » ? Responsive, c’est une façon d’appréhender la conception d’un site Web.

Notre site devient une page web flexible, il s’adapte automatiquement à la taille de l’écran. C’est-à-dire qu’il s’organisera différemment s’il est vu depuis un smartphone, une tablette ou un ordinateur.

Voilà c’est tout pour les bases du développement Front-end !

Maintenant, si on connaît uniquement le Front-end, on ne peut produire que des sites statiques. Si vous voulez construire des sites dynamiques, vous devrez aussi approfondir le développement Back-End