Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4b54b7afc4 | ||
|
4ffb4f5de8 | ||
|
d1ea47881e | ||
|
f43128e7b9 | ||
0889769008 | |||
eeff416aea | |||
713f0d2996 | |||
|
ca000e0b57 | ||
|
e428c52cbe | ||
|
689aa9faa2 | ||
|
254b9810be | ||
|
47b4a07b23 | ||
|
79bf771c49 |
8
AP4/onfarbo41/ansible/adminer.yml
Normal file
8
AP4/onfarbo41/ansible/adminer.yml
Normal file
@ -0,0 +1,8 @@
|
||||
- name: Playbook pour adminer
|
||||
hosts: onfarbo
|
||||
become: yes
|
||||
become_method: sudo
|
||||
become_user: root
|
||||
|
||||
roles:
|
||||
- adminer
|
8
AP4/onfarbo41/ansible/db.yml
Normal file
8
AP4/onfarbo41/ansible/db.yml
Normal file
@ -0,0 +1,8 @@
|
||||
- name: Playbook pour la BDD
|
||||
hosts: onfarbo
|
||||
become: yes
|
||||
become_method: sudo
|
||||
become_user: root
|
||||
|
||||
roles:
|
||||
- db
|
8
AP4/onfarbo41/ansible/dokuwiki.yml
Normal file
8
AP4/onfarbo41/ansible/dokuwiki.yml
Normal file
@ -0,0 +1,8 @@
|
||||
- name: Playbook pour le dokuwiki
|
||||
hosts: onfarbo
|
||||
become: yes
|
||||
become_method: sudo
|
||||
become_user: root
|
||||
|
||||
roles:
|
||||
- dokuwiki
|
2
AP4/onfarbo41/ansible/hosts
Normal file
2
AP4/onfarbo41/ansible/hosts
Normal file
@ -0,0 +1,2 @@
|
||||
[onfarbo]
|
||||
onfarbo41
|
10
AP4/onfarbo41/ansible/playbook.yml
Normal file
10
AP4/onfarbo41/ansible/playbook.yml
Normal file
@ -0,0 +1,10 @@
|
||||
- name: Playbook pour onfarbo41
|
||||
hosts: onfarbo
|
||||
become: yes
|
||||
become_method: sudo
|
||||
become_user: root
|
||||
|
||||
roles:
|
||||
- adminer
|
||||
- db
|
||||
- dokuwiki
|
38
AP4/onfarbo41/ansible/roles/adminer/README.md
Normal file
38
AP4/onfarbo41/ansible/roles/adminer/README.md
Normal 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).
|
4
AP4/onfarbo41/ansible/roles/adminer/handlers/main.yml
Normal file
4
AP4/onfarbo41/ansible/roles/adminer/handlers/main.yml
Normal file
@ -0,0 +1,4 @@
|
||||
- name: restart apache
|
||||
service:
|
||||
name: apache2
|
||||
state: restarted
|
34
AP4/onfarbo41/ansible/roles/adminer/tasks/main.yml
Normal file
34
AP4/onfarbo41/ansible/roles/adminer/tasks/main.yml
Normal 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"
|
||||
|
1
AP4/onfarbo41/ansible/roles/adminer/vars/main.yml
Normal file
1
AP4/onfarbo41/ansible/roles/adminer/vars/main.yml
Normal file
@ -0,0 +1 @@
|
||||
alias: "Alias /adminer.php /usr/share/adminer/adminer.php"
|
4
AP4/onfarbo41/ansible/roles/db/handlers/main.yml
Normal file
4
AP4/onfarbo41/ansible/roles/db/handlers/main.yml
Normal file
@ -0,0 +1,4 @@
|
||||
- name: restart apache
|
||||
service:
|
||||
name: apache2
|
||||
state: restarted
|
20
AP4/onfarbo41/ansible/roles/db/tasks/main.yml
Normal file
20
AP4/onfarbo41/ansible/roles/db/tasks/main.yml
Normal 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
|
20
AP4/onfarbo41/ansible/roles/dokuwiki/files/dokuwiki.sh
Executable file
20
AP4/onfarbo41/ansible/roles/dokuwiki/files/dokuwiki.sh
Executable 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
|
4
AP4/onfarbo41/ansible/roles/dokuwiki/handlers/main.yml
Normal file
4
AP4/onfarbo41/ansible/roles/dokuwiki/handlers/main.yml
Normal file
@ -0,0 +1,4 @@
|
||||
- name: restart apache
|
||||
service:
|
||||
name: apache2
|
||||
state: restarted
|
26
AP4/onfarbo41/ansible/roles/dokuwiki/tasks/main.yml
Normal file
26
AP4/onfarbo41/ansible/roles/dokuwiki/tasks/main.yml
Normal 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"
|
36
AP4/onfarbo41/gosstest/goss.yaml
Normal file
36
AP4/onfarbo41/gosstest/goss.yaml
Normal 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
|
5
AP4/onfglpi/ansible/glpi.yml
Normal file
5
AP4/onfglpi/ansible/glpi.yml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
roles:
|
||||
- glpi
|
10
AP4/onfglpi/ansible/roles/glpi/defaults/main.yml
Normal file
10
AP4/onfglpi/ansible/roles/glpi/defaults/main.yml
Normal 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"
|
||||
|
12
AP4/onfglpi/ansible/roles/glpi/files/glpi.conf
Normal file
12
AP4/onfglpi/ansible/roles/glpi/files/glpi.conf
Normal 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
|
3
AP4/onfglpi/ansible/roles/glpi/files/my.cnf
Normal file
3
AP4/onfglpi/ansible/roles/glpi/files/my.cnf
Normal file
@ -0,0 +1,3 @@
|
||||
[client]
|
||||
user=root
|
||||
password=root
|
18
AP4/onfglpi/ansible/roles/glpi/handlers/main.yml
Normal file
18
AP4/onfglpi/ansible/roles/glpi/handlers/main.yml
Normal 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
|
134
AP4/onfglpi/ansible/roles/glpi/tasks/main.yml
Normal file
134
AP4/onfglpi/ansible/roles/glpi/tasks/main.yml
Normal 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
|
23
AP4/onfglpi/ansible/roles/glpi/templates/block.j2
Normal file
23
AP4/onfglpi/ansible/roles/glpi/templates/block.j2
Normal 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;
|
||||
}
|
||||
}
|
39
AP4/onfglpi/goss/goss.yaml
Normal file
39
AP4/onfglpi/goss/goss.yaml
Normal 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
53
AP4/onfinfra/rest/rest.sh
Executable 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
|
BIN
AP4/onfinfra/sv/hebdomadaires/bdarbre-2.sql.gz
Normal file
BIN
AP4/onfinfra/sv/hebdomadaires/bdarbre-2.sql.gz
Normal file
Binary file not shown.
BIN
AP4/onfinfra/sv/journalieres/bdarbre-5.sql.gz
Normal file
BIN
AP4/onfinfra/sv/journalieres/bdarbre-5.sql.gz
Normal file
Binary file not shown.
38
AP4/onfinfra/sv/sauvegardephp/Bucheron/affectation.php
Normal file
38
AP4/onfinfra/sv/sauvegardephp/Bucheron/affectation.php
Normal 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>
|
23
AP4/onfinfra/sv/sauvegardephp/Bucheron/bdd/BucheronSQL.php
Normal file
23
AP4/onfinfra/sv/sauvegardephp/Bucheron/bdd/BucheronSQL.php
Normal 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;
|
||||
}
|
||||
|
||||
}
|
42
AP4/onfinfra/sv/sauvegardephp/Bucheron/bdd/Connexion.php
Normal file
42
AP4/onfinfra/sv/sauvegardephp/Bucheron/bdd/Connexion.php
Normal 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;
|
||||
}
|
||||
}
|
34
AP4/onfinfra/sv/sauvegardephp/Bucheron/bdd/EspeceSQL.php
Normal file
34
AP4/onfinfra/sv/sauvegardephp/Bucheron/bdd/EspeceSQL.php
Normal 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;
|
||||
}
|
||||
|
||||
}
|
34
AP4/onfinfra/sv/sauvegardephp/Bucheron/bdd/SecteurSQL.php
Normal file
34
AP4/onfinfra/sv/sauvegardephp/Bucheron/bdd/SecteurSQL.php
Normal 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;
|
||||
}
|
||||
|
||||
}
|
13
AP4/onfinfra/sv/sauvegardephp/Bucheron/css/style.css
Normal file
13
AP4/onfinfra/sv/sauvegardephp/Bucheron/css/style.css
Normal file
@ -0,0 +1,13 @@
|
||||
#divBucheron {
|
||||
padding-top: 5vh;
|
||||
}
|
||||
|
||||
#divSecteur{
|
||||
float: left;
|
||||
padding-top: 5vh;
|
||||
}
|
||||
|
||||
#dataListEspeces {
|
||||
float: right;
|
||||
margin-left: 80vw;
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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"));*/
|
@ -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));
|
||||
?>
|
19
AP4/onfinfra/sv/sauvegardephp/Bucheron/include/getEspece.php
Normal file
19
AP4/onfinfra/sv/sauvegardephp/Bucheron/include/getEspece.php
Normal 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));
|
||||
}
|
||||
|
||||
?>
|
@ -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));
|
||||
?>
|
93
AP4/onfinfra/sv/sauvegardephp/Bucheron/index.php
Normal file
93
AP4/onfinfra/sv/sauvegardephp/Bucheron/index.php
Normal 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>
|
210
AP4/onfinfra/sv/sauvegardephp/Bucheron/js/main.js
Normal file
210
AP4/onfinfra/sv/sauvegardephp/Bucheron/js/main.js
Normal 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;
|
||||
}
|
||||
}
|
70
AP4/onfinfra/sv/sauvegardephp/Bucheron/metier/Bucheron.php
Normal file
70
AP4/onfinfra/sv/sauvegardephp/Bucheron/metier/Bucheron.php
Normal 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;
|
||||
}
|
||||
|
||||
}
|
@ -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/
|
@ -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>
|
@ -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=.
|
@ -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
10
AP4/onfinfra/sv/svbdd-h.sh
Executable 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
9
AP4/onfinfra/sv/svbdd-j.sh
Executable 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
5
AP4/onfinfra/sv/svphp.sh
Executable 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/
|
120
AP4/onfnmap/nmap/nmap-int.txt
Normal file
120
AP4/onfnmap/nmap/nmap-int.txt
Normal 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)
|
118
AP4/onfnmap/nmap/nmap-pt.txt
Normal file
118
AP4/onfnmap/nmap/nmap-pt.txt
Normal 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)
|
1
AP4/wireguard/wireguard-confcli/endpoint-b.key
Normal file
1
AP4/wireguard/wireguard-confcli/endpoint-b.key
Normal file
@ -0,0 +1 @@
|
||||
KClI53wv5L7AZ9ZOQPNzPqIuQVyfda0VpzLsykuXdXg=
|
1
AP4/wireguard/wireguard-confcli/endpoint-b.pub
Normal file
1
AP4/wireguard/wireguard-confcli/endpoint-b.pub
Normal file
@ -0,0 +1 @@
|
||||
GoHn0zP27+IFPcApQl/Je7EZg2gCrpvr1+Vt6H35AA0=
|
11
AP4/wireguard/wireguard-confcli/wg0.conf
Normal file
11
AP4/wireguard/wireguard-confcli/wg0.conf
Normal 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
|
1
AP4/wireguard/wireguard-confsrv/endpoint-a.key
Normal file
1
AP4/wireguard/wireguard-confsrv/endpoint-a.key
Normal file
@ -0,0 +1 @@
|
||||
qKycHr1Ukwzlkw9fI0H4gKbAHpdmwa3HDkWX7rso9Vw=
|
1
AP4/wireguard/wireguard-confsrv/endpoint-a.pub
Normal file
1
AP4/wireguard/wireguard-confsrv/endpoint-a.pub
Normal file
@ -0,0 +1 @@
|
||||
qxFRWqsOToqCiV3xlCNFh33mDCm0Mb1U/yDukcfcA2o=
|
15
AP4/wireguard/wireguard-confsrv/wg0.conf
Normal file
15
AP4/wireguard/wireguard-confsrv/wg0.conf
Normal 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
|
1
AP4/wireguard/wireguard-script/endpoint-a.key
Normal file
1
AP4/wireguard/wireguard-script/endpoint-a.key
Normal file
@ -0,0 +1 @@
|
||||
qKycHr1Ukwzlkw9fI0H4gKbAHpdmwa3HDkWX7rso9Vw=
|
1
AP4/wireguard/wireguard-script/endpoint-a.pub
Normal file
1
AP4/wireguard/wireguard-script/endpoint-a.pub
Normal file
@ -0,0 +1 @@
|
||||
qxFRWqsOToqCiV3xlCNFh33mDCm0Mb1U/yDukcfcA2o=
|
1
AP4/wireguard/wireguard-script/endpoint-b.key
Normal file
1
AP4/wireguard/wireguard-script/endpoint-b.key
Normal file
@ -0,0 +1 @@
|
||||
KClI53wv5L7AZ9ZOQPNzPqIuQVyfda0VpzLsykuXdXg=
|
1
AP4/wireguard/wireguard-script/endpoint-b.pub
Normal file
1
AP4/wireguard/wireguard-script/endpoint-b.pub
Normal file
@ -0,0 +1 @@
|
||||
GoHn0zP27+IFPcApQl/Je7EZg2gCrpvr1+Vt6H35AA0=
|
1
AP4/wireguard/wireguard-script/endpoint-c.key
Normal file
1
AP4/wireguard/wireguard-script/endpoint-c.key
Normal file
@ -0,0 +1 @@
|
||||
cD01vjVVw642INlyE+Rmbwf9/Y6Msz6pLTI1zCRjeWM=
|
1
AP4/wireguard/wireguard-script/endpoint-c.pub
Normal file
1
AP4/wireguard/wireguard-script/endpoint-c.pub
Normal file
@ -0,0 +1 @@
|
||||
e/GFlV6jH219ewqRpNKOKw2SVo/+4g9M5Cz7vZ35JAE=
|
15
AP4/wireguard/wireguard-script/wg0-a.conf
Normal file
15
AP4/wireguard/wireguard-script/wg0-a.conf
Normal 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
|
11
AP4/wireguard/wireguard-script/wg0-b.conf
Normal file
11
AP4/wireguard/wireguard-script/wg0-b.conf
Normal 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
|
11
AP4/wireguard/wireguard-script/wg0-c.conf
Normal file
11
AP4/wireguard/wireguard-script/wg0-c.conf
Normal 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
|
7
AP4/wireguard/wireguard-script/wireguard-init.sh
Executable file
7
AP4/wireguard/wireguard-script/wireguard-init.sh
Executable 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
|
78
AP4/wireguard/wireguard-script/wireguard.sh
Executable file
78
AP4/wireguard/wireguard-script/wireguard.sh
Executable 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
|
Loading…
x
Reference in New Issue
Block a user