Compare commits

...

13 Commits

Author SHA1 Message Date
IDEZ Ugo
4b54b7afc4 UPDATE 2022-02-11 16:25:19 +01:00
IDEZ Ugo
4ffb4f5de8 onfinfra 2022-02-11 16:01:16 +01:00
de Bastiani Bruno
d1ea47881e Scans NMAP 2022-02-10 16:34:37 +01:00
de Bastiani Bruno
f43128e7b9 Ajout des fichiers de test goss et du playbook d'installation GLPI 2022-02-10 16:27:53 +01:00
0889769008 Mise à jour de 'AP4/onfarbo41/ansible/roles/adminer/tasks/main.yml' 2022-02-10 14:25:01 +01:00
eeff416aea Mise à jour de 'AP4/onfarbo41/ansible/roles/adminer/tasks/main.yml' 2022-02-10 10:48:20 +01:00
713f0d2996 Mise à jour de 'AP4/onfarbo41/ansible/playbook.yml' 2022-02-09 16:09:15 +01:00
IDEZ Ugo
ca000e0b57 Playbook onfarbo41 2022-02-09 16:05:53 +01:00
IDEZ Ugo
e428c52cbe WireGuard 2022-02-09 15:01:11 +01:00
IDEZ Ugo
689aa9faa2 WireGuard 2022-02-09 14:55:41 +01:00
IDEZ Ugo
254b9810be Tests Goss 2022-02-08 09:06:20 +01:00
IDEZ Ugo
47b4a07b23 Ansible Onfarbo 2022-02-07 17:37:14 +01:00
IDEZ Ugo
79bf771c49 Ansible onfarbo 2022-02-07 16:52:24 +01:00
67 changed files with 1629 additions and 0 deletions

View File

@ -0,0 +1,8 @@
- name: Playbook pour adminer
hosts: onfarbo
become: yes
become_method: sudo
become_user: root
roles:
- adminer

View File

@ -0,0 +1,8 @@
- name: Playbook pour la BDD
hosts: onfarbo
become: yes
become_method: sudo
become_user: root
roles:
- db

View File

@ -0,0 +1,8 @@
- name: Playbook pour le dokuwiki
hosts: onfarbo
become: yes
become_method: sudo
become_user: root
roles:
- dokuwiki

View File

@ -0,0 +1,2 @@
[onfarbo]
onfarbo41

View File

@ -0,0 +1,10 @@
- name: Playbook pour onfarbo41
hosts: onfarbo
become: yes
become_method: sudo
become_user: root
roles:
- adminer
- db
- dokuwiki

View File

@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).

View File

@ -0,0 +1,4 @@
- name: restart apache
service:
name: apache2
state: restarted

View File

@ -0,0 +1,34 @@
- name: apt update
tags: update
apt:
update-cache: yes
cache_valid_time: 3600
- name: install utils
tags: utils
apt:
name:
- apache2
- php
- php-common
- libapache2-mod-php
- php-cli
- php-xml
- php-mysql
- php-curl
- mariadb-server
- adminer
- python3-pymysql
state: present
- name: On créer un lien symbolique
tags: link
file:
src: /usr/share/adminer/adminer
dest: /var/www/html/adminer
state: link
- name: Message d'information
tags: msg
debug: msg="Adminer sera accessible depuis l'adresse http://onfarbo41/adminer.php"

View File

@ -0,0 +1 @@
alias: "Alias /adminer.php /usr/share/adminer/adminer.php"

View File

@ -0,0 +1,4 @@
- name: restart apache
service:
name: apache2
state: restarted

View File

@ -0,0 +1,20 @@
- name: On démarre MariaDB
tags: mariadb
service:
name: mysql
state: started
- name: Création de la BDD bdarbre
tags: bdarbre
mysql_db:
login_unix_socket: /var/run/mysqld/mysqld.sock
name: bdarbre
- name: Création de l'utilisateur slam
tags: user
mysql_user:
name: slam
password: Azerty1+
priv: '*.*:ALL,GRANT'
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock

View File

@ -0,0 +1,20 @@
#!/bin/bash
chemin=/var/www/html/doku
apt install -y apache2 php php-mbstring php-gd php-xml
cd /root
[ -r dokuwiki-stable.tgz ] || wget http://depl/store/dokuwiki-stable.tgz
if [ $? !=0 ]; then
echo "$0 : erreurwget" 1>&2
exit 1
fi
tar xvfz dokuwiki-stable.tgz
[ -d "${chemin}" ] || mkdir "${chemin}"
cp -a dokuwiki-2020-07-29/* "${chemin}"
cd "${chemin}"
chown -R root:root .
chmod -R 755 .
chown -R www-data:www-data data lib conf
exit 0

View File

@ -0,0 +1,4 @@
- name: restart apache
service:
name: apache2
state: restarted

View File

@ -0,0 +1,26 @@
- name: Création du dossier DokuWiki
tags: createfile
file:
path: /root/dokuwiki
state: directory
mode: 0755
- name: copie du fichier script d'install de dokuwiki
tags: sh
copy:
src: dokuwiki.sh
dest: /root/dokuwiki
- name: On rend exécutable le script d'install
tags: chmod
file:
path: /root/dokuwiki/dokuwiki.sh
mode: 0755
- name: exécution du script d'install de dokuwiki
tags: exec
command: bash /root/dokuwiki/dokuwiki.sh
- name: Message d'information pour dokuwiki
tags: msg2
debug: msg="Le dokuwiki devra être installer depuis l'adresse http://onfarbo41/doku/install.php"

View File

@ -0,0 +1,36 @@
#Ici, on test MariaDB
port:
tcp:3306:
listening: true
ip:
- 127.0.0.1
#Ici, on test ssh
service:
ssh:
enabled: true
running: true
group:
ssh:
exists: true
gid: 111
#Ici, on test le serveur web
http:
http://10.121.38.206:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- works
#Ici, on test dokuwiki
http:
http://10.121.38.206/doku/:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- Trace

View File

@ -0,0 +1,5 @@
---
- hosts: localhost
connection: local
roles:
- glpi

View File

@ -0,0 +1,10 @@
depl_url: "http://depl/store"
glpi_tgz: "glpi-9.5.7.tgz"
fusion: "fusioninventory-9.5+3.0.tar.bz2"
fusion64: "fusioninventory-agent_windows-x64_2.6.exe"
glpi_dir: "/var/www/html/glpi"
glpi_dbhost: "127.0.0.1"
glpi_dbname: "glpi"
glpi_dbuser: "glpi"
glpi_dbpasswd: "glpi"

View File

@ -0,0 +1,12 @@
DocumentRoot /var/www/glpi
<Directory /var/www/glpi>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
AuthType Basic
</Directory>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
ErrorLog ${APACHE_LOG_DIR}/glpi_error.log

View File

@ -0,0 +1,3 @@
[client]
user=root
password=root

View File

@ -0,0 +1,18 @@
---
- name: restart php-fpm
service:
name: php-fpm
state: restarted
enabled: yes
- name: restart nginx
service:
name: nginx
state : restarted
enabled: yes
- name: restart mariadb-server
service:
name: mariadb-server
state: restarted
enabled: yes

View File

@ -0,0 +1,134 @@
---
- name: Installation des paquets
apt:
state: latest
name:
- nginx
- php-fpm
- php-mbstring
- php-mysql
- php-gd
- php-curl
- php-xml
- php-apcu
- php-ldap
- php-imap
- php-xmlrpc
- php-cas
- python3-mysqldb
- mariadb-server
- python3-pymysql
- php-intl
- php-bz2
- php-zip
- postfix
- mailutils
- name: Changement listen dans le fichier conf de php
replace:
dest: /etc/php/7.4/fpm/pool.d/www.conf
regexp: 'listen = /run/php/php7.4-fpm.sock'
replace: 'listen = 127.0.0.1:9000'
backup: yes
- name: Effacement block nginx default
file:
path: /etc/nginx/sites-enabled/default
state: absent
- name: Creation fichier block nginx
template:
src: block.j2
dest: /etc/nginx/sites-enabled/glpi
- name: Remplacement dans le fichier de conf php du timeout
replace:
dest: /etc/php/7.4/fpm/php.ini
regexp: 'max_execution_time = 30'
replace: 'max_execution_time = 600'
backup: yes
notify:
- restart nginx
- name: Creation de la base de donnee mysql
mysql_db:
name: "{{ glpi_dbname }}"
check_implicit_admin: yes
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: Creation de l'utilisateur mysql avec tous les privileges
mysql_user:
user: "{{ glpi_dbuser }}"
password: "{{ glpi_dbpasswd }}"
priv: "*.*:ALL,GRANT"
login_unix_socket: /var/run/mysqld/mysqld.sock
state: present
# with_items:
# - 127.0.0.1
- name: Creation du repertoire {{ glpi_dir }}
file:
path: "{{ glpi_dir }}"
state: directory
owner: www-data
group: www-data
- name: Installation de GLPI
unarchive:
src: "{{ depl_url }}/{{ glpi_tgz }}"
dest: /var/www/html
remote_src: yes
owner: www-data
group: www-data
- name: Changement des attributs {{ glpi_dir }}
file:
path: "{{ glpi_dir }}"
owner: www-data
group: www-data
mode: 0755
recurse: yes
- name: Changement des attributs {{ glpi_dir }}/plugins
file:
path: "{{ glpi_dir }}/plugins"
mode: 0777
owner: www-data
group: www-data
recurse: yes
- name: Installation de Fusioninventory pour Linux
unarchive:
src: "{{ depl_url }}/{{ fusion }}"
dest: "/var/www/html/glpi/plugins"
remote_src: yes
- name: Creation de ficlient
file:
path: /var/www/html/ficlients
state: directory
owner: www-data
group: www-data
mode: 0775
- name: Attribution des droits nginx.index
file:
path: /var/www/html/index.nginx-debian.html
owner: www-data
group: www-data
mode: 0775
- name: Installation de FusionInventory windows x64
get_url:
url: "{{ depl_url }}/{{ fusion64 }}"
dest: "/var/www/html/ficlients"
- name: Attribution des permissions sur repertoire /plugins/fusioninventory
file:
path: /var/www/html/glpi/plugins/fusioninventory
owner: www-data
group: www-data
recurse: yes
state: directory

View File

@ -0,0 +1,23 @@
server {
listen 80 default_server;
root {{ glpi_dir }};
index index.php;
server_name localhost;
location / {try_files $uri $uri/ index.php;}
#prise en charge PHP
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param SERVER_NAME $host;
}
location /ficlients {
root /var/www/html;
autoindex on;
}
}

View File

@ -0,0 +1,39 @@
port:
tcp:80:
listening: true
ip:
- 0.0.0.0
tcp:3306:
listening: true
ip:
- 127.0.0.1
service:
mysql:
enabled: true
running: true
user:
mysql:
exists: true
uid: 106
gid: 112
groups:
- mysql
home: /nonexistent
shell: /bin/false
group:
mysql:
exists: true
gid: 112
interface:
enp0s3:
exists: true
addrs:
- 192.168.2.12/24
- fe80::a00:27ff:fea2:45fd/64
mtu: 1500
enp0s8:
exists: true
addrs:
- 192.168.0.39/24
- fe80::a00:27ff:fe66:36e3/64
mtu: 1500

53
AP4/onfinfra/rest/rest.sh Executable file
View File

@ -0,0 +1,53 @@
#!/bin/bash
HOST=sio@onfarbo41
usage() {
echo -e "Usage: $0 [-f] <compressed dumpfile>\n\t-f: force mode\n\t-h: this help\n" 1>&2; exit 1; }
restore() {
zcat "${filename}" | ssh "${HOST}" "mysql -u slam -pAzerty1+ bdarbre"
}
confirm() {
read -r -n 1 -p "${1:-Confirmer?} [o/n]: " REPLY
case "${REPLY}" in
[oO]) echo ; restore ;;
[nN]) echo ; exit 1 ;;
*) printf " \033[31m %s \n\033[0m" "Entrée non valide"
esac
}
while getopts "fh" OPT
do
case "${OPT}" in
f)
forcemode=1
;;
h)
usage
exit 0
;;
esac
done
shift $((OPTIND-1))
filename="${1}"
if [[ -z "${filename}" ]] ; then
usage
fi
if [[ ! -r "${filename}" ]] ; then
echo "erreur ouverture fichier"
exit 1
fi
if [[ "${forcemode}" == 1 ]]; then
restore
exit 0
else
confirm
exit 0
fi
exit 0

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,38 @@
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<h1>Affectation</h1>
<form id="formAffect" method="POST">
<div id="divCalendar">
<input type="date" id="selectD">
</div>
<div id="divBucheron">
<select name="selectBuch" id="selectBuch" size="15">
</select>
</div>
<div name="divSecteur" id="divSecteur">
<select name="selectSecteur" id="selectSecteur" size="15">
</select>
</div>
<div name="divEspece" id="divEspece">
<input type="text" id="choixEspece">
<select id="selectEspece" id="selectEspece">
</select>
</div>
</form>
</body>
<script src="js/main.js"></script>
</html>

View File

@ -0,0 +1,23 @@
<?php
class BucheronSQL {
private $_laConnexion;
function __construct() {
$this->_laConnexion = new Connexion();
}
function readAllBucheron() {
$stmt = $this->_laConnexion->dbh()->prepare("SELECT id, nom, prenom FROM bucheron");
$valid = $stmt->execute();
if (!$valid) {
$this->_laConnexion->afficherErreurSQL("Erreur recherche bucherons");
}
// Parcours du jeu d'enregistrement
//Retourne dans un array
$tabBuchron = array("lesBucherons" => $stmt->fetchAll(PDO::FETCH_ASSOC));
return $tabBuchron;
}
}

View File

@ -0,0 +1,42 @@
<?php
/**
* Description of Connexion *
* @author Dominique_2
*/
class Connexion {
private $_dbh; // Chaine de connexion
/**
* Connexion persistante au serveur
* @return \PDO Connexion
*/
public function __construct(){
// Définition des variables de connexion
$user = "adminbdarbre";
$pass = "mdpbdarbre";
$dsn ='mysql:host=localhost;dbname=bdarbre'; //Data Source Name
// Connexion
try {
$this->_dbh = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT=>true,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); // Connexion persistante
}
catch (PDOException $e) {
die("Erreur : " . $e->getMessage());
}
}
/** afficherErreurSQL :
* Affichage de messages lors l'accès à la bdd avec une requete SQL
* @param $message : message a afficher
*/
function afficherErreurSQL($message, $sql="") {
echo $message . "<br />" . $sql . "<br />";
$info = $this->_dbh->errorInfo();
echo "Code erreur : " . $info[0] . ", Message : " . $info[2];
die();
}
function dbh() {
return $this->_dbh;
}
}

View File

@ -0,0 +1,34 @@
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of EspeceSQL
*
* @author pierre.perdigues
*/
class EspeceSQL {
private $_laConnexion;
function __construct() {
$this->_laConnexion = new Connexion();
}
function readEspeceAddr($adresse) {
$stmt = $this->_laConnexion->dbh()->prepare("SELECT DISTINCT libelle FROM espece INNER JOIN arbre ON espece.id = arbre.idEspece WHERE arbre.idAdresse=:adr");
$stmt->bindValue(':adr', $adresse);
$valid = $stmt->execute();
if (!$valid) {
$this->_laConnexion->afficherErreurSQL("Erreur recherche espece");
}
//Retourne dans un array
$tabEspece = array("lesEspeces" => $stmt->fetchAll(PDO::FETCH_ASSOC));
return $tabEspece;
}
}

View File

@ -0,0 +1,34 @@
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of SecteurSQL
*
* @author pierre.perdigues
*/
class SecteurSQL {
private $_laConnexion;
function __construct() {
$this->_laConnexion = new Connexion();
}
function readAllSecteur() {
$stmt = $this->_laConnexion->dbh()->prepare("SELECT * FROM adresse");
$valid = $stmt->execute();
if (!$valid) {
$this->_laConnexion->afficherErreurSQL("Erreur recherche bucherons");
}
// Parcours du jeu d'enregistrement
//Retourne dans un array
$tabSecteur = array("lesSecteurs" => $stmt->fetchAll(PDO::FETCH_ASSOC));
return $tabSecteur;
}
}

View File

@ -0,0 +1,13 @@
#divBucheron {
padding-top: 5vh;
}
#divSecteur{
float: left;
padding-top: 5vh;
}
#dataListEspeces {
float: right;
margin-left: 80vw;
}

View File

@ -0,0 +1,22 @@
<?php
/* Chargement des classes nécessaies à partir des 2 répertoires possibles */
spl_autoload_register('chargerClasse');
/* $path_current = dirname( __FILE__ );
echo "Chemin : " . $path_current; */
function chargerClasse($class) {
$directorys = array(
'../bdd/',
'../metier/',
'bdd/',
'metier/'
);
foreach($directorys as $directory) {
//see if the file exists
if(file_exists($directory.$class.'.php')) {
require_once($directory.$class.'.php');
break;
}
}
}

View File

@ -0,0 +1,21 @@
<?php
date_default_timezone_set('Europe/Paris');
$day = array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday");
//Si c'est la fin de la semaine
if (date('d-m-Y', strtotime("now")) == date('d-m-Y', strtotime("Friday"))) {
for ($i = 0; $i < count($day); $i++) {
echo '<option>' . date('d-m-Y', strtotime("next".$day[$i])) . "</option>";
}
} //Si c'est le début de la semaine
else{
for ($i = 0; $i < count($day); $i++) {
echo '<option>' . date('d-m-Y', strtotime("this week".$day[$i])) . "</option>";
}
};
/*On peux comaprer les dates pour savoir si la date d'ajourd'hui est plus grande que celle d'hier
if (strtotime("now") > strtotime($day[0])) {
echo 'coucou';
};
echo date("d-m-y", strtotime("this week monday"));*/

View File

@ -0,0 +1,14 @@
<?php
/**************************************************************************
* getProduit.php : Recherche les produits *
* pour alimenter la liste deroulante zlProduit *
***************************************************************************/
header("Content-type:application/json");
include_once 'chargementClasses.php';
//Recupération des prodtuis
$buchSQL = new BucheronSQL();
$lesBucherons = $buchSQL->readAllBucheron();
//Mise en format JSON
echo(json_encode($lesBucherons));
?>

View File

@ -0,0 +1,19 @@
<?php
header("Content-type:application/json");
include_once 'chargementClasses.php';
// Verification existence d'un produit selectionne
if (isset($_REQUEST['selectSecteur'])) {
recupEspece();
} else {
echo 'rien préciser';
}
function recupEspece() {
$idAddr = $_REQUEST['selectSecteur'];
$especeSQL = new EspeceSQL();
$lesEspeces = $especeSQL->readEspeceAddr($idAddr);
echo(json_encode($lesEspeces));
}
?>

View File

@ -0,0 +1,10 @@
<?php
header("Content-type:application/json");
include_once 'chargementClasses.php';
//Recupération des prodtuis
$secteurSQL = new SecteurSQL();
$lesSecteurs = $secteurSQL->readAllSecteur();
//Mise en format JSON
echo(json_encode($lesSecteurs));
?>

View File

@ -0,0 +1,93 @@
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>Accueil</h1>
<button>Affectation</button>
<br>
<div>
<input type="checkbox" id="filtre1" />Affiche que class 1
<input type="checkbox" id="filtre2" />Affiche que class 2
<input type="checkbox" id="filtre3" />Affiche que class 3
<br>
<br>
<form id="coucou">
<input type="checkbox" class="1" value="case2" ><a>Choix class 1</a><br>
<input type="checkbox" class="1" value="case3"><a>Choix class 1</a><br>
<input type="checkbox" class="2" value="case4"><a>Choix class 2</a><br>
<input type="checkbox" class="2" value="case5"><a>Choix class 2</a><br>
<input type="checkbox" class="2" value="case6"><a>Choix class 2</a><br>
<input type="checkbox" class="3" value="case7"><a>Choix class 3</a><br>
</form>
<button id="btn">COUCOU BOUTTON</button>
</div>
</body>
<script>
var tableDonne = [];
document.querySelector('button').onclick = function () {
window.location.href = "affectation.php";
}
var list = document.getElementById('coucou');
for (i = 0; i < list.length; i++) {
list[i].addEventListener("click", function () {
if (this.checked == true) {
tableDonne.push(this.value);
console.log(tableDonne);
console.log(this.checked);
}
if (this.checked == false) {
var pos = tableDonne.indexOf(this.value);
console.log(tableDonne.indexOf(this.value))
tableDonne.splice(pos, 1);
console.log(this.value);
console.log(tableDonne);
}
})
}
/*document.getElementById("filtre1").onclick = function () {
console.log(document.getElementById("filtre1").checked);
var list = document.getElementById('coucou');
if (document.getElementById("filtre1").checked == true)
{
for (i = 0; i < list.length; i++) {
if (list[i].className != 1) {
list[i].hidden = true;
list[i].nextSibling.hidden = true;
}
}
} else {
for (i = 0; i < list.length; i++) {
if (list[i].className != 1) {
list[i].hidden = false;
list[i].nextSibling.hidden = false;
}
}
}
}
document.getElementById("btn").onclick = function () {
var form = document.getElementById("coucou");
for (i = 0; i<form.length; i++) {
if (form[i].checked == true) {
console.log(form[i]);
}
}
}*/
</script>
</html>

View File

@ -0,0 +1,210 @@
//Cache et Iniitilise les différents element graphique de selection
var zSelBuch = document.getElementById("selectBuch");
var zSelSect = document.getElementById("selectSecteur");
var searchEspece = document.getElementById("choixEspece");
var zAffichEspece = document.getElementById("selectEspece");
zSelBuch.hidden = true;
zSelSect.hidden = true;
searchEspece.hidden = true;
zAffichEspece.hidden = true;
//Script pour le calendrier
var verrif = 0;
var alertActive = 0;
document.getElementById('selectD').onchange = function () {
var dateSelect = document.getElementById('selectD').value;
var date = Date.now();
if (Date.parse(dateSelect) < date) {
alert("Date déjà passer")
alertActive = 1;
document.getElementById("selectBuch").hidden = true;
document.getElementById("selectSecteur").hidden = true;
}
if (verrif == 0 && alertActive == 0) {
getBucheron();
document.getElementById("selectBuch").hidden = false;
verrif = 1;
}
alertActive = 0
console.log(alertActive + "alert");
console.log(verrif + "verif");
}
//Fin calendrier
selectBuch.onclick = function () {
var bucheron = zSelBuch.options[zSelBuch.selectedIndex].value;
console.log("bucheron =" + bucheron);
getSecteur()
}
selectSecteur.onclick = function () {
var secteur = zSelSect.options[zSelSect.selectedIndex].value;
console.log("secteur = " + secteur)
getEspece(secteur);
}
function cherche(catalog) {
//Appel la methode qui charge tous les produits
document.getElementById("choixEspece").addEventListener("keyup", function () {
//Initialise la variable options qui contiendra tout le html a integrer
AffichEspace(catalog, filtre.value);
})
}
function getBucheron() {
var file = "include/getBucheron.php"
var argument, valArgument = null;
getAll(zSelBuch, file, argument, valArgument);
}
function getSecteur() {
var file = "include/getSecteur.php";
var argument, valArgument = null;
getAll(zSelSect, file, argument, valArgument);
}
function getEspece(secteur) {
var file = "include/getEspece.php"
var argument = "selectSecteur="
getAll(searchEspece, file, argument, secteur)
}
function getAll(placeHTML, fichierPHP, argument, valArgument) {
var options = "";
placeHTML.innerHTML = "";
// Construction de la requ<71>te
httpRequest = new XMLHttpRequest();
// Code s'ex<65>cutant quand la r<>ponse du serveur est arriv<69>e
httpRequest.onreadystatechange = function () {
if (httpRequest.readyState === XMLHttpRequest.DONE) {
// tout va bien, une r<>ponse a <20>t<EFBFBD> re<72>ue
if (httpRequest.status === 200) {
// Succ<63>s
//Recupération des données sous forme JSON
var json = JSON.parse(httpRequest.responseText);
/* Mise de ce résultat dans une autre fonction (ce qui évite d'utiliser la fonction de base
* qui effectue une requette a chaque fois*/
var file = json;
//Appel de la methode cherche qui met en place le système de recherche
//Appel de la methode d'affichage de tout les produits
//produitBase(file, filtre.value);
if (placeHTML == zSelBuch) {
afficheBucheron(file);
}
if (placeHTML == zSelSect) {
afficheSecteur(file);
}
if (placeHTML == searchEspece) {
console.log("search")
cherche(file);
zAffichEspece.hidden = false;
}
} else {
alert("Erreur, status : " + httpRequest.status);
// il y a eu un probl<62>me avec la requ<71>te,
// par exemple la r<>ponse peut <20>tre un code 404 (Non trouv<75>e)
// ou 500 (Erreur interne au serveur)
}
} else {
// pas encore pr<70>te
}
};
// Initialisation et envoi de la requ<71>te
httpRequest.open('POST', fichierPHP, true);
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
if (argument == null && valArgument == null) {
httpRequest.send();
} else {
httpRequest.send(argument + escape(valArgument));
}
}
function afficheBucheron(listB) {
verrif = 0;
//Initialisation de la variable affiche qui contiendra tout le html a intégrer
var options = "";
//parcours la liste des bucherons
for (var i = 0; i < listB.lesBucherons.length; i++) {
//Recupération des informations.
var id = listB.lesBucherons[i].id;
var nom = listB.lesBucherons[i].nom;
var prenom = listB.lesBucherons[i].prenom;
var complet = nom + " " + prenom;
//ajout du code HTML pour afficher les bucherons dans le select
options += "<option value='" + id + "'>" + complet + "</option>;"
}
//Insertion de la variable dans le html
document.getElementById("selectBuch").innerHTML = options;
}
function afficheSecteur(listS) {
zSelSect.hidden = false;
//Initialisation de la variable affiche qui contiendra tout le html a intégrer
var options = "";
//parcours la liste des bucherons
for (var i = 0; i < listS.lesSecteurs.length; i++) {
//Recupération des informations.
var id = listS.lesSecteurs[i].id;
var libelle = listS.lesSecteurs[i].libelle;
//ajout du code HTML pour afficher les bucherons dans le select
options += "<option value='" + id + "'>" + libelle + "</option>;"
}
//Insertion de la variable dans le html
zSelSect.innerHTML = options;
}
/*function cherche(listE) {
searchEspece.parentNode.hidden = false;
//Initialisation de la variable affiche qui contiendra tout le html a intégrer
var options = "";
//parcours la liste des bucherons
for (var i = 0; i < listE.lesEspeces.length; i++) {
//Recupération des informations.
var libelle = listE.lesEspeces[i].libelle;
//ajout du code HTML pour afficher les bucherons dans le select
options += "<option value='" + libelle + "'/>"
}
//Insertion de la variable dans le html
searchEspece.innerHTML = options;
}
*/
function AffichEspace(catalog, saisie) {
//Initialisation de la variable affiche qui contiendra tout le html a intégrer
var options = "";
//si la zone de saisie n'est pas vide, continue la methode
if (saisie != "") {
//parcours la liste des produit
for (var i = 0; i < catalog.lesEpeces.length; i++) {
//Si la chaine est contenue au début d'un num d'un des elements js, n'affiche que celui ci
if (catalog.lesEpeces[i].libelle.toLowerCase().indexOf(saisie.toLowerCase()) == 0) {
//Recupération des informations.
var libelle = catalog.lesEpeces[i].libelle;
//ajout du code HTML pour afficher les produits dans la variable
opt = "<option value='" + libelle + "'>" + libelle + "</option>;"
/*Si l'id du produit est différent d'une des valeurs des balise option
* présent dans zlProduit alors ajoute ce dernier dans la variable qui servira pour
* integrer le html dans zlProduit*/
if (zAffichEspece.querySelectorAll("option").value != id)
//incrémenation de la variable
options += opt;
}
}
//Insertion de la variable dans le html
zAffichEspece.innerHTML = options;
} else {
var affiche = "";
for (var i = 0; i < catalog.lesEpeces.length; i++) {
//Recupération des informations
var id = catalog.lesEpeces[i].id;
var libelle = catalog.lesEpeces[i].libelle;
//ajout du code HTML pour afficher les produits dans la variable
affiche += "<option value='" + id + "'>" + libelle + "</option>;"
//le "+=" veux dire de prendre l'ancien résultat et de l'addition avec le nouveau
}
//Insertion dans le html
zAffichEspece.innerHTML = affiche;
}
}

View File

@ -0,0 +1,70 @@
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Bucheron
*
* @author pierre.perdigues
*/
class Bucheron {
private $_id;
private $_nom;
private $_prenom;
private $_login;
private $_mdp;
public function __construct($_id, $_nom, $_prenom, $_login, $_mdp) {
$this->_id = $_id;
$this->_nom = $_nom;
$this->_prenom = $_prenom;
$this->_login = $_login;
$this->_mdp = $_mdp;
}
public function id() {
return $this->_id;
}
public function nom() {
return $this->_nom;
}
public function prenom() {
return $this->_prenom;
}
public function login() {
return $this->_login;
}
public function mdp() {
return $this->_mdp;
}
public function setId($_id): void {
$this->_id = $_id;
}
public function setNom($_nom): void {
$this->_nom = $_nom;
}
public function setPrenom($_prenom): void {
$this->_prenom = $_prenom;
}
public function setLogin($_login): void {
$this->_login = $_login;
}
public function setMdp($_mdp): void {
$this->_mdp = $_mdp;
}
}

View File

@ -0,0 +1,6 @@
copy.src.files=false
copy.src.on.open=false
copy.src.target=/var/www/PhpProject3
index.file=index.php
run.as=LOCAL
url=http://localhost/PHPProjects/Bucheron/

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/css/style.css</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/index.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/include/getSecteur.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/bdd/BucheronSQL.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/affectation.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/include/chargementClasses.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/js/main.js</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/include/getBucheron.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/include/gestionDate.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/include/getEspece.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/bdd/EspeceSQL.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/bdd/SecteurSQL.php</file>
<file>file:/home/pierre.perdigues/PHPProjects/Bucheron/bdd/Connexion.php</file>
</group>
</open-files>
</project-private>

View File

@ -0,0 +1,10 @@
auxiliary.org-netbeans-modules-php-editor.fluent_2e_setter_2e_project_2e_property=false
auxiliary.org-netbeans-modules-php-editor.getter_2e_setter_2e_method_2e_name_2e_generation=AS_JAVA
auxiliary.org-netbeans-modules-php-editor.public_2e_modifier_2e_project_2e_property=true
include.path=${php.global.include.path}
php.version=PHP_80
source.encoding=UTF-8
src.dir=.
tags.asp=false
tags.short=false
web.root=.

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.php.project</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/php-project/1">
<name>Bucheron</name>
</data>
</configuration>
</project>

10
AP4/onfinfra/sv/svbdd-h.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
datem=$(date +%W)
dates=$(($datem %4))
host=sio@10.121.38.95
#sv hebdomadaires avec rotation sur 4 semaines
scp $host:/home/frederic.duhin/PHPProjects/ProjetBucheron/bdarbre.sql /root/sv/bdarbre-$dates.sql
gzip bdarbre-$dates.sql;mv bdarbre-$dates.sql.gz hebdomadaires/

9
AP4/onfinfra/sv/svbdd-j.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
datej=$(date +%u)
host=sio@10.121.38.95
#sv journalières avec rotation sur 5 jours
scp $host:/home/frederic.duhin/PHPProjects/ProjetBucheron/bdarbre.sql /root/sv/bdarbre-$datej.sql
gzip bdarbre-$datej.sql;mv bdarbre-$datej.sql.gz journalieres/

5
AP4/onfinfra/sv/svphp.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
host=sio@10.121.38.96
#sv de l'application PHP
scp -r $host:/home/pierre.perdigues/ProjetBucheron/Bucheron /root/sv/sauvegardephp/

View File

@ -0,0 +1,120 @@
Starting Nmap 7.80 ( https://nmap.org ) at 2022-02-10 15:14 CET
NSE: Loaded 151 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 15:14
Completed NSE at 15:14, 0.00s elapsed
Initiating NSE at 15:14
Completed NSE at 15:14, 0.00s elapsed
Initiating NSE at 15:14
Completed NSE at 15:14, 0.00s elapsed
Initiating ARP Ping Scan at 15:14
Scanning 192.168.2.1 [1 port]
Completed ARP Ping Scan at 15:14, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 15:14
Completed Parallel DNS resolution of 1 host. at 15:14, 0.00s elapsed
Initiating SYN Stealth Scan at 15:14
Scanning onfdc.onf41.lan (192.168.2.1) [1000 ports]
Discovered open port 53/tcp on 192.168.2.1
Discovered open port 139/tcp on 192.168.2.1
Discovered open port 135/tcp on 192.168.2.1
Discovered open port 445/tcp on 192.168.2.1
Discovered open port 88/tcp on 192.168.2.1
Discovered open port 3269/tcp on 192.168.2.1
Discovered open port 636/tcp on 192.168.2.1
Discovered open port 464/tcp on 192.168.2.1
Discovered open port 593/tcp on 192.168.2.1
Discovered open port 3268/tcp on 192.168.2.1
Discovered open port 389/tcp on 192.168.2.1
Completed SYN Stealth Scan at 15:14, 4.67s elapsed (1000 total ports)
Initiating Service scan at 15:14
Scanning 11 services on onfdc.onf41.lan (192.168.2.1)
Stats: 0:01:03 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan
Service scan Timing: About 90.91% done; ETC: 15:15 (0:00:06 remaining)
Completed Service scan at 15:16, 141.12s elapsed (11 services on 1 host)
Initiating OS detection (try #1) against onfdc.onf41.lan (192.168.2.1)
NSE: Script scanning 192.168.2.1.
Initiating NSE at 15:16
Completed NSE at 15:17, 40.11s elapsed
Initiating NSE at 15:17
Completed NSE at 15:17, 23.52s elapsed
Initiating NSE at 15:17
Completed NSE at 15:17, 0.00s elapsed
Nmap scan report for onfdc.onf41.lan (192.168.2.1)
Host is up (0.00053s latency).
Not shown: 989 filtered ports
PORT STATE SERVICE VERSION
53/tcp open domain?
| fingerprint-strings:
| DNSVersionBindReqTCP:
| version
|_ bind
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2022-02-10 14:14:26Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: onf41.lan, Site: Default-First-Site-Name)
445/tcp open microsoft-ds Windows Server 2016 Standard 14393 microsoft-ds (workgroup: onf41)
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: onf41.lan, Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.80%I=7%D=2/10%Time=62051DC9%P=x86_64-pc-linux-gnu%r(DNSV
SF:ersionBindReqTCP,20,"\0\x1e\0\x06\x81\x04\0\x01\0\0\0\0\0\0\x07version\
SF:x04bind\0\0\x10\0\x03");
MAC Address: 08:00:27:D0:A5:B6 (Oracle VirtualBox virtual NIC)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows 2016
OS CPE: cpe:/o:microsoft:windows_server_2016
OS details: Microsoft Windows Server 2016
Uptime guess: 0.027 days (since Thu Feb 10 14:38:47 2022)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=261 (Good luck!)
IP ID Sequence Generation: Incremental
Service Info: Host: ONFDC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -20m02s, deviation: 34m38s, median: -2s
| nbstat: NetBIOS name: ONFDC, NetBIOS user: <unknown>, NetBIOS MAC: 08:00:27:d0:a5:b6 (Oracle VirtualBox virtual NIC)
| Names:
| ONFDC<00> Flags: <unique><active>
| ONF41<1c> Flags: <group><active>
| ONF41<00> Flags: <group><active>
| ONFDC<20> Flags: <unique><active>
|_ ONF41<1b> Flags: <unique><active>
| smb-os-discovery:
| OS: Windows Server 2016 Standard 14393 (Windows Server 2016 Standard 6.3)
| Computer name: onfdc
| NetBIOS computer name: ONFDC\x00
| Domain name: onf41.lan
| Forest name: onf41.lan
| FQDN: onfdc.onf41.lan
|_ System time: 2022-02-10T15:16:43+01:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
| smb2-security-mode:
| 2.02:
|_ Message signing enabled and required
| smb2-time:
| date: 2022-02-10T14:16:43
|_ start_date: 2022-02-10T13:39:07
TRACEROUTE
HOP RTT ADDRESS
1 0.53 ms onfdc.onf41.lan (192.168.2.1)
NSE: Script Post-scanning.
Initiating NSE at 15:17
Completed NSE at 15:17, 0.00s elapsed
Initiating NSE at 15:17
Completed NSE at 15:17, 0.00s elapsed
Initiating NSE at 15:17
Completed NSE at 15:17, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 211.71 seconds
Raw packets sent: 2027 (91.026KB) | Rcvd: 21 (1.246KB)

View File

@ -0,0 +1,118 @@
Starting Nmap 7.80 ( https://nmap.org ) at 2022-02-10 15:21 CET
NSE: Loaded 151 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 15:21
Completed NSE at 15:21, 0.00s elapsed
Initiating NSE at 15:21
Completed NSE at 15:21, 0.00s elapsed
Initiating NSE at 15:21
Completed NSE at 15:21, 0.00s elapsed
Initiating ARP Ping Scan at 15:21
Scanning 192.168.0.36 [1 port]
Completed ARP Ping Scan at 15:21, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 15:21
Completed Parallel DNS resolution of 1 host. at 15:21, 0.00s elapsed
Initiating SYN Stealth Scan at 15:21
Scanning 192.168.0.36 [1000 ports]
Discovered open port 445/tcp on 192.168.0.36
Discovered open port 139/tcp on 192.168.0.36
Discovered open port 135/tcp on 192.168.0.36
Discovered open port 53/tcp on 192.168.0.36
Discovered open port 3268/tcp on 192.168.0.36
Discovered open port 389/tcp on 192.168.0.36
Discovered open port 3269/tcp on 192.168.0.36
Discovered open port 593/tcp on 192.168.0.36
Discovered open port 88/tcp on 192.168.0.36
Discovered open port 464/tcp on 192.168.0.36
Discovered open port 636/tcp on 192.168.0.36
Completed SYN Stealth Scan at 15:21, 4.83s elapsed (1000 total ports)
Initiating Service scan at 15:21
Scanning 11 services on 192.168.0.36
Completed Service scan at 15:23, 141.12s elapsed (11 services on 1 host)
Initiating OS detection (try #1) against 192.168.0.36
NSE: Script scanning 192.168.0.36.
Initiating NSE at 15:23
Completed NSE at 15:24, 40.09s elapsed
Initiating NSE at 15:24
Completed NSE at 15:24, 17.01s elapsed
Initiating NSE at 15:24
Completed NSE at 15:24, 0.00s elapsed
Nmap scan report for 192.168.0.36
Host is up (0.00048s latency).
Not shown: 989 filtered ports
PORT STATE SERVICE VERSION
53/tcp open domain?
| fingerprint-strings:
| DNSVersionBindReqTCP:
| version
|_ bind
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2022-02-10 14:21:28Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: onf41.lan, Site: Default-First-Site-Name)
445/tcp open microsoft-ds Windows Server 2016 Standard 14393 microsoft-ds (workgroup: onf41)
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: onf41.lan, Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.80%I=7%D=2/10%Time=62051F6F%P=x86_64-pc-linux-gnu%r(DNSV
SF:ersionBindReqTCP,20,"\0\x1e\0\x06\x81\x04\0\x01\0\0\0\0\0\0\x07version\
SF:x04bind\0\0\x10\0\x03");
MAC Address: 08:00:27:3A:E3:56 (Oracle VirtualBox virtual NIC)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows 2016
OS CPE: cpe:/o:microsoft:windows_server_2016
OS details: Microsoft Windows Server 2016
Uptime guess: 0.032 days (since Thu Feb 10 14:38:47 2022)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=263 (Good luck!)
IP ID Sequence Generation: Incremental
Service Info: Host: ONFDC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -20m02s, deviation: 34m38s, median: -2s
| nbstat: NetBIOS name: ONFDC, NetBIOS user: <unknown>, NetBIOS MAC: 08:00:27:3a:e3:56 (Oracle VirtualBox virtual NIC)
| Names:
| ONFDC<00> Flags: <unique><active>
| ONF41<1c> Flags: <group><active>
| ONF41<00> Flags: <group><active>
| ONFDC<20> Flags: <unique><active>
|_ ONF41<1b> Flags: <unique><active>
| smb-os-discovery:
| OS: Windows Server 2016 Standard 14393 (Windows Server 2016 Standard 6.3)
| Computer name: onfdc
| NetBIOS computer name: ONFDC\x00
| Domain name: onf41.lan
| Forest name: onf41.lan
| FQDN: onfdc.onf41.lan
|_ System time: 2022-02-10T15:23:45+01:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
| smb2-security-mode:
| 2.02:
|_ Message signing enabled and required
| smb2-time:
| date: 2022-02-10T14:23:45
|_ start_date: 2022-02-10T13:39:07
TRACEROUTE
HOP RTT ADDRESS
1 0.48 ms 192.168.0.36
NSE: Script Post-scanning.
Initiating NSE at 15:24
Completed NSE at 15:24, 0.00s elapsed
Initiating NSE at 15:24
Completed NSE at 15:24, 0.00s elapsed
Initiating NSE at 15:24
Completed NSE at 15:24, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 205.32 seconds
Raw packets sent: 2027 (91.026KB) | Rcvd: 22 (1.298KB)

View File

@ -0,0 +1 @@
KClI53wv5L7AZ9ZOQPNzPqIuQVyfda0VpzLsykuXdXg=

View File

@ -0,0 +1 @@
GoHn0zP27+IFPcApQl/Je7EZg2gCrpvr1+Vt6H35AA0=

View File

@ -0,0 +1,11 @@
# local settings for Endpoint B
[Interface]
PrivateKey = KClI53wv5L7AZ9ZOQPNzPqIuQVyfda0VpzLsykuXdXg= #Clé privée du client
Address = 10.0.0.2/32 #Adresse du client
ListenPort = 51820
# remote settings for Endpoint A
[Peer]
PublicKey = qxFRWqsOToqCiV3xlCNFh33mDCm0Mb1U/yDukcfcA2o= #Clé publique du serveur vpn
Endpoint = 10.121.38.66:51820 #Adresse en dhcp (pont) du serveur vpn avec le port qu'on utilise
AllowedIPs = 10.0.0.1/32 #Adresse du serveur vpn

View File

@ -0,0 +1 @@
qKycHr1Ukwzlkw9fI0H4gKbAHpdmwa3HDkWX7rso9Vw=

View File

@ -0,0 +1 @@
qxFRWqsOToqCiV3xlCNFh33mDCm0Mb1U/yDukcfcA2o=

View File

@ -0,0 +1,15 @@
# local settings for Endpoint A
[Interface]
PrivateKey = qKycHr1Ukwzlkw9fI0H4gKbAHpdmwa3HDkWX7rso9Vw= #Clé privée du serveur vpn
Address = 10.0.0.1/32 #Adresse du serveur vpn
ListenPort = 51820
# remote settings for Endpoint B
[Peer]
PublicKey = GoHn0zP27+IFPcApQl/Je7EZg2gCrpvr1+Vt6H35AA0= #Clé publique du client
AllowedIPs = 10.0.0.2/32 #Adresse vpn du client
# remote settings for Endpoint C
[Peer]
PublicKey = e/GFlV6jH219ewqRpNKOKw2SVo/+4g9M5Cz7vZ35JAE= #Clé publique du client
AllowedIPs = 10.0.0.3/32 #Adresse vpn du client

View File

@ -0,0 +1 @@
qKycHr1Ukwzlkw9fI0H4gKbAHpdmwa3HDkWX7rso9Vw=

View File

@ -0,0 +1 @@
qxFRWqsOToqCiV3xlCNFh33mDCm0Mb1U/yDukcfcA2o=

View File

@ -0,0 +1 @@
KClI53wv5L7AZ9ZOQPNzPqIuQVyfda0VpzLsykuXdXg=

View File

@ -0,0 +1 @@
GoHn0zP27+IFPcApQl/Je7EZg2gCrpvr1+Vt6H35AA0=

View File

@ -0,0 +1 @@
cD01vjVVw642INlyE+Rmbwf9/Y6Msz6pLTI1zCRjeWM=

View File

@ -0,0 +1 @@
e/GFlV6jH219ewqRpNKOKw2SVo/+4g9M5Cz7vZ35JAE=

View File

@ -0,0 +1,15 @@
# local settings for Endpoint A
[Interface]
PrivateKey = qKycHr1Ukwzlkw9fI0H4gKbAHpdmwa3HDkWX7rso9Vw= #Clé privée du serveur vpn
Address = 10.0.0.1/32 #Adresse du serveur vpn
ListenPort = 51820
# remote settings for Endpoint B
[Peer]
PublicKey = GoHn0zP27+IFPcApQl/Je7EZg2gCrpvr1+Vt6H35AA0= #Clé publique du client
AllowedIPs = 10.0.0.2/32 #Adresse vpn du client
# remote settings for Endpoint C
[Peer]
PublicKey = e/GFlV6jH219ewqRpNKOKw2SVo/+4g9M5Cz7vZ35JAE= #Clé publique du client
AllowedIPs = 10.0.0.3/32 #Adresse vpn du client

View File

@ -0,0 +1,11 @@
# local settings for Endpoint B
[Interface]
PrivateKey = KClI53wv5L7AZ9ZOQPNzPqIuQVyfda0VpzLsykuXdXg= #Clé privée du client
Address = 10.0.0.2/32 #Adresse du client
ListenPort = 51820
# remote settings for Endpoint A
[Peer]
PublicKey = qxFRWqsOToqCiV3xlCNFh33mDCm0Mb1U/yDukcfcA2o= #Clé publique du serveur vpn
Endpoint = 10.121.38.66:51820 #Adresse en dhcp (pont) du serveur vpn avec le port qu'on utilise
AllowedIPs = 10.0.0.1/32 #Adresse du serveur vpn

View File

@ -0,0 +1,11 @@
# local settings for Endpoint C
[Interface]
PrivateKey = cD01vjVVw642INlyE+Rmbwf9/Y6Msz6pLTI1zCRjeWM= #Clé privée du client
Address = 10.0.0.3/32 #Adresse du client
ListenPort = 51820
# remote settings for Endpoint A
[Peer]
PublicKey = qxFRWqsOToqCiV3xlCNFh33mDCm0Mb1U/yDukcfcA2o= #Clé publique du serveur vpn
Endpoint = 10.121.38.66:51820 #Adresse en dhcp (pont) du serveur vpn avec le port qu'on utilise
AllowedIPs = 10.0.0.1/32 #Adresse du serveur vpn

View File

@ -0,0 +1,7 @@
#!/bin/bash
bash wireguard.sh
cp endpoint-a.* wg0-a.conf /etc/wireguard
cd /etc/wireguard
mv wg0-a.conf wg0.conf
systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0

View File

@ -0,0 +1,78 @@
#!/bin/bash
set -u
set -e
AddressAwg=10.0.0.1/32 # Adresse VPN Wireguard extremite A
EndpointA=10.121.38.66 # Adresse extremite A
PortA=51820 # Port ecoute extremite A
AddressBwg=10.0.0.2/32 # Adresse VPN Wireguard extremite B
EndpointB=192.168.2.14 # Adresse extremite B
PortB=51820 # Port ecoute extremite B
AddressCwg=10.0.0.3/32 # Adresse VPN Wireguard extremite C
EndpointC=192.168.2.15 # Adresse extremite C
PortC=51820 # Port ecoute extremite C
umask 077 ;
wg genkey > endpoint-a.key
wg pubkey < endpoint-a.key > endpoint-a.pub
wg genkey > endpoint-b.key
wg pubkey < endpoint-b.key > endpoint-b.pub
wg genkey > endpoint-c.key
wg pubkey < endpoint-c.key > endpoint-c.pub
PKA=$(cat endpoint-a.key)
pKA=$(cat endpoint-a.pub)
PKB=$(cat endpoint-b.key)
pKB=$(cat endpoint-b.pub)
PKC=$(cat endpoint-c.key)
pKC=$(cat endpoint-c.pub)
cat <<FINI > wg0-a.conf
# local settings for Endpoint A
[Interface]
PrivateKey = $PKA #Clé privée du serveur vpn
Address = $AddressAwg #Adresse du serveur vpn
ListenPort = $PortA
# remote settings for Endpoint B
[Peer]
PublicKey = $pKB #Clé publique du client
AllowedIPs = $AddressBwg #Adresse vpn du client
# remote settings for Endpoint C
[Peer]
PublicKey = $pKC #Clé publique du client
AllowedIPs = $AddressCwg #Adresse vpn du client
FINI
cat <<FINI > wg0-b.conf
# local settings for Endpoint B
[Interface]
PrivateKey = $PKB #Clé privée du client
Address = $AddressBwg #Adresse du client
ListenPort = $PortB
# remote settings for Endpoint A
[Peer]
PublicKey = $pKA #Clé publique du serveur vpn
Endpoint = ${EndpointA}:$PortA #Adresse en dhcp (pont) du serveur vpn avec le port qu'on utilise
AllowedIPs = $AddressAwg #Adresse du serveur vpn
FINI
cat <<FINI > wg0-c.conf
# local settings for Endpoint C
[Interface]
PrivateKey = $PKC #Clé privée du client
Address = $AddressCwg #Adresse du client
ListenPort = $PortC
# remote settings for Endpoint A
[Peer]
PublicKey = $pKA #Clé publique du serveur vpn
Endpoint = ${EndpointA}:$PortA #Adresse en dhcp (pont) du serveur vpn avec le port qu'on utilise
AllowedIPs = $AddressAwg #Adresse du serveur vpn
FINI