Fermer

juillet 16, 2023

Comment utiliser Angular pour créer une interface utilisateur Python de niveau supérieur et pourquoi

Comment utiliser Angular pour créer une interface utilisateur Python de niveau supérieur et pourquoi


Comment votre application Python peut-elle bénéficier de sa combinaison avec Angular ? Voyons comment ces deux peuvent travailler ensemble pour améliorer votre développement.

Dans le monde actuel du développement Web, la création d’interfaces utilisateur (UI) attrayantes et réactives est cruciale pour le succès de toute application. Alors que Python excelle dans le développement backend et le traitement des données, sa combinaison avec Angular, un puissant framework JavaScript, peut faire passer vos applications Python au niveau supérieur.

Dans cet article, nous explorerons les avantages de l’utilisation d’Angular pour le développement d’interface utilisateur dans les applications Python et vous guiderons dans la consommation de données d’une API Python (Flask) dans une interface utilisateur angulaire.

Quel est l’avantage d’utiliser Angular pour créer une interface utilisateur pour Python ?

Voici quelques avantages de l’utilisation d’Angular en combinaison avec Python :

  • Développement d’interface utilisateur riche : Angular offre des outils et des fonctionnalités puissants pour créer des interfaces utilisateur dynamiques et réactives.
  • Séparation des préoccupations: Angular vous permet de séparer les tâches de développement frontend et backend, ce qui rend la base de code plus maintenable.
  • Applications monopage (SPA) : Angular excelle dans la création de SPA, offrant une expérience utilisateur fluide et transparente.
  • Écosystème étendu : Angular a une communauté large et active, offrant un riche écosystème de bibliothèques et de ressources.
  • Intégration TypeScript : Angular est construit avec TypeScript, ce qui apporte des avantages tels que la vérification de type statique et une meilleure maintenabilité du code.
  • Développement modulaire : L’approche modulaire d’Angular s’aligne bien sur l’organisation et la maintenabilité du code Python.
  • Performances et optimisations : Angular est livré avec des optimisations de performances intégrées qui améliorent la vitesse et l’efficacité de votre application.

Comment consommer les données de l’API Python (Flask) dans l’interface utilisateur angulaire

La création d’une application Angular complète intégrée à un backend Python dépasse le cadre d’une seule conversation. Cependant, je peux vous fournir un exemple simplifié pour vous aider à démarrer. Cet exemple montre la configuration de base et l’intégration entre Angular et Python. Gardez à l’esprit que vous devrez adapter et développer cet exemple pour répondre à vos besoins spécifiques. Voici un guide étape par étape simplifié :

Configurer votre environnement de développement

  1. Installez Node.js depuis le site officiel
  2. Ouvrez votre interface de ligne de commande
  3. Exécutez la commande suivante pour installer globalement la CLI Angular : npm install -g @angular/cli

Créer un nouveau projet angulaire

  1. Créez un nouveau projet Angular en exécutant : ng new angular-python-app
  2. Accédez au répertoire du projet : cd angular-python-app

Paquets installés avec succès

Créer des composants angulaires

Maintenant que nous avons tous les fichiers dont nous avons besoin, nous modifions le modèle HTML (app.component.html) pour afficher des données dynamiques. Dans ce cas, nous ajoutons un <h1> élément d’en-tête pour afficher le titre et un <p> élément de paragraphe pour afficher le message. Ces valeurs seront extraites du backend Python.

Ouvrez src/app/app.component.html et remplacez le code généré par :

<p>{{ newdata}}</p>

Créez maintenant un nouveau fichier appelé service.ts dans le même répertoire pour effectuer des requêtes HTTP :

import { HttpClient } from "@angular/common/http";
import { Injectable } from "@angular/core";

Dans cette section, les importations nécessaires sont effectuées. Le HttpClient le module est importé de @angular/common/http, qui fournit des fonctionnalités pour effectuer des requêtes HTTP. Le Injectable le décorateur est importé de @angular/corece qui permet d’injecter le service et de l’utiliser dans d’autres parties de l’application.

@Injectable({
  providedIn: 'root'
})

Le @Injectable décorateur est utilisé pour déclarer que ce service est injectable et préciser sa portée. Dans ce cas, 'root' est fourni comme valeur, indiquant qu’une seule instance de ce service sera créée et partagée dans l’ensemble de l’application.

constructor(private _http: HttpClient) { }

Le constructeur est défini avec un paramètre nommé _http de type HttpClient. Il s’agit d’une syntaxe abrégée fournie par TypeScript pour créer automatiquement une propriété privée _http et assigner l’injecté HttpClient exemple à elle. Cela permet au service d’utiliser les méthodes HttpClient pour effectuer des requêtes HTTP.

getdata() {
  return this._http.get('http://127.0.0.1:5000/api/data');
}

Le getdata() méthode est définie dans le service. Il fait usage de la _http propriété (qui détient le HttpClient instance) pour envoyer une requête HTTP GET à l’URL spécifiée http://127.0.0.1:5000/api/data. Cette méthode retourne un Observable qui représente la réponse asynchrone du serveur.

En utilisant ce service dans d’autres composants de votre application angulaire, vous pouvez utiliser le getdata() méthode pour récupérer les données de l’URL spécifiée.

Note: Assurez-vous d’avoir un backend Python en cours d’exécution sur http://127.0.0.1:5000 qui expose le /api/data point de terminaison pour que ce service récupère les données avec succès.

Ouvrez maintenant src/app/app.component.ts et remplacez le code généré par :

import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { ApiserviceService } from './service';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  newdata:any;

  constructor(private _apiservice:ApiserviceService) { }

  ngOnInit() {
	this.getData();
  }

  getData() {
	this._apiservice.getdata().subscribe(res=>{
  	this.newdata=res;
	})
  }
}

Le code représente un composant angulaire appelé AppComponent qui interagit avec le ApiserviceService pour récupérer des données et les stocker dans le newdata variable.

Voici un résumé du code :

  • Le AppComponent la classe implémente le OnInit interface, ce qui nécessite la mise en œuvre de la ngOnInit() méthode.
  • Le newdata La propriété est déclarée pour stocker les données récupérées.
  • Le constructeur injecte une instance de ApiserviceService dans le composant.
  • Dans le ngOnInit() méthode, la getData() La méthode est appelée pour récupérer les données de l’API.
  • Le getData() méthode utilise la ApiserviceService pour effectuer une requête HTTP et s’abonne à la réponse.
  • La réponse est attribuée au newdata propriété, la rendant accessible dans le modèle du composant.

Installer les dépendances nécessaires

  • Courir npm install pour installer les packages requis.

Installation réussie

Créer un back-end Python

  • Installez Flask, un framework Web Python léger, en exécutant pip install flask.
  • Créez un nouveau fichier appelé app.py dans le répertoire du projet et ajoutez le code suivant :
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/data')
def get_data():
    data = {
        'title': 'Welcome to Angular-Python App',
        'message': 'This is an example integration between Angular and Python!'
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run()

Démarrer l’application

  1. Exécutez l’application Angular :
    ○ Dans une interface de ligne de commande distincte, accédez au répertoire du projet (angular-python-app).
    ○ Exécuter ng serve pour démarrer le serveur de développement angulaire.

    ○ L’application sera disponible sur http://localhost:4200.

  2. Exécutez le backend Python :
    ○ Dans l’interface de ligne de commande d’origine, accédez au répertoire du projet.
    ○ Exécuter python app.py pour démarrer le serveur Flask.
    ○ Voici à quoi cela devrait ressembler :

    message : Ceci est un exemple d'intégration entre Angular et Python !  titre : Bienvenue dans l'application Angular-Python

  3. Interagissez avec l’application :
    ○ Ouvrez votre navigateur et visitez http://localhost:4200.
    ○ Vous devriez voir le titre et le message extraits du backend Python affichés sur la page.

    Le navigateur affiche le message et le titre

La console enregistre :

Cet exemple illustre une intégration de base entre Angular et Python. Vous pouvez l’étendre en ajoutant d’autres composants, en implémentant une entrée utilisateur, en vous connectant à une base de données et en ajoutant des fonctionnalités plus complexes pour répondre aux besoins de votre application.

Derniers mots

Dans cet article, nous avons exploré comment consommer les données d’une API Python construite avec Flask dans une interface utilisateur angulaire. En tirant parti de la puissance du module HttpClient d’Angular, nous avons pu établir une communication entre le frontend et le backend, permettant la récupération et l’affichage des données de l’API Python.

En suivant ce guide, vous avez maintenant les connaissances nécessaires pour consommer les données d’une API Python dans une interface utilisateur angulaire. Fort de cette compréhension, vous pouvez créer des interfaces utilisateur sophistiquées et interactives qui s’intègrent de manière transparente à votre backend Python.

Pour encore plus de gains de productivité, découvrez Progress Interface utilisateur de Kendo pour Angular. Vous obtenez des outils prêts à l’emploi tels qu’une grille de données, un tableau croisé dynamique, des graphiques et des jauges. (Ensuite, nous allons jeter un oeil à cela plus en détail!)




Source link