commit
6cadd1264e
@ -0,0 +1,74 @@
|
|||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: Témoignages_Formulaire
|
||||||
|
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: setup_PHP_for_SonarQube
|
||||||
|
image: php:8.1
|
||||||
|
environment:
|
||||||
|
SONAR_TOKEN:
|
||||||
|
from_secret: SONARQ_TOKEN
|
||||||
|
commands:
|
||||||
|
- apt-get update && apt-get install -y unzip
|
||||||
|
- export SONAR_SCANNER_VERSION=4.7.0.2747
|
||||||
|
- export SONAR_SCANNER_HOME=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux
|
||||||
|
- curl --create-dirs -sSLo $HOME/.sonar/sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_SCANNER_VERSION-linux.zip
|
||||||
|
- unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/
|
||||||
|
- export PATH=$SONAR_SCANNER_HOME/bin:$PATH
|
||||||
|
- export SONAR_SCANNER_OPTS="-server"
|
||||||
|
- sonar-scanner -D sonar.projectKey=SAE4.01_FORMULAIRE -D sonar.sources=. -D sonar.host.url=https://codefirst.iut.uca.fr/sonar
|
||||||
|
|
||||||
|
# docker image build
|
||||||
|
- name: set_api_form
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
dockerfile: ./Source/API/Dockerfile
|
||||||
|
context: Source/API
|
||||||
|
registry: hub.codefirst.iut.uca.fr
|
||||||
|
repo: hub.codefirst.iut.uca.fr/dorian.hodin/sae4.01_formulaire
|
||||||
|
username:
|
||||||
|
from_secret: SECRET_USERNAME
|
||||||
|
password:
|
||||||
|
from_secret: SECRET_PASSWD
|
||||||
|
|
||||||
|
# conteneur deployment
|
||||||
|
- name: deploy_api_form
|
||||||
|
image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest
|
||||||
|
environment:
|
||||||
|
IMAGENAME: hub.codefirst.iut.uca.fr/dorian.hodin/sae4.01_formulaire:latest
|
||||||
|
CONTAINERNAME: deploy_api_form
|
||||||
|
COMMAND: create
|
||||||
|
OVERWRITE: true
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_HOST:
|
||||||
|
from_secret: db_host
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_DATABASE:
|
||||||
|
from_secret: db_database
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_USER:
|
||||||
|
from_secret: db_user
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_PASSWORD:
|
||||||
|
from_secret: db_password
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_ROOT_PASSWORD:
|
||||||
|
from_secret: db_root_password
|
||||||
|
depends_on: [ set_api_form ]
|
||||||
|
|
||||||
|
# database container deployment
|
||||||
|
- name: db_form
|
||||||
|
image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest
|
||||||
|
environment:
|
||||||
|
IMAGENAME: mariadb:10.5
|
||||||
|
CONTAINERNAME: db_form
|
||||||
|
COMMAND: create
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_MARIADB_ROOT_PASSWORD:
|
||||||
|
from_secret: db_root_password
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_MARIADB_DATABASE:
|
||||||
|
from_secret: db_database
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_MARIADB_USER:
|
||||||
|
from_secret: db_user
|
||||||
|
CODEFIRST_CLIENTDRONE_ENV_MARIADB_PASSWORD:
|
||||||
|
from_secret: db_password
|
||||||
|
depends_on: [ deploy_api_form ]
|
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="GitToolBoxProjectSettings">
|
||||||
|
<option name="commitMessageIssueKeyValidationOverride">
|
||||||
|
<BoolValueOverride>
|
||||||
|
<option name="enabled" value="true" />
|
||||||
|
</BoolValueOverride>
|
||||||
|
</option>
|
||||||
|
<option name="commitMessageValidationEnabledOverride">
|
||||||
|
<BoolValueOverride>
|
||||||
|
<option name="enabled" value="true" />
|
||||||
|
</BoolValueOverride>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,4 @@
|
|||||||
|
FROM php:8.0-apache
|
||||||
|
RUN apt-get update && apt-get upgrade -y
|
||||||
|
RUN docker-php-ext-install pdo pdo_mysql
|
||||||
|
COPY ./script /var/www/html
|
@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class APIController
|
||||||
|
{
|
||||||
|
function __construct()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
if (empty($_REQUEST['action'])) {
|
||||||
|
$action = NULL;
|
||||||
|
} else {
|
||||||
|
$action = $_REQUEST['action'];
|
||||||
|
}
|
||||||
|
$listGateway = array(""); //TODO : nom des différentes Gateway à mettre
|
||||||
|
foreach ($listGateway as $gateway) // Pour chaque Gateway
|
||||||
|
{
|
||||||
|
/* On regarde s'il implémente une fonction du même nom que l'action reçue */
|
||||||
|
if(method_exists($gateway, $action))
|
||||||
|
{
|
||||||
|
(new $gateway)->$action(); // Si oui, on appelle cette fonction
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (PDOException) {
|
||||||
|
return http_response_code(404);
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Connection extends PDO
|
||||||
|
{
|
||||||
|
private PDOStatement $stmt;
|
||||||
|
|
||||||
|
public function __construct(string $dsn, string $username, string $password)
|
||||||
|
{
|
||||||
|
parent::__construct($dsn, $username, $password);
|
||||||
|
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/** * @param string $query
|
||||||
|
* @param array $parameters *
|
||||||
|
* @return bool Returns `true` on success, `false` otherwise
|
||||||
|
*/
|
||||||
|
public function executeQuery(string $query, array $parameters = []): bool
|
||||||
|
{
|
||||||
|
$this->stmt = parent::prepare($query);
|
||||||
|
foreach ($parameters as $name => $value) {
|
||||||
|
$this->stmt->bindValue($name, $value[0], $value[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->stmt->execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getResults(): array
|
||||||
|
{
|
||||||
|
return $this->stmt->fetchAll();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once "./Connection.php";
|
||||||
|
|
||||||
|
function connect(): int|Connection
|
||||||
|
{
|
||||||
|
|
||||||
|
$dsn = "mysql:host=".$_ENV["HOST"].";dbname=".$_ENV["DATABASE"].";";
|
||||||
|
$login = $_ENV["USER"];
|
||||||
|
$password = $_ENV["PASSWORD"];
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
$connection = new Connection($dsn,$login,$password);
|
||||||
|
|
||||||
|
}catch (PDOException){
|
||||||
|
|
||||||
|
http_response_code(404);
|
||||||
|
return http_response_code();
|
||||||
|
}
|
||||||
|
return $connection;
|
||||||
|
}
|
Loading…
Reference in new issue