Objectif général : Prendre en main l’un des frameworks PHP les plus utilisés
Objectifs spécifiques
Faire correspondre une URL donnée à un traitement précis grâce au routage
Regrouper des traitements connexes grâce aux contrôleurs
Récupérer les données d’une requête http grâce à Request
Retourner des contenus aux formats texte, HTML, JSON, etc. grâce à Response
Intégrer des données dans des templates grâce à Blade
Interagir avec l’utilisateur grâce aux formulaires
Créer, mettre à jour et suivre les évolutions d’un schéma de base de données grâce aux migrations
Faciliter la communication avec une base de données grâce à Eloquent
Objectif général : Prendre en main l’un des frameworks PHP les plus utilisés
Objectifs spécifiques
Faire correspondre une URL donnée à un traitement précis grâce au routage
Regrouper des traitements connexes grâce aux contrôleurs
Récupérer les données d’une requête http grâce à Request
Retourner des contenus aux formats texte, HTML, JSON, etc. grâce à Response
Intégrer des données dans des templates grâce à Blade
Interagir avec l’utilisateur grâce aux formulaires
Créer, mettre à jour et suivre les évolutions d’un schéma de base de données grâce aux migrations
Faciliter la communication avec une base de données grâce à Eloquent
Dans cet article, vous allez voir comment créer facilement une barre de progression en temps réel grâce aux nouvelles variables de session ajoutées à PHP 5.4
- https://github.com/pH-7/PHP5.4-Session-Upload-Progress-Bar
- http://ph7.me
- https://www.php.net/manual/fr/session.upload-progress.php
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
Introduction au langage de programmation PHP.
Présentation réalisée la première fois le lundi 10 mars 2014 à l'IIM : Institut de l'Internet et du Multimédia pour les années préparatoires.
Cette présentation a pour but d'approfondir les compétences PHP des élèves : utiliser des bases de données, comprendre PDO et le modèle MVC (basique).
Après présentation orale de ces slides, des exercices de mise en pratique ont été réalisés en Atelier avec les élèves.
L'exercice principal était de construire une plateforme similaire à twitter selon un modèle MVC.
Voici le plan de la présentation :
• Les bases de données : MySQL
- Principe
- phpMyAdmin
- Interagir avec une BDD
• Les fonctions
- La machine à carottes
- Exemple avec MySQL
- Les fonctions PHP
• Modèle Vue Contrôleur - MVC
- Principe
- Mise en pratique
• Quelques trucs à savoir a.$_FILES et $_POST
- $_SESSION
- L’indentation
- PHP + HTML = ?
Qu'est ce que PHP ? Dans ce diaporama, vous allez découvrir les principes de base de PHP dans une courte introduction et apprendre à créer vous aussi des sites web dynamiques.
Pour plus de tuto: https://www.funinformatique.com/comment-pirater-un-compte-facebook/
PHP : (Hypertext Preprocessor") est un langage de scripts:
Coté serveur,
Open Source,
et spécialement conçu pour le développement d'applications web.
Il peut être intégré facilement au HTML.
Dans cet article, vous allez voir comment créer facilement une barre de progression en temps réel grâce aux nouvelles variables de session ajoutées à PHP 5.4
- https://github.com/pH-7/PHP5.4-Session-Upload-Progress-Bar
- http://ph7.me
- https://www.php.net/manual/fr/session.upload-progress.php
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
Introduction au langage de programmation PHP.
Présentation réalisée la première fois le lundi 10 mars 2014 à l'IIM : Institut de l'Internet et du Multimédia pour les années préparatoires.
Cette présentation a pour but d'approfondir les compétences PHP des élèves : utiliser des bases de données, comprendre PDO et le modèle MVC (basique).
Après présentation orale de ces slides, des exercices de mise en pratique ont été réalisés en Atelier avec les élèves.
L'exercice principal était de construire une plateforme similaire à twitter selon un modèle MVC.
Voici le plan de la présentation :
• Les bases de données : MySQL
- Principe
- phpMyAdmin
- Interagir avec une BDD
• Les fonctions
- La machine à carottes
- Exemple avec MySQL
- Les fonctions PHP
• Modèle Vue Contrôleur - MVC
- Principe
- Mise en pratique
• Quelques trucs à savoir a.$_FILES et $_POST
- $_SESSION
- L’indentation
- PHP + HTML = ?
Qu'est ce que PHP ? Dans ce diaporama, vous allez découvrir les principes de base de PHP dans une courte introduction et apprendre à créer vous aussi des sites web dynamiques.
Pour plus de tuto: https://www.funinformatique.com/comment-pirater-un-compte-facebook/
PHP : (Hypertext Preprocessor") est un langage de scripts:
Coté serveur,
Open Source,
et spécialement conçu pour le développement d'applications web.
Il peut être intégré facilement au HTML.
Il existe plusieurs types de tests logiciels, tels que:
Tests unitaires: vérifient le fonctionnement individuel des parties les plus petites d'une application (par exemple, des méthodes ou des fonctions).
Tests d'intégration: vérifient comment les différentes parties d'une application interagissent les unes avec les autres.
Tests de validation: vérifient si l'application répond aux exigences spécifiées.
Tests de performance: mesurent la rapidité, la stabilité et la scalabilité d'une application.
Tests de sécurité: vérifient la sécurité de l'application en testant les vulnérabilités potentielles.
Tests de compatibilité: vérifient si l'application fonctionne correctement sur différents systèmes d'exploitation, navigateurs, périphériques, etc.
Tests d'acceptation: vérifient si l'application répond aux attentes des utilisateurs finaux et est prête à être livrée.
3. 2
Méthode d’envoi d’un formulaire
• Méthode GET (transmission par URL) :
Une des façons les plus simples pour faire transiter des données de page en
page est l’insertion de ces données dans l’URL
4. Méthode d’envoi d’un formulaire
▪ Méthode POST: elle cache les informations transmises . De plus,
elle permet d'envoyer des données importantes en taille et assure la
gestion de l'envoi de fichiers.
5. Les tableaux superglobaux $_POST et $_GET
▪ $_GET et $_POST sont des tableaux de données associatifs et
superglobaux. Voici leurs principales caractéristiques :
▪ Ils sont générés à la volée par PHP avant même que la première ligne
du script ne soit exécuté.
▪ Ce sont des tableaux associatifs : Les clés correspondent aux noms des
variables transmises et les valeurs à celles associées à ces variables.
▪ Ils sont superglobaux, c'est à dire visibles de partout dans le
programme (même à l'intérieur d'une fonction utilisateur).
▪ Ils sont accessibles en lecture et en écriture. Il est donc possible de les
modifier.
6. Quelle méthode utiliser ?
• Le plus souvent, vous pouvez choisir indifféremment l’une ou l’autre
méthode d’envoi. Toutefois, la méthode POST s’impose dans les cas
suivants :
• envoi d’un fichier ;
• envoi de données importantes en taille ;
• envoi de données confidentielles (un mot de passe par exemple) ;
• La méthode GET est recommandée pour tous les autres cas.
7. CRÉER UN FORMULAIRE
2 fichiers
distincts:
• un pour contenir les
éléments du formulaire:
Bouton radio, Zone texte, …
• Un pour récupérer les
données saisies et les traiter
Un même fichier
• Contenant les 2: Les
éléments du formulaires
(bouton radio, …) et le script
qui les traitera
8. Premier cas (deux fichiers distincts)
Création du
Formulaire
en Html
Création du
script par
PHP
• Zone texte, Bouton radio
• Liste déroulante Cases à cocher
•Action="myscript.php"
• Fichier:"myscript.php"
• Récupération des données
saisies
•Traitement (programme)
Question: Le fichier
formulaire peut-
il avoir l’extension .php?
Réponse: OUI, s’il
contient un (ou des)
script(s)
php en plus du formlaire.
Sinon, .html
9. Deuxième cas: un seul fichier
Fichier: qcm.php
<form Name=’’ myform’’
Method=’’post’ Action=’’qcm.php’’ ….>
…………..Eléments du formulaires
</form>
<?php
Instructions de traitements des données saisies
….
?>
L’action du
formulaire est Le fichier
qui contient le formulaire
lui même
Les instructions
à exécuter sont écrites
dans ce même fichier!
10. Deuxième cas: un seul fichier (suite)
Lors de l’affichage pour la
Fichier: qcm.php
<form Name=’’ myform’’
Method=’’post’ Action=’’qcm.php’’ ….>
…………..Eléments du formulaires
</form>
<?php
Si les données ont été saisies
Alors
{Instructions de traitements des données
saisies}
?>
première fois du formulaire, le bloc
d’instruction php ne devra pas
s’exécuter, puisque les données
n’ont pas encore été saisies ! ! !
Il faut vérifier l’existance des
données AVANT !
Usage de
Isset($mavariable)
qui :
* retourne true si la variable
contient une valeur;
* retourne FALSE si elle n’est
pas encore définie
11. Récupération des données saisie dans un formulaire
▪ Elle diffère selon le type de la réponse (unique, multiple)
réponse (ou choix) unique réponses (ou choix)
multiples
Zone de saisie, Cases à cocher
bouton radio Liste de sélection à choix Multiple
zone de texte multiligne,
Liste de sélection à choix unique
Réponse unique :
L’élément choisi est récupéré du tableau $_POST par son nom
Il est récupéré dans une variable
$x=$_POST["nom_du_champs"]
Ou
$x= $_GET ["nom du_champs"]
12. Le traitement d’une liste déroulante
<body>
<form action="traitement.php" method="post">
<p>
<select name="couleur">
<option value="rouge">Couleur rouge</option>
<option value="vert"
selected="selected">Couleur verte</option>
<option value="bleu">Couleur bleue</option>
</select></p>
<p><input type="submit" value="Envoyer" /></p>
</form>
<?php
if(isset($_POST['couleur']))
{
echo "la couleur sélectionnée
est".$_POST['couleur'];
}
?>
</body>
13. Récupération : Elément à réponse multiples
▪ Cases à cocher:
▪ Seuls les éléments cochés seront envoyés
▪ L’élément est récupéré par son nom dans une variable
$x=$_POST["macaseacocher"]
▪ Liste de sélection à choix multiple (défilante) :
▪ Le nom de l’élément dans le formulaire doit être suivi des []
▪ Les réponses choisies sont envoyées sous forme d’un tableau
▪ Les réponses sont donc récupérés dans un tableau :
$tablo = $_POST ["malisteselect"]
17. Exercice 1 : un QCM simple
▪ Réaliser le qcm ci-dessous
Rappel sur les boutons radio:
1. Les boutons doivent avoir le même nom (name)
2. Les valeurs doivent être différentes (value)
EX: Si l’internaute clique sur le troisième: le couple (q,r3) est stocké dans
le tableau $_POST puis envoyé au script défini
8comme action du formulaire $_POST['q']=r3
24. ▪ Le code ci-dessus a le gros défaut de "faire confiance" à l'utilisateur en ne
vérifiant pas les informations reçues. En effet, un utilisateur mal intentionné
peut par exemple à la place de son nom mettre du code HTML ou Javascript
ce qui représente une faille de sécurité très importante.
▪ Taper par exemple : <script> alert('Site Hacké !!!'); </script> à la place de
votre nom et valider le formulaire.
▪ Il faut donc systématiquement supprimer ou "échapper" les éventuelles
balises que l'utilisateur aurait pu envoyer.
▪ Pour cela le langage php met à notre disposition 2 fonctions :
•htmlspecialchars() : Convertit les caractères spéciaux en entités HTML
(par exemple "<" (inférieur à) devient "<")
•strip_tags() : Supprime les balises HTML et PHP d'une chaîne
Sécurité