Mercredi - Interfaçages dans un contexte d'administration système et réseau

Navigation rapide : Lundi / Mardi / Mercredi / Jeudi / Vendredi Mémos : Perl / Python / Ruby

8h30 - Brefs rappels sur LDAP

Intervenant Support
Benoît Métrot Rappels LDAP

9h30 - S'interfacer avec un annuaire LDAP

Intervenants Langage Bibliothèque
Jacquelin Charbonnel
Stéphane Aicardi
Perl
Python
LDAP
David Delavennat Ruby ActiveLDAP

10h45 - Pause café

11h00 - Fil rouge « LDAP »

Indications

  • Vous allez travailler dans la sous-arborescence LDAP « ou=fil_rouge_ldap_1,dc=example,dc=com »
  • Vous allez y créer une entrée de type organizationalUnit correspondant à votre laboratoire (ex : UMR1492), afin de travailler dans votre propre sous-arborescence.

Exercices

  1. Se connecter au serveur LDAP
    • Host : directory.example.com
    • Port : 10389
    • Login : uid=admin,ou=system
    • Password : secret
  2. Créer une entrée de type organizationalUnit correspondant à votre laboratoire (ex : UMR1492), afin de travailler dans votre propre sous-arborescence
  3. En dessous de votre entrée UMR1492, créer une entrée de type organizationalUnit que vous nommerez groups
  4. Lister tous les groupes
  5. En dessous de votre entrée UMR1492, créer une entrée de type organizationalUnit que vous nommerez users
  6. En dessous de votre entrée UMR1492 / groups, vous allez créer 10 entrées de type posixGroup
  7. En dessous de votre entrée UMR1492 / users, vous allez créer 50 entrées de type account et posixAccount comportant les attributs cn, uid, uidNumber, gidNumber, homeDirectory et userPassword
  8. Lister tous les utilisateurs
  9. Retirer les 25 derniers utilisateurs ajoutés
  10. Ajouter des utilisateurs dans les groupes
  11. Lister tous les membres du groupe groupe_10
  12. Lister tous les groupes auquels appartient l'utilisateur user.no_13
  13. Retirer des utilisateurs des groupes

Corrigés

13h00 - Repas

14h00 - Quartier libre

17h00 - Fil rouge « Communication réseau »

Finalité

Nous allons voir ici :

  • comment dialoguer avec un service réseau quelconque (en l'occurence ici HTTP), à l'aide d'une interface de programmation de bas niveau, mais universelle (indépendante du service) : il s'agira de gérer un socket et de dialoguer en respectant le protocole,
  • comment utiliser une interface de plus haut niveau, donc forcément plus spécialisée, mais offrant plus de possibilités.

Enoncé

  1. faire un petit programme qui :
    • ouvre un socket TCP vers le host listes.example.com sur le port 80,
    • envoie la requête HTTP suivante :
            GET /anfexo/plm.html HTTP/1.1
            Host: listes.example.com
            -- ligne vide --
            
    • récupère la réponse et l'affiche à l'écran,
    • ferme le socket ;
  2. faire strictement la même chose avec une API client HTTP de plus haut niveau ;
  3. utiliser cette API spécialisée pour :
    • récupérer une page contenant un formulaire, depuis http://listes.example.com/cgi-bin/form.cgi,
    • extraire le formulaire, et vérifier qu'il possède bien 3 champs à remplir intitulés nom, prenom et email,
    • poster le formulaire après l'avoir rempli,
    • vérifier que la soumission s'est bien passée.

Corrigé

18h00 - Fin

Soirée Culture informatique

Composants réutilisables dans la pratique (awk, sed, pipe, tr, cut) dans les différents scripts, par Benoit Métrot, Damien Ferney :

Version

$Id: mercredi.txt 658 2012-05-23 15:17:02Z jaclin $

mercredi.txt · Last modified: 2012/05/23 17:17 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki