Projets en cours - eole.ac-dijon.fr

69
Projets en cours Emmanuel Garette, Lionel Morin, William Petit, Gwenaël Rémond Pôle Logiciels Libres - Eole J-EOLE 2017 cc by-sa 4.0

Transcript of Projets en cours - eole.ac-dijon.fr

Page 1: Projets en cours - eole.ac-dijon.fr

Projets en cours

Emmanuel Garette, Lionel Morin, William Petit, Gwenaël Rémond

Pôle Logiciels Libres - Eole

J-EOLE 2017cc by-sa 4.0

Page 2: Projets en cours - eole.ac-dijon.fr

Les nouveaux développements EOLE

EWT = EOLE Web ToolsEAD3 (interface d’administration des modules EOLE)Nouveau Zéphir

Plan :Présentation des fonctionnalitésPrésentation techniqueDémo Action DHCP

1 / 68

Page 3: Projets en cours - eole.ac-dijon.fr

Objectifs de l’EAD3

Rafraîchir l’interface vieillissante de l’EAD2 (2005)

Visuel de l’EAD2

Continuer la refonte de l’EAD commencée avec EOP et EOE

2 / 68

Page 4: Projets en cours - eole.ac-dijon.fr

Principe et fonctionnalités des actions EAD3

Disponible sur EOLE 2.6.1Activer EAD3 : CreoleSet activer_ead3 ouiAccès par l’URL : https : // < WEB_URL > /ead/PortailActions de baseActions spécifiques

3 / 68

Page 5: Projets en cours - eole.ac-dijon.fr

Prévision de disponibilité des actions

EOLE 2.6.1 EOLE 2.6.2 Versions suivantes

Gestion des mises à jourReconfigure-Redémarrage-ArrêtGestion des servicesTâches planifiéesGestion de la sauvegarde

Gestion du DHCPQuotas sur SethACL sur Seth

Gestion des imprimantes et des tâches d’impressionRapport de téléchargement liste des sites interditsRoutage mail SeshatExécution de script administratif HorusImportation de compteListing matérielOuverture de port à la voléeInterface web CUPS

4 / 68

Page 6: Projets en cours - eole.ac-dijon.fr

Écran de connexion

5 / 68

Page 7: Projets en cours - eole.ac-dijon.fr

Familles d’actions

6 / 68

Page 8: Projets en cours - eole.ac-dijon.fr

Actions dans une famille

7 / 68

Page 9: Projets en cours - eole.ac-dijon.fr

Recherche

8 / 68

Page 10: Projets en cours - eole.ac-dijon.fr

Étiquettes

9 / 68

Page 11: Projets en cours - eole.ac-dijon.fr

Marque-Pages

10 / 68

Page 12: Projets en cours - eole.ac-dijon.fr

Les différents types d’actions

Actions génériquesActions personnalisées

11 / 68

Page 13: Projets en cours - eole.ac-dijon.fr

Action générique de type Formulaire

12 / 68

Page 14: Projets en cours - eole.ac-dijon.fr

Action générique de type Fichier

13 / 68

Page 15: Projets en cours - eole.ac-dijon.fr

Action générique de type Application externe

14 / 68

Page 16: Projets en cours - eole.ac-dijon.fr

Futur

Actions restantesGestion des utilisateurs (authentification, rôles)EAD ÉtablissementMultiportail

15 / 68

Page 17: Projets en cours - eole.ac-dijon.fr

Plan

8 Présentation technique d’EWT

9 Ajouter une action dans l’EAD3

10 Modifier une action EAD3 existante

11 Exécuter les actions SaltStack à la main

16 / 68

Page 18: Projets en cours - eole.ac-dijon.fr

Le portail EWT

17 / 68

Page 19: Projets en cours - eole.ac-dijon.fr

Creole

Creole : le moteur d’EOLEgénère l’interface via des dictionnaires Creole

liste des famillesdescription des actionsaction de type formulaire : construit l’interface

met en place les éléments SaltStack

18 / 68

Page 20: Projets en cours - eole.ac-dijon.fr

Le portail EWT

19 / 68

Page 21: Projets en cours - eole.ac-dijon.fr

L’exécuteur de commandes SaltStack

logiciel libre (licence Apache) de gestion des serveursavantage :

langage connu (python) : réutilisation de code plus facileAPI claire, stable et documentée

vocabulaire :les « modules d’exécution » : permet d’exécuter un ensemble decommandesles « états » : met le service dans un état déterminé (configuration,démarrage, ...)les « pillars » : variables de configuration

dans EWT :gestion de l’authentification et des profilstransfert d’informations entre le système et l’interface utilisateurgestion de l’exécution des commandes

20 / 68

Page 22: Projets en cours - eole.ac-dijon.fr

Le portail EWT

21 / 68

Page 23: Projets en cours - eole.ac-dijon.fr

Le portail

écrit avec la bibliothèque libre (licence BSD) polymercréer rapidement des applications web à l’aide de composants webutilise le design Materialbasé sur polymer-element-cataloginitié durant le Hackathon 2016modifié et maintenu par nos soins

22 / 68

Page 24: Projets en cours - eole.ac-dijon.fr

Le portail EWT

23 / 68

Page 25: Projets en cours - eole.ac-dijon.fr

Les actions

écrites principalement en polymerapplications web autonomesencapsulées dans des iframesinteragissent avec le portail via des composants spécifiques

24 / 68

Page 26: Projets en cours - eole.ac-dijon.fr

Plan

8 Présentation technique d’EWT

9 Ajouter une action dans l’EAD3

10 Modifier une action EAD3 existante

11 Exécuter les actions SaltStack à la main

25 / 68

Page 27: Projets en cours - eole.ac-dijon.fr

Créer une nouvelle action

Créer un sous-répertoire dans /usr/share/eole/creole/extra/le nom du répertoire correspond au nom de l’actioncréer un fichier 00_action.xmlstock d’icône : /usr/share/ewt/static/images/icons/appliqué au reconfigureles exemples suivants fonctionnent sur 2.6.2

26 / 68

Page 28: Projets en cours - eole.ac-dijon.fr

Une nouvelle famille d’action

test1/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”

d e s c r i p t i o n=”Je d é c r i s i c i ma f a m i l l e ”c o l o r=”#CC5500”image=” icons /input−gaming . svg ”>

</ fami ly_act ion></ c r e o l e>

27 / 68

Page 29: Projets en cours - eole.ac-dijon.fr

La nouvelle famille

28 / 68

Page 30: Projets en cours - eole.ac-dijon.fr

Action de type reader

action générique de type ’lecture de fichier’permet d’afficher le contenu d’un fichier dans une actionéviter les gros fichiersnécessite une famille ”options” avec :

le nom du fichierle type de colorisation

29 / 68

Page 31: Projets en cours - eole.ac-dijon.fr

Action de type readertest1/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=” reader ”t i t l e=”Un f i c h i e r ”d e s c r i p t i o n=” Af f i che l e contenu d ’ un f i c h i e r ”image=” icons / ed i t− f ind . svg ”>

<p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion><v a r i a b l e s>

<fami l y name=” opt ions ”d e s c r i p t i o n=”Journaux c o u r r i e l ”>

<v a r i a b l e name=” f i l ename ”type=” f i l ename ”><value>/ var / log / mai l . log</ va lue></ v a r i a b l e>

<v a r i a b l e name=” language ”type=” s t r i n g ”><value>pro log</ va lue></ v a r i a b l e>

</ fami l y></ v a r i a b l e s>

</ c r e o l e>30 / 68

Page 32: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type reader

31 / 68

Page 33: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type reader

32 / 68

Page 34: Projets en cours - eole.ac-dijon.fr

Action de type Apache

action générique affichant une application web distribuée par l’Apachelocalajout d’un attribut apache_path avec son alias

33 / 68

Page 35: Projets en cours - eole.ac-dijon.fr

Action de type Apache

test2/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=”apache”t i t l e=”Un Apache”d e s c r i p t i o n=” Af f i che l e s i t e a p p l i c a t i o n ”image=” icons / internet−web−browser . svg ”apache_path=” a p p l i c a t i o n ”>

<p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion>

</ c r e o l e>

34 / 68

Page 36: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type Apache

35 / 68

Page 37: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type Apache

36 / 68

Page 38: Projets en cours - eole.ac-dijon.fr

Action de type formulaire

action générique de type formulaireaffiche un formulaire simple avec les variables définies dans undictionnairesous ensemble de Creoledéfinit le contenu du bouton avec la balise inputquand on valide, envoie les champs modifiés par l’utilisateurpermet de lancer une action SLS

37 / 68

Page 39: Projets en cours - eole.ac-dijon.fr

Action de type formulairetest3/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=”form”t i t l e=”Un fo rmu l a i r e ”d e s c r i p t i o n=” Af f i che l e f o rmu l a i r e de c r é a t i o n d ’ un

r é p e r t o i r e ”image=” icons / f o l d e r . svg ”>

<input>Je veux mon r é p e r t o i r e !</ input><p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion><v a r i a b l e s>

<fami l y name=’Mon fo rmu l a i r e ’><v a r i a b l e d e s c r i p t i o n=”Nom du r é p e r t o i r e a c r é e r ”

type=” s t r i n g ” name=” directory_name ”/></ fami l y>

</ v a r i a b l e s></ c r e o l e>

38 / 68

Page 40: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type formulaire

39 / 68

Page 41: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type formulaire

40 / 68

Page 42: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type formulaire

SaLt State file (SLS), fichier des états (YAML templatisé en Jinja)pour les SLS, créer un sous répertoire test3/sls/test3/sls/init.sls :

mkdir :f i l e . d i r e c to ry :− user : root− group : root− dir_mode : 755− fi le_mode : 644− name : {{

s a l t [ ’ p i l l a r . get ’ ] ( ’ t e s t3 . mon_formulaire . directory_name ’ ,’ ead ’ ) }}

41 / 68

Page 43: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type formulaire

42 / 68

Page 44: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type formulaire

43 / 68

Page 45: Projets en cours - eole.ac-dijon.fr

Action de type external

action générique de type URL externeattribut urlne fonctionne pas avec tous les sites

44 / 68

Page 46: Projets en cours - eole.ac-dijon.fr

Action de type external

test4/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=” e x t e r n a l ”t i t l e=”Un s i t e ”d e s c r i p t i o n=” Af f i che l e contenu d ’ un s i t e exte rne ”image=” icons / network−wire less . svg ”u r l=” https : //www. w ik iped ia . org/”>

<p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion>

</ c r e o l e>

45 / 68

Page 47: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type external

46 / 68

Page 48: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type external

47 / 68

Page 49: Projets en cours - eole.ac-dijon.fr

Action de type custom

action personnaliséec’est à vous de construire l’interface que vous désirezles pages HTML sont à placer dans test5/custom/il faut définir vos fichiers SLS et éventuellement vos propres modulesSaltStack

48 / 68

Page 50: Projets en cours - eole.ac-dijon.fr

Action de type custom

test5/00_action.xml :

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=”custom”t i t l e=”Mon act ion ”d e s c r i p t i o n=”J ’ a i l a p lus b e l l e ac t ion !”image=” icons /software−update−urgent . svg ”><p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion>

</ c r e o l e>

49 / 68

Page 51: Projets en cours - eole.ac-dijon.fr

Action de type custom

test5/custom/index.html :

<!DOCTYPE html><html lang=”en”><head><meta char se t=”utf−8”><t i t l e>Mon a p p l i c a t i o n</ t i t l e>

</head><body>

Ma première act ion custom ! !</body>

</html>

50 / 68

Page 52: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type custom

51 / 68

Page 53: Projets en cours - eole.ac-dijon.fr

La nouvelle action de type custom

52 / 68

Page 54: Projets en cours - eole.ac-dijon.fr

Plan

8 Présentation technique d’EWT

9 Ajouter une action dans l’EAD3

10 Modifier une action EAD3 existante

11 Exécuter les actions SaltStack à la main

53 / 68

Page 55: Projets en cours - eole.ac-dijon.fr

Redéfinir un formulaire

action existante mais dont le formulaire ne vous convient pas

54 / 68

Page 56: Projets en cours - eole.ac-dijon.fr

Redéfinir un formulaire : l’action Sauvegarde

55 / 68

Page 57: Projets en cours - eole.ac-dijon.fr

Redéfinir un formulaire : modifier une variable existante

bareos/01_modif.xml :

<c r e o l e><v a r i a b l e s>

<fami l y name=’ mai l ’><v a r i a b l e name=’ mail_ok ’ r e d e f i n e=”True”>

<value>egaret te@cado les . com</ va lue></ v a r i a b l e><v a r i a b l e name=’ mai l_er ror ’ r e d e f i n e=”True”>

<value>egaret te@cado les . com</ va lue></ v a r i a b l e>

</ fami l y></ v a r i a b l e s>

</ c r e o l e>

56 / 68

Page 58: Projets en cours - eole.ac-dijon.fr

Redéfinir un formulaire : modifier une variable existante

57 / 68

Page 59: Projets en cours - eole.ac-dijon.fr

Redéfinir un formulaire : ajout d’une variable et d’unecontrainte<c r e o l e>

<v a r i a b l e s><fami l y name=” support ”>

<v a r i a b l e name=’ mail_aca ’ d e s c r i p t i o n=” Conf igurat ionc o u r r i e l académique” type=” oui /non”/>

</ fami l y><fami l y name=’ mai l ’>

<v a r i a b l e name=’ mail_ok ’ r e d e f i n e=”True”><value>egaret te@cado les . com</ va lue>

</ v a r i a b l e><v a r i a b l e name=’ mai l_er ror ’ r e d e f i n e=”True”>

<value>egaret te@cado les . com</ va lue></ v a r i a b l e>

</ fami l y></ v a r i a b l e s><c o n s t r a i n t s>

<cond i t i on name=’ f rozen_ i f_ in ’source=’ bareos . support . mail_aca ’>

<param>oui</param><targe t type=’ fami l y ’>bareos . mai l</ ta rge t>

</ cond i t i on></ c o n s t r a i n t s>

</ c r e o l e>

58 / 68

Page 60: Projets en cours - eole.ac-dijon.fr

Redéfinir un formulaire : ajout d’une variable et d’unecontrainte

59 / 68

Page 61: Projets en cours - eole.ac-dijon.fr

Redéfinir un formulaire : ajout d’une variable et d’unecontrainte

60 / 68

Page 62: Projets en cours - eole.ac-dijon.fr

Personnalisation d’un SLS

les fichiers SLS de EOLE sont dans un sous répertoire spécifique :sls/eole/le fichier init.sls contient la liste des sous SLS exécutésles actions sont décrites dans des SLS séparésles SLS personnalisés sont à mettre dans sls/copier le fichier sls/eole/init.sls dans sls/init.slsmodifier le fichier en conséquence (suppression, ajout, changementd’ordre, ...)

61 / 68

Page 63: Projets en cours - eole.ac-dijon.fr

Personnalisation d’un SLS/etc/salt/minion.d/smtp.conf :smtp_admin :

smtp . se rver : l o c a l h o s tsmtp . t l s : f a l s esmtp . sender : fromuser@ac−test . f r

reconfigure/sls/send.sls :server−warning−message :

smtp . send_msg :− name : ’Un r e c o n f i g u r e a ete programme sur l e s e r veu r ’− subject : ’ Reconf igure programme ! ’− p r o f i l e : smtp_admin− r e c i p i e n t : egaret te@cado les . com− sender : fromuser@ac−test . f r

reconfigure/sls/init.sls :inc lude :− r e c o n f i g u r e . run− r e c o n f i g u r e . send

62 / 68

Page 64: Projets en cours - eole.ac-dijon.fr

Personnalisation : complémentspossibilité de redéfinir un SLS existant<action>/sls/eole/mkdir.sls :

mkdir :f i l e . d i r e c to ry :− name : /tmp/ s t u f f / subs tu f− user : eo l e− group : adm− fi le_mode : 744− dir_mode : 755

<action>/sls/mkdir.sls :inc lude :

− eo l e /mkdirextend :

mkdir :f i l e . d i r e c to ry :− user : eo l e

personnalisation des modules faciles63 / 68

Page 65: Projets en cours - eole.ac-dijon.fr

Plan

8 Présentation technique d’EWT

9 Ajouter une action dans l’EAD3

10 Modifier une action EAD3 existante

11 Exécuter les actions SaltStack à la main

64 / 68

Page 66: Projets en cours - eole.ac-dijon.fr

Exécuter un action SaltStack à la main

tout ce qu’on peut lancer depuis l’interface peut l’être via lacommande saltexemple : salt ”local” ead.manageservices_manage_serviceaction_type=”restart” service_name=”spamassassin”retrouve les informations dans le navigateur web

65 / 68

Page 67: Projets en cours - eole.ac-dijon.fr

Exécuter un action SaltStack à la main

66 / 68

Page 68: Projets en cours - eole.ac-dijon.fr

Remerciements

Je remercie la communauté du logiciel libre pour tous ces merveilleuxlogiciels sans lesquels si peu de choses existeraient.

Cette présentation a été réalisée grâce aux logiciels libres suivants :

Le système de composition LATEX TeX LiveL’éditeur de texte VimL’environnement graphique GnomeLe système d’exploitation Fedora

67 / 68

Page 69: Projets en cours - eole.ac-dijon.fr

Licence

Cette présentation est mise à disposition sous licenceCreative Commons by-sa 4.0

Attribution Partage dans les mêmes conditions

Vous pouvez obtenir une copie de la licence

par Internethttp://creativecommons.org/licenses/by-sa/4.0

par courrier postalCreative Commons444 Castro Street, Suite 900 Mountain View,California, 94041, USA.

68 / 68