Skip to content

Commit

Permalink
Merge pull request #21 from vincentberry/dev
Browse files Browse the repository at this point in the history
Déploiement de la nouvelle infra
  • Loading branch information
vincentberry authored Mar 18, 2024
2 parents 51ebcda + 561ec8d commit 82d58f4
Show file tree
Hide file tree
Showing 58 changed files with 1,985 additions and 3,451 deletions.
26 changes: 13 additions & 13 deletions .github/workflows/docker-image_demo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,17 @@ jobs:

steps:

- uses: actions/checkout@v2

- name: docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- uses: actions/checkout@v2

- name: docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Build the Docker image
run: docker build . --file Dockerfile --build-arg NODE_ENV=demo --tag vincentberry/vmix-remote:demo

- name: Build the Docker image
run: docker build . --file Dockerfile --tag vincentberry/vmix-remote:demo

- name: Docker Push
run: docker push --all-tags vincentberry/vmix-remote
- name: Docker Push
run: docker push --all-tags vincentberry/vmix-remote
5 changes: 3 additions & 2 deletions .github/workflows/docker-image_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
steps:

- uses: actions/checkout@v2

- name: docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
Expand All @@ -22,7 +23,7 @@ jobs:
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Build the Docker image
run: docker build . --file Dockerfile --tag vincentberry/vmix-remote:dev
run: docker build . --file Dockerfile --build-arg NODE_ENV=dev --tag vincentberry/vmix-remote:dev

- name: Docker Push
run: docker push --all-tags vincentberry/vmix-remote
run: docker push --all-tags vincentberry/vmix-remote
31 changes: 16 additions & 15 deletions .github/workflows/docker-image_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,20 @@ jobs:

steps:

- uses: actions/checkout@v2
- name: docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- uses: actions/checkout@v2

- name: docker login
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Build the Docker image
run: docker build . --file Dockerfile --build-arg NODE_ENV=prod --tag vincentberry/vmix-remote:latest

- name: Build the Docker image
run: docker build . --file Dockerfile --tag vincentberry/vmix-remote:latest

- name: Build the Docker image
run: docker build . --file Dockerfile --tag vincentberry/vmix-remote:$(date +%s)

- name: Docker Push
run: docker push --all-tags vincentberry/vmix-remote
- name: Build the Docker image
run: docker build . --file Dockerfile --build-arg NODE_ENV=prod --tag vincentberry/vmix-remote:$(date +%s)

- name: Docker Push
run: docker push --all-tags vincentberry/vmix-remote
16 changes: 15 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,18 @@
/app/file/
/app/db/
.vscode/
database.sqlite
database.sqlite

# Ignore les fichiers générés par SCSS
*.css
*.css.map

# Ignore les fichiers générés par Sass/SCSS
.sass-cache/
/app/public/assets/style
/app/public/assets/js


#npm ignore
/node_modules
package-lock.json
23 changes: 20 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
FROM node:14 AS build
ARG NODE_ENV
WORKDIR /build

COPY ./ /build

RUN npm install
RUN npm install typescript


RUN npm run build-${NODE_ENV}

FROM php:apache

ARG NODE_ENV
ENV COMPOSER_ALLOW_SUPERUSER=1
ARG NODE_ENV

EXPOSE 80
WORKDIR /var/www/html/
Expand All @@ -18,9 +32,12 @@ RUN apt-get update -qq && \
RUN docker-php-ext-install -j$(nproc) opcache pdo_mysql

# Apache
COPY config/prod/apache2/conf-available/swag.conf /etc/apache2/conf-available/swag.conf
COPY /config/prod/apache2/sites-enabled /etc/apache2/sites-enabled/
COPY app/ /var/www/html/
COPY config/${NODE_ENV}/apache2/conf-available/swag.conf /etc/apache2/conf-available/swag.conf
COPY /config/${NODE_ENV}/apache2/sites-enabled /etc/apache2/sites-enabled/
COPY --from=build /build/app/ /var/www/html/
COPY app/src/inc/${NODE_ENV}/ /var/www/html/inc/

RUN rm -rf /var/www/html/src

RUN mkdir -p /var/www/html/file/
RUN mkdir -p /var/www/html/db/
Expand Down
16 changes: 16 additions & 0 deletions app/inc/header.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<!DOCTYPE html>
<html lang="En">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Expand All @@ -22,3 +23,18 @@
<link rel="stylesheet" type="text/css" href="./assets/style/index.css" />
</head>
<div class="info" id="Build_info_div" style="position: fixed; bottom: 0px; width: 100%; z-index: 111; opacity: 0.9;transition: opacity 0.5s ease; pointer-events: none; ">
<h2>No Build version</h2>
</div>
<script>
function showOverlay() {
const overlay = document.getElementById('Build_info_div');
overlay.style.opacity = '0.9'
setTimeout(function() {
overlay.style.opacity = '0'
}, 10000); // 10 secondes
}
// Appeler la fonction pour afficher l'overlay toutes les 1 minute
setInterval(showOverlay, 30000); // 30 secondes
</script>
46 changes: 23 additions & 23 deletions app/public/api/connect.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php
$Dir_inc = '../../';
require_once $Dir_inc."config.php";
require_once $Dir_inc . "config.php";

if (!empty($_GET["session_vmix"])) {
$session_vmix = $_GET['session_vmix'];
Expand All @@ -10,53 +10,54 @@

if ($session_vmix && $session_vmix <> "N") {

$file = $Dir_inc."file/" . $session_vmix . ".xml";
$file = $Dir_inc . "file/" . $session_vmix . ".xml";

if (file_exists($file)) {

$timestamp_derniere_modif = filemtime($file);
$timestamp_derniere_modif = filemtime($file);

if ($timestamp_actuel - $timestamp_derniere_modif > 130){
http_response_code(201);
echo json_encode(array("reset" => "Le vmix n'a rien envoyé depuis plus de 130s"));
die();
}
if (file_exists($file)){
echo '<root>'.file_get_contents($file).'</root>';
if ($timestamp_actuel - $timestamp_derniere_modif > 130) {
http_response_code(201);
echo json_encode(array("reset" => "Le vmix n'a rien envoyé depuis plus de 130s"));
die();
}

echo '<root>' . file_get_contents($file) . '</root>';
die();
}

} else {
// Spécifiez le chemin du dossier
$directoryPath = $Dir_inc.'file/';
$directoryPath = $Dir_inc . 'file/';

// Initialiser un tableau pour stocker les informations des fichiers
$fileInfoArray = [];

// Filtrer les fichiers pour exclure les entrées "." et ".."
$filteredFiles = array_filter(scandir($directoryPath), function ($file) use ($Dir_inc, &$fileInfoArray) {
$filteredFiles = array_filter(scandir($directoryPath), function ($file) use ($Dir_inc, &$fileInfoArray) {
// Vérifier si le fichier existe
$dir_file = $Dir_inc.'file/'.$file;
$dir_file = $Dir_inc . 'file/' . $file;
if (file_exists($dir_file) && $file !== '.' && $file !== '..') {
// Obtenir le timestamp de la dernière modification du fichier
$timestamp_derniere_modif = filemtime($dir_file);

// Vérifier si le fichier a été modifié il y a plus de 5 minutes
if (time() - $timestamp_derniere_modif > 300) { // 300 secondes = 5 minutes
// Supprimer le fichier
unlink($dir_file);
return "";
}

// Charger le fichier XML
$xml = file_get_contents($dir_file);
$xml = simplexml_load_string('<root>' . (string)$xml . '</root>');

// Récupérer le contenu du nœud <preset>
$nomFichierSansChemin = preg_replace('#.*\\\#', '', (string)$xml->vmix->preset);
$nomFichierSansExtension = pathinfo($nomFichierSansChemin, PATHINFO_FILENAME);

// Extraire le nom du fichier du chemin complet
$nomFichier = pathinfo($file, PATHINFO_FILENAME);

// Stocker les informations dans le tableau
$fileInfoArray[] = [
'id' => $nomFichier,
Expand All @@ -70,13 +71,12 @@
echo json_encode($fileInfoArray);
die();
}

}else{
} else {
http_response_code(301);
echo json_encode(array("redirect" => "/lobby"));
die();
}

http_response_code(403);
echo json_encode(array("error" => "valeur envoi non conforme session_vmix !"));
die();
die();
Loading

0 comments on commit 82d58f4

Please sign in to comment.