creer site web vivants

Comment développer des sites web « vivants » (1/22)

Temps de lecture: 13 minutes

Voici le premier cours de mon défi qui consiste à publier un résumé de 22 formations du numérique, du développement personnel et de l’entrepreneuriat en 22 semaines. Je vous assure, ces formations peuvent changer complètement votre vie. Pour voir le programme des formations de ce défi, cliquez ici.

php-opencours

[table id=1 /]

Ah PHP…………voilà un langage de programmation dont je suis totalement amoureux (ben ouais, je vous signale que je développe en PHP  😎 ).

Mais, commençons par définir ensemble ce qu’est un langage de programmation (au cas où vous ne le sauriez pas ). Voici la définition de Wikipédia:

« En informatique, un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent. »

Bon ça ne nous avance pas trop  🙄 Mais en fait vous devez comprendre par là que c’est un ensemble d’instructions avec une syntaxe donnée qui permettent de créer tout simplement toutes sortes d’applications informatiques (le navigateur web que vous utilisez, facebook, whatsapp, windows en sont des exemples parmi tant d’autres).

Les langages de programmation ont une syntaxe bien donnée et une manière d’être utilisés bien définie. C’est exactement comme les langues que nous parlons (Français, Anglais, Chinois etc.); chacune de ces langues s’utilisent d’une certaine façon et possède ses propres règles de grammaire et d’orthographe. Bon je pense que maintenant vous avez compris. On peut avancer 😉

Il existe trois types de langages:

  • Langage compilé : le code source est donné à un programme appelé compilateur qui va lire le code source et le convertir dans un langage que l’ordinateur sera capable d’interpréter : c’est le langage binaire, fait de 0 et de 1. Les langages comme le C ou le C++ sont des langages dits compilés.

  • Langage précompilé : ici, le code source est compilé partiellement, généralement dans un code plus simple à lire pour l’ordinateur, mais qui n’est pas encore du binaire. Ce code intermédiaire devra être lu par ce que l’on appelle une « machine virtuelle », qui exécutera ce code. Les langages comme le C# ou le Java sont dits précompilés.

  • Langage interprété : dans ce cas, il n’y a pas de compilation. Le code source reste tel quel, et si on veut exécuter ce code, on doit le fournir à un interpréteur qui se chargera de le lire et de réaliser les actions demandées. Le langage PHP est un langage interprété.

Personnellement, je pense que le PHP est un langage très, très mais alors très ( 😮 ) avantageux. Et ce pour plusieurs raisons:

C’est vrai, il y a pas mal de sites où il est possible d’apprendre ce magnifique langage de programmation. Mais la plateforme qui, à mon humble avis, permet d’apprendre ce langage le plus simplement du monde est Open Classrooms. Je vous rassure ce n’est en aucune façon de la publicité.

Je suis inscrit sur cette plateforme, et 70{ab427ece8b2232606fd65569887a495d9d5a55ca1e2c0782b7125713cb8fd0e9} de mes connaissance dans les métiers du digital, proviennent des cours qui y sont dispensés. Je leur dois beaucoup, et je ne peux tout simplement pas me taire sur cette magnifique plateforme.

 

C’est pour cette raison que je vais vous faire le résumé du cours Concevez votre site web avec PHP et MySQL. Ne soyez pas en colère, car si vous avez lu l’article de présentation du défi, vous saurez que j’ai listé les cours dont j’allais faire le résumé ainsi que les plateformes qui dispensent ces cours. Et Open Classrooms y figure.  😛

 

Allez voir cette formation dès maintenant, si vous le voulez,  en cliquant sur ce lien: Concevez votre site web avec PHP et MySQL 

 

Mais halte ! Avant de continuer, je préfère vous prévenir, cet article est un peu long. Tous les résumés de cours seront longs. Mais comme vous le constaterez, c’est un véritable résumé car vous lirez les grandes lignes d’un cours de 30 heures en quelques minutes. Alors, si vous êtes courageux, je vous invite à continuer la lecture de cet article. Sinon, bah vous pouvez tout simplement aller regarder des vidéos hilarantes sur Youtube  🙄

 

Alors maintenant que le décor est planté, c’est parti !

 

Résumé du cours « Concevez votre site avec PHP et MySQL »

 

  • Partie 1: Introduction

Il est important pour vous de connaitre votre rôle en tant que développeur web PHP, dans la bonne gestion d’un projet multimédia. En effet, un bon développeur web PHP n’est pas qu’un bon codeur. Il connait les trois axes qui permettent la conduite d’un projet, à savoir le budget, le délai et le périmètre fonctionnel. Il sait que pour permettre que l’ensemble des membres de l’équipe gagnent en confiance les uns avec les autres, il est important de communiquer sur l’avancée, les difficultés rencontrées. Le plus tôt ces informations sont partagées, au mieux il sera possible de trouver une solution aux problèmes.

Il est également important de savoir qu’un site écrit en PHP fonctionne dans un triplet: PHP, MySQL, serveur web. Une requete est envoyée d’un navigateur web, au serveur web. Le serveur web avec l’aide PHP génère une page et la renvoie au navigateur web. Il se peut que PHP ait souvent besoin de MySQL pour crée une page personnalisée pour un utilisateur donné.

Ce qui est indispensable au bon fonctionnement d’un site web écrit avec PHP afin qu’il s’affiche correctement dans un navigateur, est tout simplement un serveur web.

  • Partie 2: Les bases de PHP:

On entre de plein pied dans les bases de PHP. avec une introduction sur les variables,les conditions, les boucles, les tableaux, les fonctions

Les variables:

  1. Une variable est une petite information qui reste stockée en mémoire le temps de la génération de la page PHP. Elle a un nom et une valeur.

  2. Il existe plusieurs types de variables qui permettent de stocker différents types d’informations : du texte (string), des nombres entiers (int), des nombres décimaux (float), des booléens pour stocker vrai ou faux (bool), etc.

  3. En PHP, un nom de variable commence par le symbole dollar: $nom par exemple.

  4. La valeur d’une variable peut être affichée avec l’instruction echo.

  5. Il est possible de faire des calculs mathématiques entre plusieurs variables : addition, soustraction, multiplication…

Concernant les conditions en PHP:

  1. Les conditions permettent à PHP de prendre des décisions en fonction de la valeur des variables.

  2. La forme de condition la plus courante est ifelseifelse qui signifie « si »… « sinon si »… « sinon ».

  3. On peut combiner des conditions avec les mots-clés AND(« et ») et OR(« ou »).

  4. Si une condition comporte de nombreux elseif, il peut être plus pratique d’utiliser switch, une autre forme de condition.

  5. Les ternaires sont des conditions condensées qui font un test sur une variable, et en fonction des résultats de ce test donnent une valeur à une autre variable. Elles sont cependant plus rarement utilisées.

Pour les boucles:

  1. Les boucles demandent à PHP de répéter des instructions plusieurs fois.

  2. Les deux principaux types de boucles sont :

    • while : à utiliser de préférence lorsqu’on ne sait pas par avance combien de fois la boucle doit être répétée ;

    • for : à utiliser lorsqu’on veut répéter des instructions un nombre précis de fois.

  3. L’incrémentation est une technique qui consiste à ajouter 1 à la valeur d’une variable. La décrémentation retire au contraire 1 à cette variable. On trouve souvent des incrémentations au sein de boucles for.

Il y a aussi également la notion des tableaux:

  1. Les tableaux (ou arrays) sont des variables représentées sous forme de tableau. Elles peuvent donc stocker de grandes quantités d’informations.

  2. Chaque ligne d’un tableau possède une clé (qui permet de l’identifier) et une valeur.

  3. Il existe deux types de tableaux :

    • les tableaux numérotés : chaque ligne est identifiée par une clé numérotée. La numérotation commence à partir de 0 ;

    • les tableaux associatifs : chaque ligne est identifiée par une courte chaîne de texte.

  4. Pour parcourir un tableau, on peut utiliser la boucle for que l’on connaît déjà, mais aussi la boucle foreach qui est dédiée aux tableaux.

  5. Il existe de nombreuses fonctions permettant de travailler sur des tableaux et notamment d’effectuer des recherches.

PHP possède également ce que l’on appelle des fonctions:

  1. Les fonctions sont des blocs de code qui exécutent des instructions en fonction de certains paramètres.

  2. Les fonctions ont généralement une entrée et une sortie. Par exemple, si on donne la valeur 4 à la fonction de calcul du cube, celle-ci renvoie 64 en sortie.

  3. PHP propose des centaines et des centaines de fonctions prêtes à l’emploi pour tous types de tâches : envoyer un e-mail, récupérer l’heure, crypter des mots de passe, etc.

  4. Si PHP ne propose pas la fonction dont on a besoin, il est possible de la créer avec le mot-clé function.

PHP possède également une fonctionnalité géniale: l’inclusion de portions de pages:

  1. Une page PHP peut inclure une autre page (ou un morceau de page) grâce à l’instructioninclude.

  2. L’instruction include sera remplacée par le contenu de la page demandée.

  3. Cette technique, très simple à mettre en place, permet par exemple de placer les menus de son site dans un fichier menus.php que l’on inclura dans toutes les pages. Cela permet de centraliser le code des menus alors qu’on était auparavant obligé de le copier dans chaque page sur nos sites statiques en HTML et CSS !

 

  • Partie 3 – Transmettre des données de page en page

Il est temps d’apprendre maintenant comment transmettre des données en PHP avec l’URL et les formulaires, ce que sont les variables superglobales, les sessions et cookies

Transmettre les données avec l’URL:

  • Une URL représente l’adresse d’une page web (commençant généralement parhttp://).

  • Lorsqu’on fait un lien vers une page, il est possible d’ajouter des paramètres sous la forme bonjour.php?nom=Dupont&prenom=Jean qui seront transmis à la page.

  • La page bonjour.php dans l’exemple précédent recevra ces paramètres dans un array nommé$_GET :

    • $_GET['nom']aura pour valeur « Dupont » ;

    • $_GET['prenom']aura pour valeur « Jean ».

  • Cette technique est très pratique pour transmettre des valeurs à une page, mais il faut prendre garde au fait que le visiteur peut les modifier très facilement. Il ne faut donc pas faire aveuglément confiance à ces informations, et tester prudemment leur valeur avant de les utiliser.

  • La fonction isset() permet de vérifier si une variable est définie ou non.

  • Le transtypage est une technique qui permet de convertir une variable dans le type de données souhaité. Cela permet de s’assurer par exemple qu’une variable est bien unint(nombre entier).

Transmettre les données avec les formulaires:

  • Les formulaires sont le moyen le plus pratique pour le visiteur de transmettre des informations à votre site. PHP est capable de récupérer les données saisies par vos visiteurs et de les traiter.

  • Les données envoyées via un formulaire se retrouvent dans un array $_POST.

  • De la même manière que pour les URL, il ne faut pas donner sa confiance absolue aux données que vous envoie l’utilisateur. Il pourrait très bien ne pas remplir tous les champs voire trafiquer le code HTML de la page pour supprimer ou ajouter des champs. Traitez les données avec vigilance.

  • Que ce soit pour des données issues de l’URL ($_GET) ou d’un formulaire ($_POST), il faut s’assurer qu’aucun texte qui vous est envoyé ne contient du HTML si celui-ci est destiné à être affiché sur une page. Sinon, vous ouvrez une faille appelée XSS qui peut être néfaste pour la sécurité de votre site.

  • Pour éviter la faille XSS, il suffit d’appliquer la fonction htmlspecialchars sur tous les textes envoyés par vos visiteurs que vous afficherez.

  • Les formulaires permettent d’envoyer des fichiers. On retrouve les informations sur les fichiers envoyés dans un array $_FILES. Leur traitement est cependant plus complexe.

Les variables superglobales:

  • Les variables superglobales sont des variables automatiquement créées par PHP. Elles se présentent sous la forme d’arrays contenant différents types d’informations.

  • Dans les chapitres précédents, nous avons découvert deux superglobales essentielles : $_GET (qui contient les données issues de l’URL) et $_POST (qui contient les données issues d’un formulaire).

Les sessions et cookies:

  • Les variables superglobales sont des variables automatiquement créées par PHP. Elles se présentent sous la forme d’arrays contenant différents types d’informations.

  • Dans les chapitres précédents, nous avons découvert deux superglobales essentielles :  $_GET  (qui contient les données issues de l’URL) et  $_POST  (qui contient les données issues d’un formulaire).

  • La superglobale  $_SESSION  permet de stocker des informations qui seront automatiquement transmises de page en page pendant toute la durée de visite d’un internaute sur votre site. Il faut au préalable activer les sessions en appelant la fonction  session_start().

  • La superglobale  $_COOKIE  représente le contenu de tous les cookies stockés par votre site sur l’ordinateur du visiteur. Les cookies sont de petits fichiers que l’on peut écrire sur la machine du visiteur pour retenir par exemple son nom. On crée un cookie avec la fonction  setcookie() .

 

  • Partie 4 – Stocker des informations dans une base de données

Examinons un bref aperçu des bases de données, et leur relation avec le langage PHP. Il existe un outil très puissant pour gérer les bases de données sans passer en ligne de commande:

phpmyadmin:

  • phpMyAdmin est un outil qui nous permet de visualiser rapidement l’état de notre base de données ainsi que de la modifier, sans avoir à écrire de requêtes SQL.

  • On crée généralement un champ nomméidqui sert à numéroter les entrées d’une table. Ce champ doit avoir un index PRIMARY (on dit qu’on crée une clé primaire) et l’option AUTO_INCREMENT qui permet de laisser MySQL gérer la numérotation.

  • MySQL gère différents types de données pour ses champs, à la manière de PHP. On trouve des types adaptés au stockage de nombres, de textes, de dates, etc.

  • phpMyAdmin possède un outil d’importation et d’exportation des tables qui nous permettra notamment d’envoyer notre base de données sur Internet lorsque nous mettrons notre site en ligne.

Comment écrire des données dans une base de données avec le langage PHP?

  • Pour dialoguer avec MySQL depuis PHP, on fait appel à l’extension PDO de PHP.

  • Avant de dialoguer avec MySQL, il faut s’y connecter. On a besoin de l’adresse IP de la machine où se trouve MySQL, du nom de la base de données ainsi que d’un login et d’un mot de passe.

  • Les requêtes SQL commençant par SELECT permettent de récupérer des informations dans une base de données.

  • Il faut faire une boucle en PHP pour récupérer ligne par ligne les données renvoyées par MySQL.

  • Le langage SQL propose de nombreux outils pour préciser nos requêtes, à l’aide notamment des mots-clés WHERE(filtre),ORDER BY(tri) et LIMIT(limitation du nombre de résultats).

  • Pour construire une requête en fonction de la valeur d’une variable, on passe par un système de requête préparée qui permet d’éviter les dangereuses failles d’injection SQL.

Maintenant, comment lire des données dans une base de données avec le langage PHP?

  • On utilise différents mots-clés en fonction du type de modification que l’on souhaite effectuer :

    • INSERT INTO : ajout d’une entrée ;

    • UPDATE : modification d’une ou plusieurs entrées ;

    • DELETE : suppression d’une ou plusieurs entrées.

  • Comme pour la sélection de données, on utilise les requêtes préparées pour personnaliser nos requêtes en fonction de variables.

  • Lorsqu’on utilise UPDATE ou DELETE, il faut penser à filtrer avec un WHERE, sinon toute la table sera affectée par l’opération !

Les fonctions SQL:

  • MySQL permet d’exécuter certaines fonctions lui-même, sans avoir à passer par PHP. Ces fonctions modifient les données renvoyées.

  • Il existe deux types de fonctions :

    • les fonctions scalaires : elles agissent sur chaque entrée récupérée. Elles permettent par exemple de convertir tout le contenu d’un champ en majuscules ou d’arrondir chacune des valeurs ;

    • les fonctions d’agrégat : elles effectuent des calculs sur plusieurs entrées pour retourner une et une seule valeur. Par exemple : calcul de la moyenne, somme des valeurs, comptage du nombre d’entrées…

  • On peut donner un autre nom aux champs modifiés par les fonctions en créant des alias à l’aide du mot-clé AS.

  • Lorsqu’on utilise une fonction d’agrégat, il est possible de regrouper des données avec GROUP BY.

  • Après un groupement de données, on peut filtrer le résultat avec HAVING. Il ne faut pas le confondre avec WHERE qui filtre avant le groupement des données.

Les dates en SQL:

  • MySQL propose plusieurs types de champs pour stocker des dates.

  • Les deux types les plus couramment utilisés sont :

    • DATE : stocke une date au format AAAA-MM-JJ ;

    • DATETIME : stocke une date et une heure au format AAAA-MM-JJ HH:MM:SS.

  • On peut trier et filtrer des champs contenant des dates comme s’il s’agissait de nombres.

  • Il existe de nombreuses fonctions SQL dédiées au traitement des dates. La plus connue est NOW()qui renvoie la date et l’heure actuelles.

Les jointures entre les tables:

  • Les bases de données permettent d’associer plusieurs tables entre elles.

  • Une table peut contenir les id d’une autre table ce qui permet de faire la liaison entre les deux. Par exemple, la table des jeux vidéo contient pour chaque jeu l’id de son propriétaire. Le nom et les coordonnées du propriétaire sont alors stockés dans une table à part.

  • Pour rassembler les informations au moment de la requête, on effectue des jointures.

  • On peut faire des jointures avec le mot-clé WHERE, mais il est recommandé d’utiliser JOIN qui offre plus de possibilités et qui est plus adapté.

  • On distingue les jointures internes, qui retournent des données uniquement s’il y a une correspondance entre les deux tables, et les jointures externes qui retournent toutes les données même s’il n’y a pas de correspondance.

A la fin de cette partie, je peux dire que vous avez les connaissances nécessaires pour vous débrouiller en PHP !

  • Partie 5 – Aller plus loin avec PHP

PHP a certaines fonctionnalités comme:

la création d’images:

  1. PHP permet de faire bien plus que générer des pages web HTML. En utilisant des extensions, comme la bibliothèque GD, on peut par exemple générer des images.

  2. Pour qu’une page PHP renvoie une image au lieu d’une page web, il faut modifier l’en-tête HTTP à l’aide de la fonctionheader()qui indiquera alors au navigateur du visiteur l’arrivée d’une image.

  3. Il est possible d’enregistrer l’image sur le disque dur si on le souhaite, ce qui évite d’avoir à la générer à chaque fois qu’on appelle la page PHP.

  4. On peut créer des images avec GD à partir d’une image vide ou d’une image déjà existante.

  5. GD propose des fonctions d’écriture de texte dans une image et de dessin de formes basiques.

  6. Des fonctions plus avancées de GD permettent de fusionner des images ou d’en redimensionner.

– les expressions régulières qui constituent un système très puissant et très rapide pour faire des recherches dans des chaînes de caractères (des phrases, par exemple)

 

  • Partie 6 – Annexes

Comment envoyer votre site sur le web (ben ouais, faudrait que le monde entier profite de votre chef d’oeuvre  🙂 ).

  • Vous avez besoin de deux éléments :

    • Un nom de domaine : c’est l’adresse de votre site web. Vous pouvez réserver une adresse en.com,.fr,.net… Par exemple :siteduzero.com.

    • Un hébergeur : c’est lui qui va stocker votre site web sur une machine appelée « serveur ». Son rôle sera d’envoyer votre site à vos visiteurs à toute heure du jour et de la nuit.

  • Pour transmettre les fichiers de votre site au serveur de votre hébergeur, il faut utiliser un client FTP comme FileZilla.

  • Pour vous connecter au serveur, vous avez besoin de trois informations : l’adresse IP du serveur (ou son nom d’hôte), votre login et votre mot de passe. Ceux-ci vous sont fournis par votre hébergeur.

Un autre point important pour le développeur est de savoir utiliser la documentation PHP. Cliquez ici pour y jeter un coup d’oeil.

Il est également possible de protéger un dossier avec un .htaccess.

Apres ces 6 parties vous aurez terminé ce cours de 30 heures sur PHP (si vous etes bon, vous pourrez le terminer en moins de 30 heures, pourquoi pas  😉 ). Exactement comme je l’ai fais !

fin-cours-php

 

Ce que cela peut vous apporter

Quel que soit le langage que vous aimez ou apprenez, savoir développer des applications web ou mobiles est tout simplement génial. Je ne le dis pas simplement pour le dire.

PHP est le langage de base de tout site web qui se veut dynamique (c’est-à-dire un site qui génère des pages personnalisées pour chaque utilisateur). Rien qu’à voir le tabac que fait Facebook, on comprend tout de suite l’importance de ce langage.

Imaginez tout ce que vous pourrez créer comme solutions web pour aider le monde à mieux vivre. Personnellement, après l’apprentissage de ce langage, mon champ des possibles à littéralement explosé. Je me suis senti capable de tout faire, de changer ce monde, comme si j’étais investi d’un pouvoir. C’est la même sensation que je ressens à chaque fois que j’apprends un nouveau langage de programmation comme PHP ou Java (j’en parlerai dans un prochain article).

Dans tous les cas, cette formation m’a beaucoup apporté et je suis très content de l’avoir apprise.

Essayez-la en cliquant sur ce lien: Concevez votre site web avec PHP et MySQL

 

 

Points forts :

  • Ce cours fait partie de mon top 5 en matiere de développement web, vu tous ce qu’on peut faire avec
  • Il m’a aidé à comprendre le fonctionnement de sites comme les blogs, les réseaux sociaux, les boutiques en ligne etc.
  • Tous les chapitres sont accompagnés d’un résumé, ce qui permet de retenir l’essentiel
  • Les vidéos sont tres utiles, car elles évitent de se taper tout le texte qui suit  🙂
  • Matthieu Nebra (Co-Fondateur Open Classrooms) explique super bien le cours dans l’ensemble !

Points faibles :

  • J’aurai aimé qu’il y ait une activité à la fin pour mieux se former

Voici ma note:

Avez-vous suivi ce cours ? Combien le notez-vous ?

[ratings id= »1″]

Si vous avez aimé cet article et que vous pensez qu’il pourrait aider un ami à débuter son apprentissage web avec PHP, likez et partagez-le et laissez un commentaire juste en dessous.

 

Deviens toi aussi développeur web !
I agree to have my personal information transfered to MailChimp ( more information )
Commences ta carrière de développeur web, GRATUITEMENT, ici et maintenant !
Je hais les sapms. Votre adresse email ne sera jamais vendu ou partagé avec un tiers

Also published on Medium.

Partages à tous tes amis !

4 thoughts on “Comment développer des sites web « vivants » (1/22)

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.