Module BD2 (commun parcours Info, Miage et double-licence Maths-Info)
Module BD2Avancées (commun parcours Miage et double-licence Maths-Info)
L3 Informatique, UFR Sciences, Université Paris-Sud
E. Waller, LRI, Orsay
la page du module BD2
Environnement
Dernières mise à jour :
- mardi 16 janvier 2018 : création
Contenu de cette page
- Préliminaires et vocabulaire
- Mode interactif : lancer un client interactif et exécuter des ordres SQL
- Mode programme : compiler et exécuter un programme Java/JDBC
- Créer et exécuter une page web
- Remerciements
Préliminaires et vocabulaire
Environnement système:
- Login long : celui de votre compte Adonis Paris-Sud (u-psud.fr).
Ex : emmanuel.waller.
- Login court : associé à votre compte Adonis.
Ex : ewaller.
C'est aussi le nom de votre répertoire principal, on l'obtient sur les
machines de PUIO en tapant : cd puis pwd.
- Machines accessibles depuis l'extérieur du PUIO (adresses IP) permettant
de lancer un client interactif Oracle :
tp-ssh1.dep-informatique.u-psud.fr,
tp-ssh2.dep-informatique.u-psud.fr.
- Créez un répertoire pour le module, appelé : bd2.
(Pour les parcours Miage et Double-Licence, vous créerez dans un prochain
TD aussi un répertoire pour l'autre module : bd2avancees.)
Environnement Oracle 12.2 :
- Votre login Oracle : c'est votre login court (cf ci-dessus) suivi de "_a"
; appelons-le logincourt_a.
Ex : ewaller_a.
- Votre mot de passe Oracle : logincourt_a.
Pour simplifier il est interdit de le modifier.
Ex : ewaller_a.
- Votre "compte" Oracle : c##logincourt_a/logincourt_a
(ex : sqlplus c##ewaller_a/ewaller_a@dbinfo).
(Les caractères "c##" sont imposés par Oracle, ils n'ont pas de
signification dans notre contexte.)
Le terme "compte" est utilisé uniquement dans cette page, pour factoriser
les informations de connexion, ce n'est pas un terme standard.
- Base Oracle : dbinfo.
- Machine hébergeant le serveur Oracle : tp-oracle.
- Port de connexion au serveur Oracle : 1522.
- Vous êtes autorisés, à chaque fois que vous le souhaitez,
à utiliser le compte Oracle de l'enseignant ewaller_a/ewaller_a (mais pour
simplifier évitez de détruire des tables, qui sont utilisées en amphi ou par
d'autres étudiants).
Mode interactif :
lancer un client interactif
et exécuter des ordres SQL
Lancer un client interactif :
- Le client interactif d'Oracle s'appelle SQL*Plus.
- Depuis une machine du PUIO.
Dans une fenêtre, placez-vous dans le répertoire dans lequel vous allez
créer les fichiers pour le TP.
Dans cette fenêtre,
tapez la commande système : sqlplus compte@dbinfo
(où "compte" est défini dans la section ci-dessus "Environnement Oracle
12.2" ; ex : sqlplus c##ewaller_a/ewaller_a@dbinfo).
Vous obtenez le prompt : SQL>.
- Depuis l'extérieur (ex : de chez vous).
Commencez par vous loger
par ssh sur l'une des machines ci-dessus du PUIO, avec
votre login court ou long, et votre mot de passe Adonis.
Ex 1 : ssh -X -l ewaller tp-ssh1.dep-informatique.u-psud.fr.
Ex 2 : ssh -X -l emmanuel.waller tp-ssh1.dep-informatique.u-psud.fr
(si vous avez oublié votre login court).
Puis procédez comme ci-dessus.
Si la connexion est refusée avec un message d'erreur citant "conflicting
key in ~/.ssh/known_host" et indiquant le "numéro" de cette clé, éditez
sur votre machine personnelle (votre portable) le fichier ~/.ssh/known_host
et effacez-en la ligne correspondant au numéro de cette clé.
Exécuter des ordres SQL dans un client interactif :
- Vous avez le prompt SQL>.
- Dans une autre fenêtre,
placez-vous dans le répertoire dans lequel vous allez créer vos fichiers
du TP, et dans lequel vous avez lancé votre client interactif
(ex : .../bd2/tp1).
- Avec un éditeur de texte permettant le copier-coller entre fenêtres,
créez un fichier .sql, par exemple ex1.sql, et écrivez-y les ordres SQL
correspondant à votre application.
- Copiez-collez chaque ordre séparément depuis votre fichier vers le client
interactif.
- Quand tous vos ordres sont débugués,
pour exécuter en une seule fois tous les ordres SQL contenus dans votre
fichier, disons : f.sql,
qui doit être présent dans le répertoire dans lequel a été lancé
SQL*Plus,
tapez dans SQL*Plus : start f (ou sta f, ou @f).
- Pour quitter SQL*Plus, tapez dans SQL*Plus : quit.
Mode programme : compiler et exécuter un programme Java/JDBC
- Placez-vous dans une fenêtre du PUIO (et dans votre répertoire bd2avances).
- L'url de connexion utilise les paramètres compte, base, machine, et port
définis dans la section "Environnement Oracle 12.2" ci-dessus.
- Procéder obligatoirement comme suit (Eclipse interdit, ainsi que tout autre
environnement intégré, etc.).
- Rappel : un programme Java/JDBC se compile et s'exécute comme tout
programme Java, ce qui suit est donc simplement un rappel.
- Avec un éditeur de texte permettant le copier-coller entre fenêtres,
créez un fichier Java, par exemple Ex1.java, et écrivez-y un programme
Java/JDBC.
- Taper javac Ex1.java sur la ligne de commande. Cela crée un fichier Ex1.
class (si Ex1 est le nom de la classe dans le fichier Ex1.java).
- Taper java Ex1 sur ligne de commande.
Créer une page web
On veut créer un fichier td1.html ou ex1.php.
(On verra comment l'exécuter dans la section suivante "Appeler une page web".)
Placez-vous dans une fenêtre du PUIO, et faites ce qui suit dans cet ordre.
- cd
- Si public_html n'existe pas, créez-le : mkdir public_html
(Seuls les fichiers dans ce répertoire seront considérés par le serveur web du
PUIO.)
- chmod go+x public_html
- cd public_html
-
emacs td1.html &
(Lancez votre éditeur favori,
et sauvez une première version du fichier, même vide.)
-
chmod go+r td1.html
(Sinon le serveur web n'aurait pas le droit de lire votre page web td1.html.)
-
Sous l'éditeur, ecrivez un programme HTML dans td1.html.
-
Pour un fichier ex1.php c'est exactement la même chose : cela ne dépend pas du
contenu ou de l'extension du fichier.
Appeler une page web
On va exécuter les pages web td1.html et ex1.php créées dans la section
précédente.
On considère un navigateur (ce n'est pas pareil depuis un formulaire).
Appelons "...adr..." l'adresse du serveur web suivante,
et disons que "toto" est votre login Unix.
- https://tp-ssh1.dep-informatique.u-psud.fr
(tp-ssh2 et tp-ssh3 fonctionnent aussi)
Vous pouvez taper les URLs suivantes dans votre navigateur.
-
...adr.../~toto/td1.html
C'est l'adresse du serveur, et du fichier qu'il doit exécuter, ce qui
en déclenche l'exécution (après qu'une fenêtre pop-up soit apparue en vous
demandant votre login long Adonis et votre mot de passe, que vous devez
rentrer).
Ex : https://tp-ssh1.dep-informatique.u-psud.fr/~toto/td1.html
(Remarque : il ne faut pas inclure dans l'url le répertoire public_html).
-
Pour un fichier ex1.php c'est exactement la même chose : cela ne dépend pas du
contenu ou de l'extension du fichier.
-
Si on veut passer le paramètre x = 150 au programme ex1.php directement dans
l'url :
...adr.../~toto/ex1.php?x=150
-
Pour l'enseignant cela fonctionne comme ci-dessus depuis l'extérieur du PUIO.
Remerciements
Très vifs remerciements à Gilles Soufflet (et auparavant Jean Kuntschmann)
qui a toujours fourni très rapidement un environnement d'excellente qualité
pour toutes mes demandes.