Ensemble Ouvert Libre Évolutif: Demandeshttps://dev-eole.ac-dijon.fr/https://dev-eole.ac-dijon.fr/favicon.ico2011-10-03T09:18:38ZEnsemble Ouvert Libre Évolutif
Redmine conf-amonecole - Anomalie #2143 (Fermé): eole-web et eole-reverseproxy ne fonctionne pas par défa...https://dev-eole.ac-dijon.fr/issues/21432011-10-03T09:18:38ZDaniel Dehennin
<p>Origine <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Anomalie: eole-web et eole-reverseproxy ne fonctionne pas par défaut ensemble (Fermé)" href="https://dev-eole.ac-dijon.fr/issues/1988">#1988</a></p>
<p>[...]</p>
<p>Supprimer la famille « Reverse proxy » qui est fourniee par <code>eole-reverseproxy</code> dont dépend <code>conf-amon</code></p> eole-common - Anomalie #2090 (Fermé): Killer tous les processus avant de forcer l'arrêt du conteneurhttps://dev-eole.ac-dijon.fr/issues/20902011-09-21T21:36:03ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Je ne sais pas bien pourquoi mais lxc-stop n'arrete pas toujours tous les processus. Je propose de faire un kill -9 sur tous les processus d'un conteneur avant de faire un lxc-stop.</p>
<pre>
--- lxc-halt 2011-09-21 20:58:48.000000000 +0200
+++ /usr/bin/lxc-halt 2011-09-21 23:34:08.000000000 +0200
@@ -55,6 +55,9 @@
if [ $(( $curtime - $starttime )) -gt $TIMEOUT ]; then
echo "Container has been stopping for longer than $TIMEOUT seconds, forcing shutdown" >&2
+ sort -r /cgroup/$CONTAINER/tasks | while read a; do
+ kill -9 $a 2> /dev/null
+ done
lxc-stop -n $CONTAINER
exit 0
fi
</pre> eole-common - Anomalie #2089 (Fermé): /etc/init.d/lxc ne se termine pas si un conteneur ne démarr...https://dev-eole.ac-dijon.fr/issues/20892011-09-21T21:33:32ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Si un conteneur a un problème, le script ne se termine jamais et on ne sait pas pourquoi.</p>
<p>Si on utilise la méthode screen, le screen se ferme si le conteneur ne démarre pas, ce n'est pas utile pour le déboggage.</p>
<p>Dans le patch ci-dessus je fais un boucle de xx seconds (30 par défaut). Si le conteneur n'est pas démarré, un message apparait. A savoir que le conteneur est marqué comme étant "RUNNING" très rapidement normalement. Evidement si le serveur est "RUNNING" le script sort rapidement de la boucle.</p>
<p>De plus si lxc-start s'arrête par une erreur, screen ne se ferme pas (reste bloqué par la commande "read") mais le screen se ferme si le serveur est arrêté normalement.</p>
<p>Il faudrait peut être ajouter un fichier /etc/default/lxc pour modifier les options (durée en seconds ou le support de screen, ...).</p>
<p>Il faudrait voir si on utilise screen par défaut ou non aussi.</p>
<pre>
--- lxc 2011-09-21 20:57:28.000000000 +0200
+++ /etc/init.d/lxc 2011-09-21 23:20:34.000000000 +0200
@@ -17,7 +17,8 @@
DESC="linux containers"
NAME=lxc
SCRIPTNAME=/etc/init.d/$NAME
SCREEN=FALSE
+TIMEOUT=30
# Exit if the package is not installed
[ -x /usr/bin/lxc-start ] || exit 0
@@ -46,17 +47,29 @@
check_read_only
for C in $(ls -1 /var/lib/lxc); do
if [ -r /var/lib/lxc/$C/on_boot ]; then
- if [ "$(cat /var/lib/lxc/$C/on_boot)" = "1" ]; then
- log_progress_msg "$C"
- if lxc-info -n $C | grep STOPPED > /dev/null 2>&1; then
- if [ ! "$SCREEN" = "FALSE" ]; then
- /usr/bin/screen -dmS init-${C} /usr/bin/lxc-start -n $C
- else
- lxc-start -n $C -d
- fi
- lxc-wait -n $C -s RUNNING
- if [ $? -gt 0 ]; then
- return 2
+ if [ ! "$(lxc-info -n $C)" = "'$C' is RUNNING" ]; then
+ if [ "$(cat /var/lib/lxc/$C/on_boot)" = "1" ]; then
+ log_progress_msg "$C"
+ if [ "$(lxc-info -n $C)" = "'$C' is STOPPED" ]; then
+ if [ ! "$SCREEN" = "FALSE" ]; then
+ #stop old screen session
+ /usr/bin/screen -dr ${C} -X quit > /dev/null 2>&1
+ /usr/bin/screen -dmS ${C} /bin/bash -c "{ /usr/bin/lxc-start -n $C; read; }"
+ else
+ lxc-start -n $C -d
+ fi
+ starttime=$(date "+%s")
+ curtime=$(date "+%s")
+ stop="FALSE"
+ while [ ! "$(lxc-info -n $C)" = "'$C' is RUNNING" ] && [ $stop = "FALSE" ]; do
+ sleep .25
+ curtime=$(date "+%s")
+ if [ $(( $curtime - $starttime )) -gt $TIMEOUT ]; then
+ echo "Container $C is starting for longer than $TIMEOUT seconds" >&2
+ [ ! "$SCREEN" = "FALSE" ] && echo "Try to do 'screen -dr $C' for more informations"
+ stop="TRUE"
+ fi
+ done
fi
fi
fi
</pre> conf-scribe - Anomalie #2083 (Fermé): typo dans le dictionnaire phpMyAdminhttps://dev-eole.ac-dijon.fr/issues/20832011-09-20T18:38:28ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>"Activer phpMyAdmin (administaration des bases MySQL)"</p>
<p>=> "Activer phpMyAdmin (administration des bases MySQL)"</p> creole - Anomalie #2082 (Fermé): Instanciation en mode conteneur échoue sur une machine trop rapidehttps://dev-eole.ac-dijon.fr/issues/20822011-09-20T15:48:51ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Sur une machine trop rapide, l'instanciation d'un serveur en mode conteneur échoue.</p>
<p>Visiblement Cheetah n'aime pas qu'on templatise 2 fichiers avec le même nom dans un temps très court. Il utilise alors le contenu du 1er template pour créer le second fichier. C'est particulièrement gênant dans le cadre du mode conteneur, en effet, il y a des boucles utilisant un fichier temporaire '/tmp/container.tmpl'. Si je met un sleep(1) dans la boucle, ca fonctionne. Si je retire le sleep(1) tous les fichiers sont identiques.</p>
<p>Je propose donc d'utilise mktemp plutôt que de nommer directement un fichier.</p>
<pre>
--- cfgparser.py.old 2011-09-20 17:23:54.000000000 +0200
+++ cfgparser.py 2011-09-20 17:28:20.000000000 +0200
@@ -12,6 +12,7 @@
from glob import glob
from commands import getstatusoutput
from shutil import move
+from tempfile import mktemp
try:
import json
except:
@@ -632,7 +633,7 @@
except:
import traceback
traceback.print_exc()
- inputfile='/tmp/container.tmpl'
+ inputfile=mktemp()
files = glob(join(inputdir, '*'))
fd = open(inputfile, 'wa')
for filename in files:
@@ -644,7 +645,7 @@
t.process(self)
for container in containers:
- inputfile='/tmp/container.tmpl'
+ inputfile=mktemp()
files = glob(join(self._make_root_path(container), 'interfaces.d', '*'))
fd = open(inputfile, 'wa')
for filename in files:
@@ -961,7 +962,7 @@
fh.close()
for container in cname:
- inputfile='/tmp/container.tmpl'
+ inputfile=mktemp()
inputdir = join(self._make_root_path(container), 'hosts.d')
outputfile = join(self._make_root_path(container), config.VIRTBASE, 'etc/hosts')
files = glob(join(inputdir, '*'))
</pre> eole-common - Anomalie #2078 (Fermé): Problème de résolution DNS intranet sur Amon 2.3 https://dev-eole.ac-dijon.fr/issues/20782011-09-19T14:58:36ZAnonyme
<p>Si on ne rajoute pas 127.0.0.1 dans resolv.conf, l'amon utilise les DNS externe du FAI et les résolutions DNS sur les zones intranet (in, agr...) ne fonctionnent pas.</p> zephir-client - Anomalie #2072 (Fermé): patch avec commentaires en erreur sur Amon 2.3https://dev-eole.ac-dijon.fr/issues/20722011-09-19T12:41:19ZAnonyme
<p>Bonjour,</p>
<p>Sur amon 2.3, nos patch, précédemment adaptés à la 2.3, apparaissent bons dans le creole.log mais en erreur avec un diagnose.</p>
<p>2011-09-13 12:07:40,820 INFO lecture du fichier /usr/share/eole/creole/dicos/variante/amon_aix-marseille.xml</p>
<p>patching file squid.conf<br />patching file cron-root<br />patching file resolv.conf<br />patching file sudoers<br />patching file active_tags<br />2011-09-13 12:07:41,737 INFO ===========================================<br />2011-09-13 12:07:41,737 INFO Debut de l'instanciation<br />2011-09-13 12:07:41,738 INFO ===========================================<br />2011-09-13 12:07:42,247 INFO Fichier /etc/oinkmaster.conf non instancie<br />2011-09-13 12:07:42,247 INFO -------------------------------------------</p>
<ul>
<li>Patches<br />. patches => Erreur<br />fichiers : squid.conf.patch_</li>
</ul>
<p>Erreur vu dans /usr/share/zephir/monitor/stats/1300/patches/agent.xml</p>
<p>table_data=[
{<br /> 'dest':'/var/lib/creole/squid.conf',<br /> 'etat':'Off',<br /> 'patch':'/usr/share/eole/creole//patch/variante/squid.conf.patch',<br /> 'pattern':'## AixMars - acl pour plage cio non acce',<br /> },</p>
<p>cela vient surement de la comparaison du patch, où nous avons inséré des commentaires, avec le fichier final sans commentaire dans /var/lib/creole/squid.conf</p>
<p>Il faudrait, dans l’agent de comparaison des patchs, ne pas tenir compte des lignes avec un # .</p> creole - Anomalie #2031 (Fermé): dom_parser : l'ID du conteneur "root" est marqué comme étant 127...https://dev-eole.ac-dijon.fr/issues/20312011-09-06T12:22:25ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>La balise <files> des dictionnaires est considéré comme le conteneur "root" dans dom_parser. Par contre l'ID du conteneur est à "127.0.0.1". Je doute que cela soit utilisé ailleurs que par moi, mais ca me semble être une anomalie ;)</p>
<p>Le patch :</p>
<pre>
# diff -u dom_parser.py /usr/share/pyshared/creole/dom_parser.py
--- dom_parser.py 2011-09-06 14:18:49.794387664 +0200
+++ /usr/share/pyshared/creole/dom_parser.py 2011-09-06 14:18:56.154333638 +0200
@@ -50,7 +50,7 @@
files = parse_files(file_root_node)
file_packages = parse_packages(file_root_node)
file_services = parse_services(file_root_node)
- softwares[VIRTMASTER] = [files, file_packages, file_services, {}, '127.0.0.1', '', '']
+ softwares[VIRTMASTER] = [files, file_packages, file_services, {}, '1', '', '']
containers_node = root_node.getElementsByTagName('containers')
if containers_node != []:
</pre> creole - Anomalie #2018 (Fermé): Pas d'erreur si un conteneur n'avait pas d'IDhttps://dev-eole.ac-dijon.fr/issues/20182011-09-02T14:42:09ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Si le conteneur n'a pas d'ID, la procédure va jusqu'au bout mais le conteneur ne peut pas démarrer (puisque pas d'IP généré correctement).</p>
<p>Il faut tester la présence d'un ID :</p>
<pre>
# diff -u cfgparser.py /usr/lib/pymodules/python2.6/creole/cfgparser.py
--- cfgparser.py 2011-09-02 16:32:37.246288551 +0200
+++ /usr/lib/pymodules/python2.6/creole/cfgparser.py 2011-09-02 16:41:04.255194495 +0200
@@ -733,6 +733,9 @@
if not tcontainer[cname].has_key('id'):
raise Exception("Le conteneur %s n'a pas d'attribut ID"%cname)
containerid = tcontainer[cname]['id']
+ if containerid == '':
+ raise Exception("Le conteneur %s n'a pas d'ID !" % name)
+ assert 0 < int(containerid) < 255, "ID n'est pas un chiffre ou n'est pas compris entre 1 et 254"
ip = '%s.%s' % (network, containerid)
self.log.info('Installation du conteneur %s' % cname)
cmd = ['/usr/share/eole/lxc_install.sh',
</pre> conf-amon - Anomalie #2014 (Fermé): erreur dans le diagnose de nginxhttps://dev-eole.ac-dijon.fr/issues/20142011-09-01T19:52:49ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>La variable "revprox_domainname" est une variable multiple.</p>
<p>Le script /usr/share/eole/diagnose/module/16-reverseproxy à la ligne :</p>
<p>if [ -z $revprox_domainname ];then</p>
<p>qu'il faudrait remplacé par :</p>
<p>if [ -z "$revprox_domainname" ];then</p> python-pyeole - Anomalie #2010 (Fermé): Vérification des paquets installés peu efficacehttps://dev-eole.ac-dijon.fr/issues/20102011-08-31T09:43:06ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>J'ai supprimé un paquet dans un conteneur en espérant qu'il se réinstall ... ce n'a pas été le cas.</p>
<p>Les paquets avec le status RC sont considérés comme installés.</p>
<p>Il y a moins de status dans une "selection d'un paquet" que dans l'"état du paquet" d'après le man.</p>
<p>Je propose donc de connaitre l'état de la selection d'un paquet. D'après le man il y a 4 états :</p>
<p>- install<br />- hold<br />- deinstall<br />- purge</p>
<p>On peut considéré les 2 1er états comme installé et les 2 derniers comme désinstallé.</p>
<p>Voici donc la fonction is_installed corrigé :</p>
<pre>
def is_installed(package, container=config.VIRTMASTER, context=True):
""" vérifie si un paquet est installé ou pas"""
cmd = ["/usr/bin/dpkg", "--get-selections", package.strip()]
code, stdout, stderr = system_out(cmd, container=container, context=context)
if code != 0:
# paquet non installé
return False
pkg_status = stdout.strip().split('\n')[-1].split()[1].lower()
#pkg_status is install, desinstall, hold or purge
if pkg_status not in ['install', 'deinstall', 'hold', 'purge']:
raise Exception ('unknown status for package %s : %s'%(package,
pkg_status))
if pkg_status in ['install', 'hold']:
return True
return False
</pre> conf-scribe - Anomalie #1994 (Fermé): pas de regle de firewall entre web et mysqlhttps://dev-eole.ac-dijon.fr/issues/19942011-08-25T09:45:40ZBenoit Vilabenoit.vila@ac-dijon.fr
<p>eole-web dépend de eole-mysql mais il n'y a pas de regle de firewall pour acceder du conteneur web vers le conteneu mysql</p>
<p>attention si le eole-mail est installé le problème disparait car il rajoute la regle vers mysql et qu'il est dans le même conteneur que eole-web</p>
<p>dans le template 00_web.fw il faut ajouter la ligne : <br /><pre>allow_dest(interface='eth0', container='mysql', port='3306')</pre></p> eole-common - Anomalie #1992 (Fermé): web_url est par défaut une IP, le fichier hosts est incorrecthttps://dev-eole.ac-dijon.fr/issues/19922011-08-25T07:24:47ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Si web_url est une IP, il ne devrait pas être dans le fichier /etc/hosts</p>
<p>J'ajoute donc une fonction is_ip dans eosfunc et je test dans le template hosts :</p>
<pre>
--- /usr/share/pyshared/creole/eosfunc.py.old 2011-08-25 09:13:14.080744671 +0200
+++ /usr/share/pyshared/creole/eosfunc.py 2011-08-25 09:14:04.125341910 +0200
@@ -72,6 +72,12 @@
# on n'a pas rencontré d'erreur
return True
+def is_ip(data):
+ try:
+ return valid_ip(data)
+ except:
+ return False
+
def valid_intervalle(data):
""" fonction de validation d'une plage d'ip """
if data == "":
--- hosts.old 2011-08-25 09:03:12.720712936 +0200
+++ hosts 2011-08-25 09:14:14.233800658 +0200
@@ -62,6 +62,6 @@
%%container_ip_dns %%container_name_dns.%%nom_domaine_local
%end if
-%if %%is_defined('web_url') and %%web_url != ''
+%if %%is_defined('web_url') and %%web_url != '' and not %%is_ip(%%web_url)
%%adresse_ip_eth0 %%web_url
%end if
</pre> conf-scribe - Anomalie #1991 (Fermé): redirection en boucle sur eole-webhttps://dev-eole.ac-dijon.fr/issues/19912011-08-25T07:03:03ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>La valeur de web_redirection est à "/" par défaut :</p>
<pre>
<variable name='web_redirection' type='string' description='Application web par défaut (redirection)' >
<value>/</value>
</variable>
</pre>
<p>Dans le template nous avons :</p>
<pre>
%if %%is_defined('activer_envole') and %%activer_envole == 'oui'
RewriteRule ^/$ %%alias_envole [R=permanent]
%else
RewriteRule ^/$ %%web_redirection [R=permanent]
%end if
</pre>
<p>Ce qui signifie que la ligne sera :<br />RewriteRule ^/$ / [R=permanent]</p>
<p>(si on demande / on renvoi vers ... /).</p>
<p>Il faudrait faire un test pour éviter la redirection en boucle :</p>
<pre>
-- Vhost.conf.old 2011-08-25 08:49:32.533349685 +0200
+++ Vhost.conf 2011-08-25 08:54:58.433022085 +0200
@@ -7,8 +7,12 @@
ErrorLog /var/log/apache2/error.log
RewriteEngine On
%if %%is_defined('activer_envole') and %%activer_envole == 'oui'
+ %if %%alias_envole != '/'
RewriteRule ^/$ %%alias_envole [R=permanent]
+ %end if
%else
+ %if %%web_redirection != '/'
RewriteRule ^/$ %%web_redirection [R=permanent]
+ %end if
%end if
</VirtualHost>
--- Vhost-ssl.conf.old 2011-08-25 08:50:23.000750923 +0200
+++ Vhost-ssl.conf 2011-08-25 08:53:46.867051833 +0200
@@ -12,9 +12,13 @@
ServerName %%nom_machine
RewriteEngine On
%if %%is_defined('activer_envole') and %%activer_envole == 'oui'
+ %if %%alias_envole != '/'
RewriteRule ^/$ %%alias_envole [R=permanent]
+ %end if
%else
+ %if %%web_redirection != '/'
RewriteRule ^/$ %%web_redirection [R=permanent]
+ %end if
%end if
# <Location />
# Order Allow,Deny
</pre>
<p>De plus, je ne comprends pas bien pourquoi le template est si compliqué. alias_envole et web_redirection sont les mêmes variables. Pourquoi ne pas jouer avec les redefines ?</p> zephir-parc - Evolution #1980 (Fermé): mise en place du design proposé par amiens (olivier febwin)https://dev-eole.ac-dijon.fr/issues/19802011-08-22T14:44:11ZBruno Boigetbruno.boiget@ac-dijon.fr
<p>intégrer le design fourni (hors logo académique) et faire les modifications pour laisser un choix de thème à l'utilisateur</p> creole - Anomalie #1966 (Fermé): List index out of range si on clique sur "def" pour une multihttps://dev-eole.ac-dijon.fr/issues/19662011-08-16T14:28:10ZEmmanuel GARETTE
<p>L'erreur est la suivante</p>
<p>Traceback (most recent call last):<br /> File "/usr/share/creole/gen_config.py", line 1289, in _set_def_value<br /> self._callback_focus_in_edit(saisie, None, var, True)<br /> File "/usr/share/creole/gen_config.py", line 925, in _callback_focus_in_edit<br /> val = text[cpt]<br />IndexError: list index out of range</p> conf-amonecole - Evolution #1964 (Fermé): Activer le proxy ESU devrait être à ouihttps://dev-eole.ac-dijon.fr/issues/19642011-08-16T12:25:14ZEmmanuel GARETTE
<p>Comme AmonEcole fait proxy, il faudrait proposer par défaut de configurer le proxy dans ESU.</p> creole - Evolution #1960 (Fermé): Gestion des groupes de conteneur pour les serviceshttps://dev-eole.ac-dijon.fr/issues/19602011-07-29T08:41:58ZEmmanuel GARETTE
<p>Les services sont classés par conteneur et les conteneurs peuvent être classés par groupe.</p>
<p>Le problème étant que si deux services identiques sont déclarés dans des conteneurs différent appartenant au même groupe, c'est le dernier service qui a raison.</p>
<p>Il faudrait géré les groupes de conteneur au niveau des services.</p>
<p>Si un service appartient à deux conteneurs d'un même groupe, il doit démarrer si au moins un des deux est activé.</p>
<p>Idem pour les update-rcd.</p> ead - Anomalie #1955 (Fermé): Role administrateur Scribe et administration Amon sur AmonEcolehttps://dev-eole.ac-dijon.fr/issues/19552011-07-27T08:20:44ZEmmanuel GARETTE
<p>Il n'est pas possible de créé rapidement un utilisateur administrateur Amon ou Scribe facilement sur AmonEcole.</p> ead - Anomalie #1953 (Fermé): Cache et authentification non fonctionne en mode conteneurhttps://dev-eole.ac-dijon.fr/issues/19532011-07-26T14:10:32ZEmmanuel GARETTE
<p>L'action cache et authentification ne fonctionne pas en mode conteneur.</p> creole - Evolution #1941 (Fermé): Pouvoir accéder au conteneur depuis le maître sur une interface...https://dev-eole.ac-dijon.fr/issues/19412011-07-21T10:04:12ZEmmanuel GARETTE
<p>Il n'est pas possible d'accéder au interface supplémentaire de type "macvlan".</p>
<p>La commande "ip" n'est pas suffisamment à jour et il faut, à priori, patcher le noyau.</p>
<p>Pourtant, il faut obligatoirement qu'Eclair puisse communiquer sur ces interfaces supplémentaires.</p>
<p>Le problème principal c'est que ethx ne s'appelle plus ethx mais brethx !</p>
<p>C'est gênant pour beaucoup de scripts/outils.</p>
<p>La solution est de proposer des interfaces supplémentaires de type macvlan (par défaut) et de type bridge (avec l’inconvénient du changement de nom de l'interface).</p> zephir-client - Anomalie #1933 (Fermé): cron-zephir.sh dans zephir-parc et dans zephir-client sem...https://dev-eole.ac-dijon.fr/issues/19332011-07-19T12:23:47ZEmmanuel GARETTE
<p>Le script cron-zephir.sh se trouve dans deux paquets différents alors qu'ils semblent faire la même chose.</p>
<p>Comme les deux scripts font la même chose, ils ont évolués différemment et semble tous les 2 buggés sur 2.3.</p>
<p>Dans zephir-parc/cron-zephir.sh :</p>
<p>pas le test de la première instanciation : [ ! -f /etc/eole/config.eol ] && exit 0</p>
<p>Dans zephir-client/cron-zephir.sh :</p>
<ul>
<li>utilisation d'une variable inexistante : $RepEole</li>
<li>test sur FonctionsEole qui n'existe plus</li>
</ul> zephir-parc - Anomalie #1830 (Fermé): dictionnaires en cache non mis à jour en cas de changement ...https://dev-eole.ac-dijon.fr/issues/18302011-06-06T12:55:09ZBruno Boigetbruno.boiget@ac-dijon.fr
<p>Lorsqu'on change la variante d'un serveur dans l'application Zéphir (ou qu'on modifie les dictionnaires d'une variante), les données Creole en cache ne sont pas recalculées (les dictionnaires ne sont pas relus).</p>
<p>En attendant une correction, redémarrer le backend (service zephir restart) permet de mettre le cache à jour.</p>
<p>à vérifier aussi dans le cas d'une migration/upgrade-auto et dans le cas d'un basculement entre amon et amonecole (seul cas de changement de module autorisé).</p> ead - Anomalie #1423 (Fermé): Gestion des rôles non fonctionnel sur amonecolehttps://dev-eole.ac-dijon.fr/issues/14232011-02-16T14:22:41ZEmmanuel GARETTE
<p>Seul la liste des rôles communs est présenté dans la fenêtre de gestion des rôles. Je ne sais pas si c'est uniquement sur AmonEcole le soucis.</p> arv - Anomalie #1061 (Fermé): Fichier de loghttps://dev-eole.ac-dijon.fr/issues/10612010-10-04T14:33:32ZEmmanuel GARETTE
<p>il faudrait faire un fichier de log pour ARV (avec les éventuels tracebacks)</p>