Dans les prochaines semaines, vous allez réaliser différents laboratoires qui vont permettre de faire avancer le projet de session
Rappel de la pondération
Projet complet: 40%
Remise 01 – semaine 11 : 15%
Laboratoire 01-04
Remise 02 – semaine 14 : 15 %
Laboratoire 05 – 08
Remise 03 – semaine 15 : 10 %
Laboratoire 09
Laboratoire 1
Déployer une VM Linux dans le nuage de google
Installer une clé publique SSH
Sauvegarder en lieu sur, la paire de clés
Tester la connexion SSH
Installer Oracle 23c (attention au mot de passe)
Installer PHP+Oracle_OCI
Exposer le serveur Web de PHP+Oracle_OCI via un lien HTTPS
Installer un certificat TLS (RSA)
Le difficulté ici c’est que le serveur Apache roule dans un conteneur qui n’a peut-être pas les prérequis pour utiliser certbot.
Solution possible, utiliser un reverse-proxy tel que traffik ou nginx pour gérer les certificats.
Tester l’accès WEB sécurisé avec un petit script php.
Sur le SGBD, créer un utilisateur, avec privilège ‘SYS’ et un schéma pour le projet (attention au mot de passe)
Sur le SGBD, créer un utilisateur nommé « client’ avec comme seuls privilèges la lecture des objets et l’ajout d’enregistrements dans les tables. Note : Il y aura aussi des ajouts via des Duality Views.
En utilisant l’utilisateur/SYS du nouveau schéma:
Créer une table ‘Utilisateurs’
ID (Auto, clé primaire)
Nom
Prénom
email (Index, Non Nul)
codePays (clé étrangère)
codeLangue (clé étrangère)
MotDePasseClair
MotDePasseArgon2
MotDePasseSHA256
MotDePasseBLOWFISH (bcrytp)
Ajouter au moins 3 enregistrements dont un compte pour l’admin du système
Encoder manuellement un mot de passe en utilisant la fonction:
Rédiger un script php qui retourne au client Web le contenu de la table ‘Utilisateurs’.
NOTE IMPORTANTE: Dans la script php, il faut établir la connexion à la PDB avec le compte de l’utilisateur ‘client‘.
Tester le script
Créer un dépôt sur un serveur Git (Github, bitbucket) pour le projet
Ajouter un script SQL dans le dépôt qui permettra de recréer au besoin, le schéma, les deux utilisateurs, leurs privilèges, les tables, index, enregistrements, …
Il faut prévoir les DROP requis.
Tester le script à partir du serveur Oracle.
<?php
$motdepasse = 'password';
echo '1 - Argon2i hash pour la chaine : ' . password_hash($motdepasse, PASSWORD_ARGON2I);
echo '<br/>2 - SHA256 hash pour la chaine : ' . hash('sha256' , $motdepasse);
echo '<br/>3 - BCRYPT (BLOWFISH) hash pour la chaine : ' . password_hash($motdepasse, PASSWORD_BCRYPT);
?>
Laboratoire 2 – Expression Régulière
Programmer un processus client/serveur qui permet à un utilisateur de se connecter à l’application. Note: Application WEB.
Les champs suivants doivent-être saisis et validés: