Dans les deux articles précédents de cette série, nous avons expliqué comment configurer Netbeans dans une distribution de bureau Linux en tant qu’IDE pour développer des applications Web. Nous avons ensuite ajouté deux composants de base, jQuery et Amorcer, afin de rendre vos pages adaptées aux mobiles et réactives.

Comme vous traiterez rarement de contenu statique en tant que développeur, nous allons maintenant ajouter des fonctionnalités dynamiques à la page de base que nous avons configurée dans Partie 2. Pour commencer, énumérons les prérequis et abordons-les avant d’aller de l’avant.

Conditions préalables

Afin de tester une application dynamique dans notre machine de développement avant de la déployer sur un serveur LAMP, nous devrons installer certains packages.

Puisque nous utilisons un Ubuntu desktop pour écrire cette série, nous supposons que votre compte utilisateur a déjà été ajouté au sudeurs fichier et accordé les autorisations nécessaires.

Installation des packages et configuration de l’accès au serveur de base de données

Veuillez noter que lors de l’installation, vous pouvez être invité à saisir un mot de passe pour l’utilisateur root MySQL. Assurez-vous de choisir un mot de passe fort, puis continuez.

Publicité

Ubuntu et dérivés (également pour d’autres Distributions basées sur Debian):

$ sudo apt update && sudo apt install apache2 php php-common php-mysql mysql-server filezilla

Feutre / CentOS / RHEL et aussi pour d’autres Distributions basées sur RHEL):

$ sudo yum update && sudo yum install httpd php php-common php-mysql mysql-server filezilla

Une fois l’installation terminée, il est fortement recommandé d’exécuter mysql_secure_installation commande pour sécuriser votre serveur de base de données.

$ sudo mysql_secure_installation

Vous serez invité à fournir les informations suivantes :

  • Changer le mot de passe root ? [Y/n]. Si vous avez déjà défini un mot de passe pour l’utilisateur root MySQL, vous pouvez ignorer cette étape.
  • Supprimer les utilisateurs anonymes ? [Y/n] oui.
  • Interdire la connexion root à distance ? [Y/n] oui (Étant donné qu’il s’agit de votre environnement de développement local, vous n’aurez pas besoin de vous connecter à votre serveur de base de données à distance).
  • Supprimer la base de données de test et y accéder ? [Y/n] oui
  • Recharger les tables de privilèges maintenant ? [Y/n] oui.

Création d’un exemple de base de données et chargement des données de test

Pour créer un exemple de base de données et charger des données de test, connectez-vous à votre serveur de base de données :

$ sudo mysql -u root -p

Vous serez invité à saisir le mot de passe de l’utilisateur root MySQL.

À l’invite MySQL, tapez

CREATE DATABASE tecmint_db;

et appuyez sur Entrer:

Créer Une Base De Données Mysql
Créer Une Base De Données Mysql

Créons maintenant une table :

USE tecmint_db;
CREATE TABLE articles_tbl(
   Id INT NOT NULL AUTO_INCREMENT,
   Title VARCHAR(100) NOT NULL,
   Author VARCHAR(40) NOT NULL,
   SubmissionDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
   PRIMARY KEY ( Id )
);
Créer Une Table De Base De Données
Créer Une Table De Base De Données

et remplissez-le avec des exemples de données :

INSERT INTO articles_tbl (Title, Author) VALUES ('Installing Filezilla in CentOS 7', 'Gabriel Canepa'), ('How to set up a LAMP server in Debian', 'Dave Null'), ('Enabling EPEL repository in CentOS 6', 'John Doe');
Remplir La Table De La Base De Données
Remplir La Table De La Base De Données

Ajout de liens symboliques dans le répertoire Web Server

Depuis Netbeans, par défaut, stocke les projets dans le répertoire personnel de l’utilisateur actuel, vous devrez ajouter des liens symboliques pointant vers cet emplacement. Par exemple,

$ sudo ln -s /home/ubuntu/NetBeansProjects/TecmintTest/public_html /var/www/html/TecmintTest

ajoutera un lien logiciel appelé TecmintTest qui pointe vers /home/gabriel/NetBeansProjects/TecmintTest/public_html.

Pour cette raison, lorsque vous pointez votre navigateur sur http://localhost/TecmintTest/, vous verrez en fait l’application que nous avons configurée dans Partie 2:

Application Html5
Application Html5

Configuration d’un serveur FTP et Web à distance

Étant donné que vous pouvez facilement configurer un FTP et serveur Web avec les instructions fournies dans Partie 9 – Installer et configurer un serveur FTP et Web sécurisé de la série RHCSA à Tecmint, nous ne les répéterons pas ici. Veuillez vous référer à ce guide avant de continuer.

Transformer notre application en une application dynamique

Vous penserez probablement que nous ne pouvons pas faire grand-chose avec les exemples de données que nous avons ajoutés à notre base de données plus tôt, et vous avez raison, mais cela suffira pour apprendre les bases de l’intégration de code PHP et les résultats des requêtes dans une base de données MySQL dans vos pages HTML5.

Tout d’abord, nous devrons changer l’extension du document principal de notre application pour .php à la place de html:

# mv /var/www/html/TecmintTest/index.html /var/www/html/TecmintTest/index.php

Ensuite, ouvrons le projet dans Netbeans et commençons à faire quelques modifications.

1. Ajouter un dossier au projet nommé comprend où nous allons stocker les applications php backend.

2. Créer un fichier nommé dbconnection.php à l’intérieur comprend et insérez avec le code suivant :

<?php
    $host = "localhost";
    $username = "root";
    $password = "MyFancyP4ssw0rd";
    $database = "tecmint_db";

    //Establish a connection with MySQL server
    $mysqli = new mysqli($host, $username, $password,$database);

    /* Check connection status. Exit in case of errors. */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %sn", mysqli_connect_error());
        exit();
    }
    $mysqli -> query("SET character_set_results="utf8", character_set_client="utf8", character_set_connection = 'utf8', character_set_database="utf8", character_set_server="utf8"");

    $records = array();
    $query = "SELECT Title, Author, SubmissionDate FROM articles_tbl;";
    $result = $mysqli->query($query) or die($mysqli->error);
    $data = array();

    while ( $row = $result->fetch_assoc() ){
        $data[] = json_encode($row);
    }
    echo json_encode( $data );
?>

comme indiqué dans l’image suivante :

Créer Un Fichier De Configuration De Base De Donnéescréer Un Fichier De Configuration De Base De Données
Créer Un Fichier De Configuration De Base De Données

Ce fichier sera utilisé pour se connecter au serveur de base de données, pour l’interroger et pour renvoyer les résultats de cette requête dans une chaîne de type JSON à utiliser par l’application frontale avec une légère modification.

Notez que vous utiliseriez généralement des fichiers séparés pour effectuer chacune de ces opérations, mais nous avons choisi d’inclure toutes ces fonctionnalités dans un seul fichier pour des raisons de simplicité.

3. Dans index.php, ajoutez l’extrait suivant juste en dessous de l’ouverture corps étiqueter. C’est la façon jQuery d’appeler une application PHP externe lorsque le Web document est prêt, ou en d’autres termes, à chaque chargement :

<script>
    $(document).ready(function(){
        $.ajax({
            url: 'includes/dbconnection.php',
            datatype: 'json',
            type: 'POST',
            success: function(data){
                var output = $.parseJSON(data);
                for(var i =0;i < output.length;i++)
                {
                  var item = output[i];
                  $("#title").append("<br>"+item.Title);
                  $("#author").append("<br>"+item.Author);
                  $("#submissiondate").append("<br>"+item.SubmissionDate);
                }
            }}
        );
    });
</script>
Ajouter Un Script Jquery
Ajouter Un Script Jquery

4. Maintenant, ajoutez un identifiant unique (le même qu’à l’intérieur de la boucle for ci-dessus) à chaque ligne de la div avec une classe ligne en bas de index.php:

<div class="row">
    <div class="col-md-4" id="title" style="text-align: center"><strong>Titles</strong></div>
    <div class="col-md-4" id="author" style="text-align: center"><strong>Authors</strong></div>
    <div class="col-md-4" id="submissiondate" style="text-align: center"><strong>Published on:</strong></div>
</div>

Si vous cliquez maintenant Exécuter le projet, vous devriez voir ceci :

Aperçu De L'Application Web Fonctionnelle
Aperçu De L&Rsquo;Application Web Fonctionnelle

C’est essentiellement la même chose que les informations renvoyées lorsque nous avons exécuté la requête à partir de l’invite de notre client MySQL plus tôt.

Déploiement sur un serveur LAMP à l’aide de Filezilla

Lancer Filezilla du Tiret menu et entrez dans le IP du serveur FTP distant et vos identifiants. Puis clique Connexion rapide pour se connecter au FTP serveur:

Télécharger Des Fichiers Sur Un Serveur Ftp
Déploiement De L&Rsquo;Application Sur Le Serveur Web

Aller vers /home/gabriel/NetBeansProjects/TecmintTest/public_html/, sélectionnez son contenu, faites un clic droit dessus et sélectionnez Télécharger.

Ceci, bien entendu, suppose que l’utilisateur distant indiqué dans Nom d’utilisateur doit écrire des autorisations sur le répertoire distant. Une fois le téléchargement terminé, pointez votre navigateur vers l’emplacement souhaité et vous devriez voir la même page qu’auparavant (veuillez noter que nous n’avons pas configuré la base de données MySQL locale sur l’hôte distant, mais vous pouvez facilement le faire en suivant les étapes de le début de ce tutoriel).

Aperçu De L'Application Web
Aperçu De L&Rsquo;Application Web

Sommaire

Dans cet article, nous avons ajouté des fonctionnalités dynamiques à notre application Web en utilisant jQuery et un petit JavaScript. Vous pouvez vous référer à l’officiel documents jQuery pour plus d’informations, ce qui sera très utile si vous décidez d’écrire des applications plus complexes. En conclusion, nous avons également déployé notre application sur un LAMPE serveur utilisant un FTP client.

Nous sommes ravis d’entendre votre opinion sur cet article – n’hésitez pas à nous contacter en utilisant le formulaire ci-dessous.

.

Rate this post
Publicité
Article précédentSeptembre a apporté un torrent de pluie sur une île de Vancouver très sèche – Saanich News
Article suivantLes modules complémentaires Firefox malveillants empêchent le navigateur de télécharger les mises à jour de sécurité
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici