《Slides Dev Web》02. Introduction aux frameworks PHP
d’architecture : Laravel Figure 3: Archi Ce schéma est clair mais pas tout à fait juste : dans Laravel, le contrôleur récupère la page générée à partir de la vue, et c’est lui qui renvoie le HTML (objet Response) Response) au client. Performance • Un framework web est lent : – Rendu d’une page nécéssite de traverser tout le code – Pour chaque requête toute l’appli est chargée – Plus de code qu’une appli standalone – Pourquoi y en a-t-il tant? L’explication donnée par Joe Gregorio pour le langage Python9 est : « parce que c’est facile. » Dans les faits, cela montre également une maturité de la plateforme. There are0 码力 | 24 页 | 1.03 MB | 1 年前3
《Slides Dev Web》 12. Risques applicatifs
des développeurs : – OS, serveurs, langages : patches rapidement disponibles – nos applications : c’est nous qui en sommes responsables OWASP1 • Open Web Application Security Project 1https://owasp.org/ Obtention d’un résultat non prévu par le développeur • Deviner la structure du code pour l’exploiter • SQL est puissant : UNION, INTO DUMPFILE, … Exemples10 SELECT titre, num FROM livres WHERE num=2 UNION SELECT L 3 • Exécution par le navigateur du client Cross Site Scripting (XSS) • Enjeux : tout ce qui est possible en JS – Redirection – Lecture de cookies (session, …) – Envoi d’info à un autre serveur –0 码力 | 12 页 | 474.37 KB | 1 年前3
《Slides Dev Web》 06. HTTP & AJAX
1999 pour OWA) – Fetch API • Pas obligatoire d’avoir du JS, XML ni d’être asynchrone ! AJAX • XHR est devenue la méthode standard jusqu’à 2018 – Popularisée par Google (GMaps, GMail, …) – Le w3c fait Envoi de requête HTTP 2. La réponse provoque l’éxecution de la fonction de rappel 3. Le DOM de la page est mis à jour • Applications – GUI ressemblant à des app natives – MAJ dynamiques de formulaires, autocompletion Détails16 Réponse en texte • Si la requête aboutit : – readystate == 4 – status == 200 • La réponse est dans l’attribut responseText • ou dans responseXML – Utilisation du DOM (getElementsByTagName(),0 码力 | 11 页 | 91.09 KB | 1 年前3
《Slides Dev Web》 05. JavaScript & DOM
JavaScript • Différentes implémentations13 : navigateur, srv, apps, … • Permissif : du mauvais code est peu maintenable – Design Patterns14 – Bonnes pratiques15 • Interface pour scripter le navigateur Sans retour, valeur spéciale : undefined • Pas de surcharge (la dernière définie prime) • function est un type • Fonctions imbriquées, anonymes • Fonctions globales : 16http://www.howtogeek.com/125846 (attribut src) language="JavaScript" est déprécié et type vaut par défaut text/javascript. The type attribute gives the language of the script0 码力 | 10 页 | 91.95 KB | 1 年前3
《Slides Dev Web》 01. Cours devweb
Laravel + app déployée) 7. 8. Minimal Viable Product 9. 10. 11. 12. Rendu projet, Présentation • Il n’est pas interdit d’en ajouter Conseils • Le plus simple possible, pas trop de données • Application crédible identité • Signalez dans le commit msg si vous n’êtes pas l’auteur • Le déploiement est long : commencez tôt ! • Il est moins risqué travailler plus au début du projet qu’à la fin ! • Discutez ! Echangez0 码力 | 7 页 | 129.56 KB | 1 年前3
《Slides Dev Web》 07. jQuery
scripts • Syntaxe basique $(selecteur).action(); // $() est un raccourci pour jQuery() • Utilisation de sélecteurs CSS, id ou classes $(document); // retourne de classe "post" var node = $('New
'); // un nouveau noeud • Pour être sûr que le document est chargé : $(document).ready(function(){ console.log("prêt!") }); ou $(function() { console.log("prêt0 码力 | 5 页 | 49.45 KB | 1 年前3
《Slides Dev Web》 11. HTTPS
HE-Arc (DGR) 2022 Sécuriser un site web • Authentification du serveur – Assurer que le serveur est celui qu’il prétend être • Intégrité des données – Assurer que les données reçues sont celles qui ne puissent voir les données • Authentification du client (optionnelle) – Assurer que le client est celui qu’il prétend être • Pour un site web, ces services sont fournis par https – HTTPS : HTTP sécurisé0 码力 | 6 页 | 109.17 KB | 1 年前3
《Slides Dev Web》 03. Laravel
als 22https://getcomposer.org/ 4 $composer global require "laravel/installer" • Le déploiement est simplifié si l’env de dev ressemble à celui de production Environnement de développement • Local un nouveau projet $ composer create-project laravel/laravel raidit # ou si ~/.composer/vendor/bin est dans le PATH : $ laravel new raidit $ cd raidit • Racine du site dans /public (lien symbolique ou0 码力 | 8 页 | 224.34 KB | 1 年前3
《Slides Dev Web》 09. Services Web
et de la plateforme • Recommandation du w3c depuis 2003 • SOAP = abus de langage, service web WS-* est plus exact • Spécifications WS-*8 : – spécifications liées aux différents aspects des services web Aide au design d’une API REST – Tests : Postman, Hoppscotch33, Ping-API34, autres35 • GraphQL36 – est destiné à devenir la prochaine évolution des apis REST utilisant JSON. Initié par Facebook, Github0 码力 | 6 页 | 47.90 KB | 1 年前3
《Slides Dev Web》 10. Rwdchargement Meta Tag viewport7 • Introduit pour iPhone8, puis standard de fait – Par défaut, l’affichage est réduit (980px affichés sur écran 320px) – Meta tag viewport permet de changer ce ratio • viewport0 码力 | 7 页 | 76.36 KB | 1 年前3
共 19 条
- 1
- 2













