0Pricing
Scala for Backend Engineering & Functional Programming · Leçon

Principes fondamentaux de Play Framework

Faites vos premiers pas avec Play, comprenez son architecture et configurez votre première application web.

Principes fondamentaux de Play Framework est une leçon Scala for Backend Engineering & Functional Programming gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Scala for Backend Engineering & Functional Programming, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Scala for Backend Engineering & Functional Programming comprend 3 leçons au total.

Introduction au Play Framework

Bienvenue dans le Play Framework ! Play est un puissant framework web open source pour Scala et Java.

Il est conçu pour créer des applications web et des API modernes hautement évolutives, en mettant l’accent sur la productivité des développeurs et les performances.

Cœur réactif et asynchrone

Play repose sur une architecture réactive qui s’appuie sur Akka. Cela signifie qu’il traite les requêtes de manière asynchrone et qu’il est non bloquant par défaut.

  • Réactif : traite efficacement de nombreuses requêtes simultanées.
  • Asynchrone : les opérations ne bloquent pas le thread du serveur.
  • Sans état : conçu pour la mise à l’échelle horizontale, il convient parfaitement aux microservices.

Créer un projet Play

Pour commencer un nouveau projet Play, vous utiliserez SBT (outil de compilation Scala) avec un modèle initial Play. Assurez-vous que SBT est installé.

Exécutez cette commande dans votre terminal :

sbt new playframework/play-scala-seed.g8

Cette commande crée un nouveau répertoire de projet contenant une structure de base pour une application Scala Play.

Organisation d’un projet Play

Un projet Play possède une structure de répertoires bien définie :

  • app/ : contient votre code source Scala (contrôleurs, modèles et vues).
  • conf/ : contient les fichiers de configuration, comme routes (mappage des URL) et application.conf.
  • public/ : contient les ressources statiques (JavaScript, CSS et images).
  • project/ : contient les fichiers de définition de compilation SBT (par exemple, build.sbt).
  • test/ : contient les tests de votre application.

Mapper les URL avec `routes`

Le fichier conf/routes est essentiel. Il définit comment les requêtes HTTP (méthode + chemin) sont associées aux actions spécifiques des contrôleurs de votre application.

Chaque ligne indique une méthode HTTP, un chemin URL et la méthode du contrôleur à appeler.

# conf/routes
GET     /               controllers.HomeController.index()
GET     /hello/:name    controllers.HelloController.sayHello(name: String)

Créer des contrôleurs Play

Les contrôleurs sont des objets (ou des classes) Scala qui traitent les requêtes HTTP entrantes. Ils contiennent des fonctions d’action qui traitent les requêtes et renvoient des résultats.

Vos contrôleurs étendent généralement BaseController et reçoivent ControllerComponents par injection.

package controllers

import play.api.mvc._
import javax.inject._

@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
  // Action functions go here
}

Définir la logique des actions

Une fonction d’action constitue la logique principale d’un contrôleur. Elle reçoit implicitement une Request et renvoie un Result (par exemple, Ok, NotFound ou Redirect).

Le bloc Action { ... } encapsule votre code et en fait une action Play valide.

// Inside HomeController
def sayHello(name: String) = Action { implicit request =>
  Ok(s"Hello, $name! Welcome to Play.")
}

HTML dynamique avec Twirl

Play utilise des modèles Twirl (fichiers .scala.html) pour générer des réponses HTML dynamiques. Ils vous permettent d’intégrer directement du code Scala dans votre HTML.

Les modèles sont vérifiés par le système de types et compilés, ce qui permet de détecter rapidement les erreurs.

@* app/views/welcome.scala.html *@
@(userName: String)

<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
    <h1>Welcome, @userName!</h1>
    <p>This page was generated by a Play template.</p>
</body>
</html>

Démarrer votre application Play

Une fois votre projet configuré et quelques routes et contrôleurs définis, vous pouvez exécuter votre application avec SBT.

Accédez au répertoire racine de votre projet dans le terminal et exécutez :

sbt run

L’application démarrera généralement à l’adresse http://localhost:9000.

Quiz sur les composants Play

Vérifions votre compréhension des principes fondamentaux du Play Framework.

Récapitulatif : principes fondamentaux de Play

Vous avez fait vos premiers pas avec le Play Framework ! Nous avons vu :

  • ce qu’est Play et sa nature réactive ;
  • comment configurer un nouveau projet avec SBT ;
  • les principaux répertoires d’un projet ;
  • le rôle de conf/routes pour le mappage des URL ;
  • comment créer des contrôleurs et des fonctions d’action ;
  • l’utilisation de modèles Twirl pour créer des vues dynamiques ;
  • comment exécuter votre application Play.

Vous apprendrez ensuite à créer des API RESTful avec Play !

Questions Fréquemment Posées

La leçon « Principes fondamentaux de Play Framework » est-elle gratuite ?

Oui — le texte complet de « Principes fondamentaux de Play Framework » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Scala for Backend Engineering & Functional Programming, passe à CoddyKit PRO. Le cours Scala for Backend Engineering & Functional Programming comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Principes fondamentaux de Play Framework » ?

Faites vos premiers pas avec Play, comprenez son architecture et configurez votre première application web. Tu pratiques Scala for Backend Engineering & Functional Programming avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Scala for Backend Engineering & Functional Programming ?

Aucune expérience préalable n'est requise. Scala for Backend Engineering & Functional Programming sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.

Combien de temps prend la leçon « Principes fondamentaux de Play Framework » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Scala for Backend Engineering & Functional Programming ?

Oui. Chaque leçon Scala for Backend Engineering & Functional Programming inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Principes fondamentaux de Play Framework
  2. Construire des API RESTful avec Play
  3. Intégration de bases de données avec Slick/Doobie
← Retour à Scala for Backend Engineering & Functional Programming