AngularJS - Application de connexion

Salut à toi, jeune développeur web passionné ! Aujourd'hui, nous allons entreprendre un voyage passionnant pour créer une application de connexion utilisant AngularJS. En tant que ton professeur de science informatique bien-aimé du quartier, je suis là pour te guider pas à pas dans ce processus. Ne t'inquiète pas si tu es nouveau dans le monde de la programmation - nous allons commencer par les bases et progresser étape par étape. À la fin de ce tutoriel, tu auras une application de connexion fonctionnelle et une compréhension solide des concepts d'AngularJS. Alors, mettons-nous à l'œuvre !

AngularJS - Login Application

1. Introduction à AngularJS

Avant de commencer à coder, prenons un moment pour comprendre ce qu'est AngularJS. Imagine que tu construis une maison - AngularJS est comme ton coffre à outils fiable, rempli de tous sorts d'outils utiles pour rendre ton travail plus facile. C'est un framework JavaScript qui nous aide à créer des applications web dynamiques avec moins d'efforts.

1.1 Pourquoi AngularJS ?

AngularJS apporte plusieurs avantages :

  1. Liaison de données bidirectionnelle
  2. Approche modulaire
  3. Injection de dépendances
  4. Directives pour étendre HTML

Ces fonctionnalités peuvent sembler techniques maintenant, mais ne t'inquiète pas - nous les explorerons au fur et à mesure que nous construisons notre application de connexion.

2. Mise en place de notre projet

2.1 Création de la structure HTML

Commençons par créer un fichier HTML de base pour notre application de connexion. Ouvre ton éditeur de texte préféré et crée un nouveau fichier appelé index.html. Voici la structure initiale :

<!DOCTYPE html>
<html ng-app="loginApp">
<head>
<title>Application de connexion AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script src="app.js"></script>
<style>
body {
font-family: Arial, sans-serif;
max-width: 300px;
margin: 0 auto;
padding: 20px;
}
input, button {
display: block;
margin: 10px 0;
width: 100%;
padding: 5px;
}
</style>
</head>
<body ng-controller="LoginController">
<h1>Bienvenue dans notre application de connexion</h1>
<form ng-submit="login()">
<label for="username">Nom d'utilisateur:</label>
<input type="text" id="username" ng-model="user.username" required>

<label for="password">Mot de passe:</label>
<input type="password" id="password" ng-model="user.password" required>

<button type="submit">Connexion</button>
</form>
<p>{{message}}</p>
</body>
</html>

Dans ce HTML, nous avons inclus la bibliothèque AngularJS à partir d'un CDN et lié notre fichier app.js (que nous créerons ensuite). Les attributs ng-app et ng-controller sont des directives AngularJS que nous expliquerons prochaînement.

2.2 Création du module AngularJS et du contrôleur

Maintenant, créons notre fichier app.js dans le même répertoire que notre fichier HTML :

var app = angular.module('loginApp', []);

app.controller('LoginController', function($scope) {
$scope.user = {
username: '',
password: ''
};

$scope.login = function() {
// Nous implémenterons cela plus tard
};
});

Ici, nous créons un module AngularJS appelé loginApp et un contrôleur appelé LoginController. Le contrôleur a un objet user avec des propriétés username et password, et une fonction login que nous implémenterons plus tard.

3. Construction du formulaire de connexion

Maintenant que nous avons notre structure de base, ajoutons un formulaire de connexion à notre HTML :

<form ng-submit="login()">
<label for="username">Nom d'utilisateur:</label>
<input type="text" id="username" ng-model="user.username" required>

<label for="password">Mot de passe:</label>
<input type="password" id="password" ng-model="user.password" required>

<button type="submit">Connexion</button>
</form>

Ce formulaire utilise des directives AngularJS comme ng-submit et ng-model. La directive ng-submit appelle notre fonction login() lorsque le formulaire est soumis, tandis que ng-model lie les valeurs des entrées à notre objet user dans le contrôleur.

4. Implémentation de la fonction de connexion

Mettons à jour notre fonction login dans le contrôleur :

$scope.login = function() {
if ($scope.user.username === 'admin' && $scope.user.password === 'password') {
$scope.message = 'Bienvenue, ' + $scope.user.username + '!';
} else {
$scope.message = 'Nom d'utilisateur ou mot de passe invalide.';
}
};

Cette fonction vérifie si le nom d'utilisateur et le mot de passe saisis correspondent à nos valeurs codées en dur. Dans une application réelle, tu vérifierais habituellement ces valeurs contre une base de données.

5. Affichage du résultat de la connexion

Pour afficher le résultat de la connexion, ajoute ceci à ton HTML :

<p>{{message}}</p>

Les doubles accolades {{}} sont la manière d'AngularJS de présenter les données du contrôleur dans la vue.

6. Ajout de quelques styles

Faisons en sorte que notre application soit un peu plus jolie avec un peu de CSS. Ajoute ceci à ton fichier HTML :

<style>
body {
font-family: Arial, sans-serif;
max-width: 300px;
margin: 0 auto;
padding: 20px;
}
input, button {
display: block;
margin: 10px 0;
width: 100%;
padding: 5px;
}
</style>

7. L'application complète

Voici notre fichier index.html complet :

<!DOCTYPE html>
<html ng-app="loginApp">
<head>
<title>Application de connexion AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script src="app.js"></script>
<style>
body {
font-family: Arial, sans-serif;
max-width: 300px;
margin: 0 auto;
padding: 20px;
}
input, button {
display: block;
margin: 10px 0;
width: 100%;
padding: 5px;
}
</style>
</head>
<body ng-controller="LoginController">
<h1>Bienvenue dans notre application de connexion</h1>
<form ng-submit="login()">
<label for="username">Nom d'utilisateur:</label>
<input type="text" id="username" ng-model="user.username" required>

<label for="password">Mot de passe:</label>
<input type="password" id="password" ng-model="user.password" required>

<button type="submit">Connexion</button>
</form>
<p>{{message}}</p>
</body>
</html>

Et voici notre fichier app.js complet :

var app = angular.module('loginApp', []);

app.controller('LoginController', function($scope) {
$scope.user = {
username: '',
password: ''
};

$scope.login = function() {
if ($scope.user.username === 'admin' && $scope.user.password === 'password') {
$scope.message = 'Bienvenue, ' + $scope.user.username + '!';
} else {
$scope.message = 'Nom d'utilisateur ou mot de passe invalide.';
}
};
});

8. Conclusion

Félicitations ! Tu viens de construire ta première application de connexion AngularJS. Nous avons couvert beaucoup de terrain, de la création d'un module et d'un contrôleur AngularJS à la création d'un formulaire avec une liaison de données bidirectionnelle et l'implémentation d'une fonction de connexion simple.

Souviens-toi, ceci n'est que la pointe de l'iceberg en ce qui concerne AngularJS. Alors que tu continues ton voyage, tu découvriras des fonctionnalités plus puissantes qui t'aideront à construire des applications web complexes et interactives.

Voici un tableau récapitulatif des principaux concepts AngularJS que nous avons utilisés :

Concept Description
Module Un conteneur pour différentes parties d'une application
Contrôleur Gère les données et le comportement de l'application
Directive Étends HTML avec des attributs et des éléments personnalisés
Liaison de données bidirectionnelle Synchronise les données entre le modèle et la vue
Expressions Accède aux variables et aux fonctions de la portée

Continue à pratiquer, reste curieux, et bon codage !

Credits: Image by storyset