Skip to content
forked from EwenDev/Oxilium

Application de ticketing interne, conçue et développée pour un projet universitaire.

Notifications You must be signed in to change notification settings

NoXeDev/Oxilium

 
 

Repository files navigation


Logo

Oxilium

Application de ticketing interne, conçue et développée pour le projet de Saé3.01.
Explorer la documentation »

PHP HTML CSS JS MYSQL DOCKER GITHUB APACHE

Sommaire
  1. Introduction
  2. Bien commencer
  3. Déploiement
  4. Tests
  5. Contributeurs

Introduction

Capture d'écran d'exemple

Oxilium est un service de ticketing interne. Le principe de la plateforme est de permettre à des utilisateurs de créer des tickets, qui pourront ensuite être gérés par des techniciens ou un administrateur web.

Oxilium regroupe plusieurs fonctionnalités principales. En voici une liste non exhaustive :

  • Création de ticket par les utilisateurs inscrits.
  • Possibilité pour un utilisateur non inscrit de demander de l'assistance via un ticket de la part d'un utilisateur inscrit.
  • Gestion de l'application par un utilisateur administrateur.
  • Possibilité aux techniciens de s'attacher à un ticket.
  • Visualisation des données dans des journaux par un administrateur système.
  • ...

(Retourner au début)

Bien commencer

Pré-requis

Pour commencer à travailler sur le projet, il vous faudra les outils suivants :

  • Un editeur de code qui supporte PHP (comme Visual Studio Code ou PhpStorm)
  • L'outil de virtualisation Docker qui permettra de déployer un environnement de test et de travaille en local
  • L'outil Git
  • Un navigateur récent (Chrome, Brave, Firefox, Opera, etc...)
  • De la patience..

Installation

Voici les différentes étapes pour préparer un environnement de travail correct pour travailler sur Oxilium

  1. Cloner le répository GitHub

    git clone https://github.com/Chokbardeb/Oxilium
  2. Se mettre sur la branche dev, qui est la branche de travail principal

    git checkout dev
  3. Installer Docker Desktop pour windows.

  4. Créer le fichier de configuration .env

    echo `
    "MYSQL_DATABASE=db`
    MYSQL_USER=user`
    MYSQL_PASSWORD=passwd`
    MYSQL_ROOT_PASSWORD=rootpasswd`
    PORT_HTTPS=8081`
    PORT_HTTP=8080"`
    > .env
  5. Lancer le container docker

    docker compose up --build --force-recreate
  6. (facultatif) Si vous voulez ouvrir un terminal mysql pour vous connecter à la BDD, ouvrez un nouveau terminal et utilisez cette commande :

    docker exec -it oxilium-db-1 bash -c "mysql -prootpasswd"

Contribution

Vous faites partie du projet Oxilium et vous souhaitez contribuer ? Pas de soucis, ce guide vous explique comment faire à l'aide de l'outil git et de la platforme github. Pour contribuer, il faudra en premier avoir suivi les étapes de l'installation.

Les commandes ci-dessous sont utilisables sur Git Bash, ou directement accessibles de manière intéractive depuis certains IDE ou encore le logiciel GitHub Desktop.

  1. Faites vous votre propre branche !

    Pour travailler convenablement sans entrer en conflit avec les modifications des autres contributeurs, il faudra vous créer votre propre branche, basée sur la branche dev.

    ATTENTION : Vous ne devez pas créer une branche a partir de "master", et encore moins effectuer des modifications directement sur celle-ci.

    Pour vous créer une branche, il faut entrer la commande ci-contre :

    git checkout -b <nom de votre nouvelle branche> dev

    Essayez de donner un nom cohérent à votre branche pour qu'elle puisse être facilement identifiée.

    Puis il faut push sa branche sur github :

    git push -u origin <le nom de votre branche>
  2. Faites vos modifications et commits :

    Rappel, pour faire un commit, ajoutez vos modifications :

    git add .

    Puis commit :

    git commit -m "modification de blablabla"

    Et enfin, on "push" (on upload son code sur la platforme distante, ici github) :

    git push

  3. Lorsque vous en avez fini avec votre branche il faut faire une "pull request", cela servira pour tout les autres contributeurs, à vérifier votre code, et à demander des modifications supplémentaires, ou rapporter des bugs. Pour cela, rendez-vous sur le projet github, et suivez la procédure ci-dessous :

    Rendez vous sur l'onglet "pull requests"

    Logo

    Puis cliquez sur le bouton "new pull request"

    Logo

    Ici il faut selectionner la branche "dev" sur le bouton de gauche, et votre branche sur le bouton de droite

    Logo

    Par la suite, il faudra appuyer sur le bouton "create pull request", lui donner un nom, et éventuellement une description, puis valider. Une fois ceci fait, vous tomberez sur un écran a peut prêt similaire : Logo

    Ici vous n'aurez plus rien a faire. Il faudra attendre l'approbation des autres pour pouvoir faire le merge final !

(Retourner au début)

Déploiement

Pour déployer le projet sur un serveur, voici les étapes a suivre :

  1. Avoir une distribution Debian sur un serveur.
  2. Installer Docker :
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

Puis :

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. Installer Git
sudo apt-get install git
  1. Cloner le repo github
git clone https://github.com/Chokbardeb/Oxilium && cd Oxilium
  1. Créer un fichier .env qui contiendra les configuration sécurisées (exemple : le mot de passe de la base de donnée)
printf \
	"MYSQL_DATABASE=<Nom de la base de donnée> \n\
	MYSQL_USER=<user mysql> \n\
	MYSQL_PASSWORD=<Mot de passe de la base de donnée> \n\
	MYSQL_ROOT_PASSWORD=<Mot de passe root de la BDD> \n\
	APACHE_HOSTNAME=<nom de domaine> \n\
  PORT_HTTPS=<port https> \n\
  PORT_HTTP=<port http>" \
	> .env
  1. Lancer la construction et le lancement de l'image Docker
sudo docker compose up -d
  1. Oxilium est maintenant disponible depuis : http://<ip du serveur>/

Tests

Pour executer les tests unitaires de l'application vous aurez besoin que d'une seule commande :

docker compose -f docker-tests.yml up --abort-on-container-exit --exit-code-from test --attach test --build --force-recreate

Contributeurs

NoXeDev
NoXeDev
EwenDev
EwenDev
ComeRegnier
ComeRegnier
MaxOuvrard
MaxOuvrard
ldv500
ldv500

About

Application de ticketing interne, conçue et développée pour un projet universitaire.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 98.1%
  • JavaScript 1.4%
  • Other 0.5%