==> Changement Adresse IP
connexion : pi - agil74650
=> sudo nano /etc/dhcpcd.conf	=> Pour changer l'adresse IP 

	interface eth0
	
	static ip_address=192.168.10.141/24
	static routers=192.168.10.211
	static domain_name_servers=192.168.10.254

=> Reboot
 => Force le FSCK au prochain boot ...
 sudo touch /forcefsck

==> systemd
https://doc.ubuntu-fr.org/creer_un_service_avec_systemd

sudo systemctl enable rpi_display.service 	=> Activation
systemctl start rpi_display.service		=> Lancement
systemctl status rpi_display.service	=> Status
 
******************* PI DISPLAY **********************
sudo apt update
sudo apt upgrade

-- Apache		
sudo apt install apache2
sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/

-- PHP 5
sudo apt install php5
echo "<?php phpinfo(); ?>" > /var/www/html/index.php

-- MYSQL
sudo apt-get install mysql-server && sudo apt-get install mysql-client
=> password MySQL : agil74650
mysql -uroot -p

/-- tmp /var/tmp /var/log en RAM pour prolonger la duuee de vie de la carte SD : http://www.magdiblog.fr/divers/comment-prolonger-la-duree-de-vie-de-vos-cartes-sd-sur-raspberry-pi/
sudo nano /etc/fstab
ajouter la première ligne ou les 3 lignes
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=10m 0 0

apres reboot la command df affiche 1 ou 3 nouvelles lignes ...
tmpfs                  10240       0      10240   0% /var/tmp
tmpfs                  10240     172      10068   2% /var/log
tmpfs                  10240       0      10240   0% /tmp

-- PHP exec sudo autorisation
sudo visudo			=> permet de visualiser /etc/sudoers
ajouter la ligne : www-data ALL=(ALL) NOPASSWD : ALL

-- SERVICE 
1) Pour voir tous les services en cours : sudo service --status-all
=> http://lea-linux.org/documentations/Systemd

// HOTSPOT WIFI ...
https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/


/////////////////////////////////////////////////////////////////////////////////////
// COURCHEVEL 2020
stade 1 				: 192.168.2.211
stade 2 				: 192.168.2.212
stade 3 				: 192.168.2.213

// VAL THORENS 2020
stade 1 				: 192.168.1.39

/////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////
// SAUT DISPLAY
TP-LINK 				: 192.168.10.1

DISPLAY (PRINCIPAL)  	: 192.168.10.141
DISPLAY (BIS - STARTER) : 192.168.10.143

TABLETTE - DIRECTE		: 192.168.10.142
TABLETTE - DIRECTE BIS	: 192.168.10.144

PLAGE IP 				: 192.168.10.100 et au dela ...

TP-LINK AP				: 192.168.10.250 : user/admin pwd/admin2
						: SSID : SAUT_AP1	PWD : saut_ap1_pwd
TP-LINK CLIENT			: 192.168.10.251 : user/admin pwd/admin2
TP-LINK CLIENT 2		: 192.168.10.252 : user/admin pwd/admin2

Extender-TP-LINK    	: 192.168.0.10 (admin/admin) => TP_LINK_SAUT/12345678)

http://192.168.10.141/saut
WIFI : TB_LINK_SAUT : 12345678
/////////////////////////////////////////////////////////////////////////////////////

PHP 7 Install => https://thishosting.rocks/install-php-on-ubuntu/

=> Rasperby Rotation Ecran Touch-Screen
sudo nano /boot/config.txt
** ajouter la ligne : lcd_rotate=2

=> sudo apt purge xscreensaver

sudo nano /boot/cmdline.txt => Ajout : consoleblank=0 
cat /sys/module/kernel/parameters/consoleblank

sudo nano /home/pi/.bashrc
Ajout des lignes ...
	#
	# Lancement rpi_ws281x une seule fois
	#

	is_running=$(ps h -C "rpi_ws281x"|wc -l);
	if [ "$is_running" = "0" ]
	then
		sudo /home/pi/rpi_ws281x/bin/Release/rpi_ws281x &
	fi
fin Ajout	

apache2 -v => version 2.4.18
a2query -M => prefork
grep -r -e MaxClients -e anothervalue -e anothervalue2 /etc/apache2/ | grep -v \#


CONFIG TEAM-DATA
----------------
raspberry Tableau : 192.168.10.143
AP TP-LINK        : 192.168.10.200
CLIENT TP-LINK    : 192.168.10.201

/////////////////////////////////////////////////////////////////////////////////////
// Rasperby Pi3 Model B+ : 
/////////////////////////////////////////////////////////////////////////////////////

1) Téléchargement Raspberry Pi OS (32-bit) : (https://www.raspberrypi.org/downloads/raspberry-pi-os/) => 2020-05-27-raspios-buster-full-armhf.zip
2) Ecriture carte SD : 2020-05-27-raspios-buster-full-armhf.img avec Win32 Disk manager
3) Boot Raspberry : pi - agil74650 / sudo apt update / sudo apt upgrade /
4) Transfert dossier : c:\raspberrypi\rpi_ws281x vers /home/rpi_ws281x (sudo chown pi /home)
5) Installation Code Blocks : sudo apt-get install codeblocks
6) Installation Wiring Pi : sudo apt-get install wiringpi (pas necessaire déjà fait)
7) Installation de l'outils Scons (sudo apt-get install scons)
8) Copie du source https://github.com/jgarff/rpi_ws281x dans /home/rpi_ws281x
9) Se placer dans le dossier /home/rpi_ws281x et lancer scons (Type scons from inside the source directory ...)
 => Permet de générer le fichier lib libws2811.a 
10) remplacer le main.c par notre main.c
11) Génération de l'exe par CodeBlocks
12) On impose l'adresse IP : 192.168.10.141
13) sudo nano /home/pi/.bashrc => Ajout des lignes ...
	#
	# Lancement rpi_ws281x une seule fois
	#

	is_running=$(ps h -C "rpi_ws281x"|wc -l);
	if [ "$is_running" = "0" ]
	then
		sudo /home/pi/rpi_ws281x/bin/Release/rpi_ws281x &
	fi
fin Ajout	


=> Partage du dossier Windows : \\192.168.1.64\ShareX
sudo apt-get install samba samba-common samba-common-bin winbind
sudo apt-get install cifs-utils
puis reboot ...
mkdir /home/pi/ShareX
sudo mount -t cifs -o user=Cosandco //192.168.1.64/ShareX /home/pi/ShareX

==> mariadb installation : https://raspberry-pi.fr/installer-mariadb-raspbian/
sudo apt-get install mariadb-server
sudo mysql => interface Mariadb
	CREATE USER 'root' IDENTIFIED BY 'root';
	GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
	FLUSH PRIVILEGES;

	/* Liste des Utilisateurs */
	USE mysql;
	SELECT User, Host FROM user;

==> nginx installation : https://raspberry-pi.fr/installer-nginx-raspbian-raspberry/
	sudo apt install nginx php-fpm ... suivre les indications ...
	
==> adminer installation : https://www.youtube.com/watch?v=OnP8YPS6L-I
	sudo mysql_secure_installation	root / root
	sudo mysql -u root -p
		>create database ski;
		>GRANT ALL PRIVILEGES ON ski.* TO 'root'@'localhost' IDENTIFIED BY 'root';
		>FLUSH PRIVILEGES;


Sous Ubuntu Virtual BOX : 
	sudo mount -t cifs -o user=Cosandco //10.0.2.2/adv /home/cosandco/adv-src
	sudo mount -t cifs -o user=Cosandco //192.168.1.64/adv /home/cosandco/adv-src
	sudo mount -t cifs -o user=Cosandco //192.168.1.11/adv /home/cosandco/adv-src
	sudo mount -t cifs -o user=Cosandco //150.0.50.102/adv /home/cosandco/adv-src
	-> pwd sudo => agil74650
	-> pwd Cosandco => agil74


tar xjf file.tar.bz2

------------------------------------------------ Build wxWidgets -------------------------------------------------------------------------
1]-- Build wxWidgets for windows --
	1) download .zip => c:\wx\wxWidgets-x.x.x\
	2) lancement visualStudio et chargement .\build\msw\wx_vc16.sln
	3) Modification éventuelle .\include\wx\msw\setup.h (par exemple wxUSE_STD_CONTAINERS = 1)
	4) Build/Batch Build : Selection all ...
	5) .\samples : build en chargeant les différents exemples 
	6) ski.vcxproj : rajout <VcpkgConfiguration>Debug</VcpkgConfiguration> ou <VcpkgConfiguration>Release</VcpkgConfiguration>
	 
	
2]-- Build wxWidgets for Ubuntu : https://wiki.wxwidgets.org/Compiling_and_getting_started => Ok sur Ubuntu 20.04
	../configure --enable-debug --enable-utf8 --enable-utf8only	: bonnes options pour imposer le mode utf8 ...

3]-- Build wxWidgets for raspberry : https://www.binarytides.com/install-wxwidgets-ubuntu/ => Ok sur raspberry
	=> sudo apt-get install libgtk-3-dev build-essential checkinstall
	=> Creation du dossier : wx/wxWidgets-3.1.4

	=> mkdir gtk-build-release
	=> cd gtk-build-release
	=> ../configure --enable-unicode
	=> sudo make
	=> sudo make install
	=> sudo ldconfig
	=> Pour vérifer : wx-config --libs

	=> Installation Code Blocks : sudo apt-get install codeblocks	
	 sudo mount -t cifs -o user=Cosandco //192.168.1.11/adv /home/pi/adv-src (pwd agil74)
	 sudo mount -t cifs -o user=Cosandco //150.0.50.101/adv /home/pi/adv-src
	 
	=> mise en place dans /home/pi/adv du script copy_src 
		
	=> Partage du dossier /home/pi/wx sur le serveur virtualisé :
		1) sudo apt-get install nfs-server
		2) sudo nano /etc/exports
			Ajout ligne =>/home/pi/wx     192.168.1.0/24(rw,sync,root_squash,no_subtree_check)
		3) sudo exportfs -r
		4) Pour vérifier : sudo showmount -e localhost
	=> Coté Client : sudo mount -t nfs 192.168.1.30:/home/pi/wx /home/pi/wx_share

	 sudo mount -t cifs -o user=Cosandco //192.168.1.64/adv /home/pi/adv-src

	
	
4]-- Build wxWidgets for Mac OS --
	1) brew install git
---------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------ Build wxWidgets raspbian buster ------------------------------------------------------------
=> Installation de l'OS à partir de l'image : H:\raspberry\2020-05-27-raspios-buster-full-armhf.img
sudo apt update
sudo apt upgrade
=> Partage du dossier Windows : \\192.168.1.64\ShareX
sudo apt-get install samba samba-common samba-common-bin winbind
sudo apt-get install cifs-utils
puis reboot ...
mkdir /home/pi/agil_buster32
sudo mount -t cifs -o user=Cosandco //192.168.1.64/ShareX/raspbian_buster32 /home/pi/agil_buster32


------------------------------------------------ MySQL - MariaDB : OpenSSL ------------------------------------------------------------
OVH-VPS AGIL : 
IPV4 : 51.83.71.198
root / fFkAnhI8
maria-db : root / agil_ovh_74650
mysql -u root -p
CREATE USER "ssl_user"@"%" IDENTIFIED BY "agil_esf";
select user,host,ssl_type from mysql.user;
show variables LIKE "%ssl%";

ALTER USER 'root'@'%' IDENTIFIED BY 'agil74650';
FLUSH PRIVILEGES;

mysql -u ssl_user -h 51.83.71.198 -p
=> sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf 
	[client]
	ssl-ca=/etc/mysql/ssl/ca-cert.pem
	ssl-cert=/etc/mysql/ssl/client-cert.pem
	ssl-key=/etc/mysql/ssl/client-key.pem
	
=> HeidiSQL : 	
Clé privée SSL : C:\skiESF\cert\client-key.pem
Certificat CA SSL : C:\skiESF\cert\ca-cert.pem
Certificat SSL : C:\skiESF\cert\client-cert.pem


------------------------------------------------ VirtualBox -------------------------------------------------------------------------
UBUNTU 20.04 Virtual Box : h:\VirtualBox et H:\VirtualBox VMs\Ubuntu 64 bits
=> https://linuxize.com/post/how-to-install-virtualbox-guest-additions-in-ubuntu/ : Pour le copier / coller entre Windows et Hote Ubuntu
---------------------------------------------------------------------------------------------------------------------------------------------


------------------------------------------------ libcurl - openssl - cJSON - lua -----------------------------------------------------------------------
sudo apt-cache search libcurl => libcurl4-openssl-dev : paquet ok pour le dev ...
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libssl-dev

sudo apt-cache search mariadb => libmariadb-dev : paquet ok pour le dev ...
sudo apt-get install libmariadb-dev

sudo apt-get install libsqlite3-dev
sudo apt-get install libcjson-dev
sudo apt-get install liblua5.3-dev
---------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------ Lancement Application  -----------------------------------------------------------------------
/lib/ld-linux.so.2
==> https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html
---------------------------------------------------------------------------------------------------------------------------------------------

static constexpr int SURVEY_INTERVAL_IN_HOURS = 24 * 30 * 6;

=> Ubuntu Serial Port permission
sudo usermod -a -G dialout cosandco
sudo chmod a+rw /dev/ttyS3


// Visual Studio 2015
_ADV_LUA : C:\lua\lua-5.2.3\win32\include 		=> C++ $(_ADV_LUA)
_ADV_SQLITE : C:\SQLite
_ADV_MYSQL : C:\MySQL\MySQL6.1_v2\mysql
_ADV_CURL : C:\libcurl\curl-7.47.1\builds\
_ADV_OPENSSL : C:\OpenSSL\openssl-1.1.0f-vs2015

Additional Include directories : $(WXDIR)\lib\vc_dll\mswud;$(WXDIR)\include;$(_ADV_MYSQL);$(_ADV_SQLITE)\win32-x86-313;$(_ADV_LUA);$(_ADV_);$(_ADV_CURL)\libcurl-vc12-x86-debug-static-ipv6-sspi-winssl\include;$(_ADV_OPENCV)\include;$(_ADV_OPENCV)\include\opencv;$(_ADV_OPENSSL)\include;$(SolutionDir);%(AdditionalIncludeDirectories)
Additional Library directories : $(WXDIR)\lib\vc_dll;$(_ADV_MYSQL);$(_ADV_SQLITE)\win32-x86-313;$(_ADV_LUA);$(_ADV_CURL)\libcurl-vc14-x86-debug-static-ssl-static-ipv6-sspi\lib;$(_ADV_OPENCV)\x86\vc12\lib;%(AdditionalLibraryDirectories)


// Visual Studio 2019
=> H:\devX\VS2019\vcpkg
	- vcpkg install lua
	- vcpkg install sqllite3
	- vcpkg install libssh[openssl]
	- vcpkg install libmariadb[openssl]
	- vcpkg install curl[openssl]
	
	- vcpkg integrate project => pour créer un package NuGet 
	dans VS : Tools / NuGet Package Manager / Package Console : 
		PM> Install-Package vcpkg.H.devX.VS2019.vcpkg -Source "H:\devX\VS2019\vcpkg\scripts\buildsystems"
	dans ski.vcxproj ajout balise <VcpkgConfiguration>Debug</VcpkgConfiguration> dans <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug FFS|Win32'">
	- PM> Uninstall-Package vcpkg.H.devX.VS2019.vcpkg

	- vcpkg integrate remove
	- vcpkg integrate remove
	Uninstall-Package vcpkg.H.devX.VS2019.vcpkg



/////////////////////
// OVH - VPS-AGIL 

1) Install wxWidgets ...
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.4/wxWidgets-3.1.4.tar.bz2
tar xjf wxWidgets-3.1.4.tar.bz2
cd wxWidgets-3.1.4
mkdir gtk-build-release
cd gtk-build-release
../configure --enable-unicode
make
make install
ldconfig
=> Pour vérifer : wx-config --libs

2) Install vcpkg
apt-get install git-all
apt-get install curl unzip tar
git clone https://github.com/microsoft/vcpkg








