《Slides Dev Web》02. Introduction aux frameworks PHP
similaires pour de nombreuses applis • Composants de haut-niveau réutilisables (faible couplage) • Règles de codage et d’architecture • Code sûr et efficace • Facilite les tests et la gestion de projets complexes complexes • Utilisation de Design Patterns dès que possible • Comportement par défaut • Extensible • Principe d’inversion de contrôle Différences entre framework et library sur Stack Overflow2 ou artima 1 Design Patterns et webdev • Inversion de contrôle (IoC4) • Model View Controller – M : Accès aux données, logique métier – V : Templates des pages à générer – C : Orchestration, transfert des infos0 码力 | 24 页 | 1.03 MB | 1 年前3《Slides Dev Web》 01. Cours devweb
frameworks : Laravel, Django, Vue.js (ouvert à d’autres propositions) – Groupes de 3, 30h1 par personne et par projet – Présentation de 20min • Workshops intervenants externes 1https://rs.he-arc.ch/index.php ghpages5 (source6), partage fichiers : teams7 Projets • Faire pour apprendre • Les rôles dans une équipe de développement web, workflow • Ne pas réinventer la roue ou tout faire soi-même • Critères d’évaluation Avoir un compte github avec une clé SSH8 (indispensable au déploiement) – Constitution des équipes de 3 personnes – Choix du projet – Forge : Créer projet sur github dans l’entité HE-Arc9 – S’inscrire100 码力 | 7 页 | 129.56 KB | 1 年前3《Slides Dev Web》 05. JavaScript & DOM
(1995, Brendan Eich) – Petites applications exécutées par le navigateur – DHTML : rollovers, validation de formulaires, … JavaScript aujourd’hui • Page web = HTML + CSS + JavaScript • Compilation JIT • HTML5 hors-browser – Node.js, Spidermonkey, Rhino – script d’app (Qt, Notepad++, …) 1 • Langage cible de compilateurs : emscripten1, WebAssembly2 • Embarqué : Espruino3, robotique : Node Bots4, CylonJS5 parfois offline • Langage de script généraliste (paquets npm) Caractéristiques du langage • Orienté Objet par prototype • Syntaxe proche de C, Java • Faiblement typé : – Pas de déclaration, type déterminé0 码力 | 10 页 | 91.95 KB | 1 年前3《Slides Dev Web》 09. Services Web
Les composants/services communiquent par le réseau – Problèmes : Hétérogénéité systèmes, langages, … – Solution : Protocole générique, abstraction différences – Exemples : RPC, RMI (java), CORBA, DCOM technologies du web, comme HTTP et XML : – indépendantes de la plateforme, éprouvées, largement utilisées • Système distribué importance de l’architecture : – orientée ressource1 : atome : ressource • Evolution de XML-RPC, format XML d’envoi de messages • Architecture Orientée Service (SOA) • Indépendant du langage et de la plateforme • Recommandation du w3c depuis 2003 • SOAP = abus de langage, service0 码力 | 6 页 | 47.90 KB | 1 年前3《Slides Dev Web》 08 . RSS
Syndication • Principe de vendre un contenu à plusieurs médias • Dans les journaux : dépêches, bandes dessinées, … • Télévision : jeux, séries • Web : Flux RSS / Atom – 1 source de donnée, plusieurs abonnés sources d’informations – Mises à jour fréquentes Historique • Feed (fil ou flux) RSS • Format d’échange de données en XML – fournir ou recueillir des données structurées • Utilisation d’un lecteur (agrégateur) Winer (Harvard) en 2002 • Atom v1.0 en 2005 (développement communautaire) 1 Il y a neuf versions de RSS généralement incompatibles entre elles. Lire The myth of RSS compatibility1 Applications • Récupérer0 码力 | 7 页 | 52.98 KB | 1 年前3《Slides Dev Web》 12. Risques applicatifs
CWE5 – Grande communauté d’experts – Formation, documentation et ressources – Outils d’audit, de tests et de formation Top 106 OWASP 2021 (fr7 - historique8) 1. Contrôle d’accès défaillants 2. Défaillances configuration de sécurité 6. Composants vulnérables et obsolètes 7. Identification & Authentification de mauvaise qualité 8. Manque d’intégrité des données et du logiciel 9. Carences des systèmes de contrôle contrôle et de journalisation 10. Falsification de requêtes côté serveur • Non exhaustif : ex. : risques liés à Node JS9 Injection de code • Données mal validées : possibilité d’exécuter du code • Passées0 码力 | 12 页 | 474.37 KB | 1 年前3《Slides Dev Web》 10. Rwd
Responsive Web Design Conception de sites web adaptatifs HE-Arc (DGR) 2022 Site adaptatif ? • Surfer depuis : PC, mobiles, tablettes, tv, … • UX : navigation avec un minimum de zoom, pan, scroll • S’adapter tactile, hover, …) – … • 1 seul site à gérer : m.cool.com ni de cool.com/mobile • Le même contenu pour tous • Souvent basé sur la largeur de l’écran • CSS3 • Responsive Web Design (1), Exemple1 1https://alistapart io/code-samples/responsive-web-design/ex/ex-site-FINAL.html 1 Techniques • Media queries : Taille de l’écran (ou sortie) • UNITES RELATIVES • Fonts : Dimensions en em • Fluid Grids : Disposition et taille0 码力 | 7 页 | 76.36 KB | 1 年前3《Slides Dev Web》 11. HTTPS
Couche Application : – Entre les couches transport et application – Pas besoin de modifier la pile TCP/IP • Possibilité de sécuriser d’autres protocoles : – HTTP, SMTP, SIP, … • Services offerts : – Délivré par une autorité de certification • Certificats clients Autorité de Certification • Tiers de confiance – enregistrée et certifiée par des autorités publiques ou de gouvernance de l’Internet • Rôle période de validité – Maintenir la liste des certificats valides/révoqués 2 • Certificats auto-signés : – usage interne – pas de tiers de confiance Contenu d’un certificat X509 • version de X.509 (v30 码力 | 6 页 | 109.17 KB | 1 年前3Learning Laravel
collect([ 'de_DE' => 49, 'en_GB' => 44, 'en_US' => 1, ])->get($locale, 44); } In the above example we can do the following lookupCallingCode('de_DE'); // Will return 49 the callback will be returned if the specified key does not exist: return collect([ 'de_DE' => 49, 'en_GB' => 44, 'en_US' => 1, ])->get($locale, function() { (\Route::getCurrentRoute()) ? \Route::getCurrentRoute()->getActionName() : "n/a"; $path = (\Route::getCurrentRoute()) ? \Route::getCurrentRoute()->getPath() : "n/a"; $user = (\Auth::check()) ? \Auth::user()->name : 'no0 码力 | 216 页 | 1.58 MB | 1 年前3Laravel 5.1 中文文档
Laravel 学院(LaravelAcademy.org)提供 3 Route::put('post/{id}', ['middleware' => 'role:editor', functio n ($id) { // }]); 更多关于中间件的内容,请查看中间件一节。 测试革新 Laravel 中内置的测试功能获得了引入注目的提升,多个新方法提供了平滑的,富有变现力 的接口和应用进行交互并测试响应: 中间件参数可以在定义路由时通过:分隔中间件名和参数名来指定,多个中间件参数可以通 过逗号分隔: Route::put('post/{id}', ['middleware' => 'role:editor', functio n ($id) { // }]); 5、终结者中间件 有时候中间件可能需要在 HTTP 响应发送到浏览器之后做一些工作。比如,Laravel 内置的 “session”中间件会在响应发送到浏览器之后将 2.2 命名控制器路由 和闭包路由一样,可以指定控制器路由的名字: Route::get('foo', ['uses' => 'FooController@method', 'as' => 'n ame']); 一旦你为控制器路由分配了名字,那么你就可以使用帮助函数 action 很方便的生成 URLs 到 action: $url = action('FooController@method');0 码力 | 307 页 | 3.46 MB | 1 年前3
共 20 条
- 1
- 2