• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Play : Premiers pas par l'exemple le 120613
 

Play : Premiers pas par l'exemple le 120613

on

  • 1,121 views

Play! est un framework orienté web. Conçu pour faciliter le travail du développeur, il lui permet de s'abstraire de tous les problèmes liés à l'intégration pour se concentrer sur l'essentiel : ...

Play! est un framework orienté web. Conçu pour faciliter le travail du développeur, il lui permet de s'abstraire de tous les problèmes liés à l'intégration pour se concentrer sur l'essentiel : le code métier.
Lors de cette présentation Rosine Tchokonte et Stanislas Zarka vous feront découvrir, au travers d’un cas concret ce framework, qui fait parler de lui.

Statistics

Views

Total Views
1,121
Views on SlideShare
1,114
Embed Views
7

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 7

http://www.soat.fr 5
https://duckduckgo.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Play : Premiers pas par l'exemple le 120613 Play : Premiers pas par l'exemple le 120613 Presentation Transcript

    • PLAY ! Premiers pas  par l'exemple Rosine Tchokonté Stanislas Zarka
    • 2 Plan  Fondamentaux  Développement  Fonctionnalités avancées
    • 3 Fondamentaux
    • 4 Fondamentaux Etat de l'art Qu'est-ce que Play ? Pourquoi utiliser Play ?
    • 5 Etat de l'art
    • 6 Qu'est-ce que Play ? 2007 : Création par Guillaume Bort But : création facilitée des applications web Langage : Java ou Scala
    • 7 Qu'est-ce que Play ? 2007 : Création par Guillaume Bort But : création facilitée des applications web Langage : Java ou Scala
    • 8 Pourquoi utiliser Play ? Architecture MVC Stateless Moins de configuration Prêt à l'emploi (Ready-to-use) Remplacement à chaud du code Erreurs dans le browser
    • 9 Développement
    • 10 Découpage en couches Play! et la persistance Play! et les TUs Développement
    • 11 Découpage en couches (1/4)
    • 12 app/models structure de données mode de persistance Modèle
    • 13 Découpage en couches (2/4)
    • 14 app/views rendu (visuel) de l'application et des données du modèle mécanisme de templating Vue
    • 15 Découpage en couches (3/4)
    • 16 app/controllers Toute méthode est une action Point d'entrée de l'application invoqué lors de chaque requête HTTP entrante mise à jour du modèle Retourne une réponse HTTP Contrôleur
    • 17 Découpage en couches (4/4)
    • 18 conf/routes Invoque le contrôleur et exécute l'action correspondant à la requête HTTP entrante Peut rediriger vers une page d'erreur en cas de requête invalide Routeur
    • 19 JPA (Java Persistence API) conf/application.conf: configuration de la BD @javax.persistence.Entity : annotation permettant d'indiquer une classe persistante play.db.jpa.Model: permet que la classe puisse embarquer plusieurs méthodes Persistance des données
    • 20 play.Logger ils se trouvent dans project/plugins.sbt différents niveaux de logging : - info - debug - warn - error - trace Logging
    • 21 /test play.test.UnitTest : tests unitaires play test ou sbt test : pour lancer les tests play.test.FunctionalTest : tests fonctionnels Selenium: pour des tests automatisés Tests unitaires
    • 22 Fonctionnalités avancées
    • 23 Simple Build Tool (SBT) Validation de formulaires Authentification Gestion du cache Template Engine Modules disponibles Fonctionnalités avancées
    • 24 SBT : outil de build et de gestion des dépendances project/Build.scala Utilisation du repository Ivy Simple build tool
    • 25 Utilisation du champ validation du contrôleur public static void hello(String name) { validation.required(name); } Validation de formulaires Annotation sur les paramètres des méthodes public static void hello(@Required String name, @Required @Min(0) Integer age) {....} Annotation @Valid dans les POJO $PLAY_HOME/resources/messages => paramétrer les messages d'erreur
    • 26 Deadbolt 2 est un plugin d'authentification qui comprend un mécanisme de définition par annotations des droits d'accès à certaines méthodes de contrôleurs ou certaines parties de vues Exemples : http://deadbolt-2-java.herokuapp.com/ Authentification
    • 27 play.Cache Exemple de sauvegarde pour 30 min : Object o = new Message(); Cache.set("message1", o, "30mn"); @Cached("homePage") public static Result index() { return ok("Hello world"); } Gestion du cache
    • 28 Template engine (1/2) $ : <h1>Message ${message.content}</h1> @ : <a href="@{Authors.index()}">Back</a> # : #{script 'jquery.js' /} & : Dans conf/messages : authorName=The author name is %s Dans une vue : <h1>&{'authorName', author.name}</h1>
    • 29 Template engine (2/2) *{*** ***}* : *{**** Display the user name ****}* %{}% : <h1>Client ${author.name}</h1> <ul> %{ for(message in author.messages) { }% <li>${message}</li> %{ } }% </ul>
    • 30 Il en existe aussi bien en Scala qu'en Java Cf. : www.playframework.com/.../Modules Modules disponibles
    • 31 Play dans le Web
    • 32 Quelles limites pour Play ? Quel avenir ? Conclusion
    • 33 http://www.playframework.com/documentation/2.1.1/Home http://www.scala-sbt.org https://github.com/schaloner/deadbolt-2 http://www.playframework.com/documentation/2.0/ScalaTe mplates http://thecodersbreakfast.net/Play-Framework https://github.com/Stanislas-Zarka/PlayChat Références et documentation
    • 34 28/06/2013 TEST_Cliquez et modifiez le pied de page 34