diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..918c97d7 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,19 @@ +name: Industrialisation continue sur le serveur AWS (Tomcat) +on: push +jobs: + Deploy: + name: Deploy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - run: | + jar cvf Grosheny.war * + - name: copy file via ssh password + uses: appleboy/scp-action@master + with: + host: ${{ secrets.HOST_DNS }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.EC2_SSH_KEY }} + port: ${{ secrets.DEPLOY_PORT }} + source: "Grosheny.war" + target: "/opt/tomcat/webapps" diff --git a/Select_BDD.jsp b/Select_BDD.jsp new file mode 100644 index 00000000..30e5cf78 --- /dev/null +++ b/Select_BDD.jsp @@ -0,0 +1,78 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="java.sql.*" %> + + + + + Connexion à MariaDB via JSP + + +

Exemple de connexion à MariaDB via JSP

+ + +
+ + + +
+ + <% + try { + String url = "jdbc:mariadb://localhost:3306/films"; + String user = "mysql"; + String password = "mysql"; + + // Vérification de la présence de l'année dans la requête + if (request.getParameter("annee") != null) { + int anneeRecherchee = Integer.parseInt(request.getParameter("annee")); + + // Établir la connexion + try (Connection conn = DriverManager.getConnection(url, user, password)) { + // Requête SQL pour récupérer les films de l'année saisie + String sql = "SELECT idFilm, titre, année FROM Film WHERE année = ?"; + try (PreparedStatement pstmt = conn.prepareStatement(sql)) { + pstmt.setInt(1, anneeRecherchee); // Utilisation de l'année saisie + try (ResultSet rs = pstmt.executeQuery()) { + + // Affichage de tous les films de l'année saisie + while (rs.next()) { + String colonne1 = rs.getString("idFilm"); + String colonne2 = rs.getString("titre"); + String colonne3 = rs.getString("année"); + %> + +

ID : <%= colonne1 %>, Titre : <%= colonne2 %>, Année : <%= colonne3 %>

+ <% + } + } + } + } + } else { + // Si aucune année n'est spécifiée, afficher tous les films + try (Connection conn = DriverManager.getConnection(url, user, password)) { + // Requête SQL pour récupérer tous les films + String sql = "SELECT idFilm, titre, année FROM Film"; + try (PreparedStatement pstmt = conn.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery()) { + + // Affichage de tous les films + while (rs.next()) { + String colonne1 = rs.getString("idFilm"); + String colonne2 = rs.getString("titre"); + String colonne3 = rs.getString("année"); + %> + +

ID : <%= colonne1 %>, Titre : <%= colonne2 %>, Année : <%= colonne3 %>

+ <% + } + } + } + } + } catch (Exception e) { + // Gérer les exceptions (journalisation, affichage d'un message d'erreur, etc.) + e.printStackTrace(); + out.println("Erreur : " + e.getMessage()); + } + %> + + diff --git a/Select_BDD2.jsp b/Select_BDD2.jsp new file mode 100644 index 00000000..033f40d4 --- /dev/null +++ b/Select_BDD2.jsp @@ -0,0 +1,64 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="java.sql.*" %> + + + + + + Modification du Titre d'un Film + + +

Modification du Titre d'un Film

+ + +
+ + +
+ + +
+ +
+ + <% + try { + String url = "jdbc:mariadb://localhost:3306/films"; + String user = "mysql"; + String password = "mysql"; + + // Vérification de la présence des paramètres dans la requête POST + if (request.getMethod().equals("POST")) { + int filmId = Integer.parseInt(request.getParameter("filmId")); + String nouveauTitre = request.getParameter("nouveauTitre"); + + // Charger le pilote JDBC + Class.forName("com.mysql.jdbc.Driver"); + + // Établir la connexion + try (Connection conn = DriverManager.getConnection(url, user, password)) { + // Requête SQL pour mettre à jour le titre du film en fonction de l'ID + String sql = "UPDATE Film SET titre = ? WHERE idFilm = ?"; + try (PreparedStatement pstmt = conn.prepareStatement(sql)) { + pstmt.setString(1, nouveauTitre); + pstmt.setInt(2, filmId); + + // Exécution de la mise à jour + int rowsAffected = pstmt.executeUpdate(); + + if (rowsAffected > 0) { + out.println("Le titre du film a été modifié avec succès."); + } else { + out.println("Aucun film trouvé avec l'ID spécifié."); + } + } + } + } + } catch (Exception e) { + // Gérer les exceptions (journalisation, affichage d'un message d'erreur, etc.) + e.printStackTrace(); + out.println("Erreur : " + e.getMessage()); + } + %> + + diff --git a/Select_BDD3.jsp b/Select_BDD3.jsp new file mode 100644 index 00000000..04afb528 --- /dev/null +++ b/Select_BDD3.jsp @@ -0,0 +1,81 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="java.sql.*" %> + + + + + Ajouter un nouveau film + + +

Ajouter un nouveau film

+ + <% + String url = "jdbc:mariadb://localhost:3306/films"; + String user = "mysql"; + String password = "mysql"; + + // Charger le pilote JDBC + Class.forName("org.mariadb.jdbc.Driver"); + + // Vérifier si des données ont été envoyées pour l'ajout d'un nouveau film + if (request.getParameter("idFilm") != null && request.getParameter("titre") != null && request.getParameter("annee") != null) { + int idFilm = Integer.parseInt(request.getParameter("idFilm")); + String nouveauTitre = request.getParameter("titre"); + int nouvelleAnnee = Integer.parseInt(request.getParameter("annee")); + + try (Connection conn = DriverManager.getConnection(url, user, password)) { + // Vérifier si l'ID est déjà utilisé + String checkIdQuery = "SELECT idFilm FROM Film WHERE idFilm = ?"; + try (PreparedStatement checkIdStmt = conn.prepareStatement(checkIdQuery)) { + checkIdStmt.setInt(1, idFilm); + ResultSet existingId = checkIdStmt.executeQuery(); + + if (existingId.next()) { + %> + +

L'ID "<%= idFilm %>" est déjà utilisé pour un autre film.

+ <% + } else { + // Requête SQL pour ajouter un nouveau film dans la base de données + String insertQuery = "INSERT INTO Film (idFilm, titre, année, genre) VALUES (?, ?, ?, 'Non spécifié')"; + try (PreparedStatement insertStmt = conn.prepareStatement(insertQuery)) { + insertStmt.setInt(1, idFilm); + insertStmt.setString(2, nouveauTitre); + insertStmt.setInt(3, nouvelleAnnee); + + int rowsAffected = insertStmt.executeUpdate(); + + if (rowsAffected > 0) { + %> + +

Le film "<%= nouveauTitre %>" de l'année <%= nouvelleAnnee %> avec l'ID <%= idFilm %> a été ajouté avec succès !

+ <% + } else { + %> + +

L'ajout du film "<%= nouveauTitre %>" de l'année <%= nouvelleAnnee %> avec l'ID <%= idFilm %> a échoué.

+ <% + } + } + } + } + } catch (Exception e) { + // Gérer les exceptions + e.printStackTrace(); + out.println("Erreur : " + e.getMessage()); + } + } + %> + + +
+ + + + + + + +
+ + diff --git a/Select_POI.jsp b/Select_POI.jsp new file mode 100644 index 00000000..1576509f --- /dev/null +++ b/Select_POI.jsp @@ -0,0 +1,42 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="java.sql.*" %> + + + + + Connexion à MySQL via JSP + + +

Exemple de connexion à MySQL via JSP

+ <% + String url = "jdbc:mariadb://localhost:3306/equipements"; + String user = "mysql"; + String password = "mysql"; + + // Charger le pilote JDBC + Class.forName("org.mariadb.jdbc.Driver"); + + // Établir la connexion +Connection conn = DriverManager.getConnection(url, user, password); + // Exemple de requête SQL + String sql = "SELECT equi_id, equi_libelle, equi_lat, equi_long, get_distance_metres('48.858205', '2.294359', equi_lat, equi_long) AS proximite FROM equipement HAVING proximite < 1000 ORDER BY proximite ASC LIMIT 10;"; + PreparedStatement pstmt = conn.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery(); + + // Afficher les résultats (à adapter selon vos besoins) + while (rs.next()) { + String colonne1 = rs.getString("equi_libelle"); + String colonne2 = rs.getString("equi_lat"); + String colonne3 = rs.getString("equi_long"); + // Faites ce que vous voulez avec les données... + //Exemple d'affichage de 2 colonnes + out.println("Batiment : " + colonne1 + ", latitude : " + colonne2 + ", Longitude : " + colonne3 + "
"); + } + + // Fermer les ressources + rs.close(); + pstmt.close(); + conn.close(); + %> + + diff --git a/WEB-INF/lib/1 b/WEB-INF/lib/1 new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/WEB-INF/lib/1 @@ -0,0 +1 @@ + diff --git a/WEB-INF/lib/mariadb-java-client-3.1.2-sources.jar b/WEB-INF/lib/mariadb-java-client-3.1.2-sources.jar new file mode 100644 index 00000000..cacebce5 Binary files /dev/null and b/WEB-INF/lib/mariadb-java-client-3.1.2-sources.jar differ diff --git a/WEB-INF/lib/mariadb-java-client-3.3.1_1.jar b/WEB-INF/lib/mariadb-java-client-3.3.1_1.jar new file mode 100644 index 00000000..0827a364 Binary files /dev/null and b/WEB-INF/lib/mariadb-java-client-3.3.1_1.jar differ diff --git a/WEB-INF/lib/mysql-connector-j-8.1.0.jar b/WEB-INF/lib/mysql-connector-j-8.1.0.jar new file mode 100644 index 00000000..51d2aa3c Binary files /dev/null and b/WEB-INF/lib/mysql-connector-j-8.1.0.jar differ diff --git a/hello.jsp b/hello.jsp index ff73e3c3..e548ddcb 100644 --- a/hello.jsp +++ b/hello.jsp @@ -1,23 +1,23 @@ - + + -Sample Application JSP Page + Sample Application JSP Page - - - - - - - + +
- - -

Sample Application JSP Page

-This is the output of a JSP page that is part of the Hello, World -application. -
+ + + + + + Image de Tomcat - Logo de l'application + + +
La description de Eddy
Contenu
+

Sample Application JSP Page

+ This is the output of a JSP page that is part of the Hello, World application. +
- <%= new String("Hello!") %> - diff --git a/index.html b/index.html index fe61a15f..2181e4de 100644 --- a/index.html +++ b/index.html @@ -1,28 +1,26 @@ - + + Sample "Hello, World" Application -
- +Apache Tomcat logo -

Sample "Hello, World" Application

+

Bonjour, ceci est mon application Grosheny Thibaut

This is the home page for a sample application used to illustrate the source directory organization of a web application utilizing the principles outlined in the Application Developer's Guide.

-

To prove that they work, you can execute either of the following links:

- diff --git a/map.jsp b/map.jsp new file mode 100644 index 00000000..14849435 --- /dev/null +++ b/map.jsp @@ -0,0 +1,91 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ page import="java.sql.*" %> + + + + + + + + Carte + + + <% + String url = "jdbc:mariadb://localhost:3306/equipements"; + String user = "mysql"; + String password = "mysql"; + + // Charger le pilote JDBC + Class.forName("org.mariadb.jdbc.Driver"); + + // Établir la connexion + Connection conn = DriverManager.getConnection(url, user, password); + // Exemple de requête SQL + String sql = "SELECT equi_id, equi_libelle, equi_lat, equi_long, get_distance_metres('48.858205', '2.294359', equi_lat, equi_long) AS proximite FROM equipement HAVING proximite < 1000 ORDER BY proximite ASC LIMIT 10;"; + PreparedStatement pstmt = conn.prepareStatement(sql); + ResultSet rs = pstmt.executeQuery(); + + // Créer un objet JavaScript pour stocker les données de latitude et de longitude + out.println(""); + + // Fermer les ressources + rs.close(); + pstmt.close(); + conn.close(); + %> +
+ +
+ + + + + + + diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 00000000..c4f4674b --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1 @@ +sonar.projectKey=Grosheny