Merge remote-tracking branch 'origin/master' into Model

# Conflicts:
#	.idea/php.xml
AdminInterface
Alexis 2 years ago
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>

@ -9,7 +9,7 @@
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="8.1" />
<component name="PhpProjectSharedConfiguration" php_language_level="8.2" />
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>

@ -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…
Cancel
Save