[gepi-users] migration vers Gepi ?

Stephane Boireau (Animateur Secteur Bernay/Pont-Audemer) stephane.boireau at ac-rouen.fr
Mar 11 Juil 13:59:10 CEST 2006


Bonjour,

Le Lundi 10 Juillet 2006 11:25, Xavier Coolen a écrit :
> Après une démonstration de GEPI au proviseur-adjoint de mon lycée,
> l'hypothèse d'une migration de notabene vers GEPI pour la rentrée
> prochaine est étudiée de très près...
>
> Mais la direction me fait quelques réserves...
> Voici les points où j'ai été mis en difficulté et sur lesquels
> j'aimerais vos avis:
>
> 1) Questions relatives à l'aspect visuel du bulletin trimestriel imprimé
> de l'élève:
>
> - Est-il possible de changer l'ordre des colonnes (mettre en premier la
> colonne des notes de l'élève, puis les min, max et moyenne de la classe.

C'est facile à faire, mais si tu le fais, tu devras probablement réitérer tes 
modifications si tu fais une mise à jour de GEPI.

Si faire quelques modifs dans tes pages PHP (après copie de sauvegarde par 
précaution), c'est assez simple (et comme cette page ne fait que de la 
consultation de la base tu ne risques pas d'abîmer la base avec des 
insertions de données éventuellement incohérentes).

Dans la page bulletin/edit.php, il y a un passage:
	echo "<td style=\"width: ".$col_note_largeur."px; text-align: center;\"><p 
class='bulletin'>Min</p></td>\n
	<td style=\"width: ".$col_note_largeur."px; text-align: center;\"><p 
class='bulletin'>Max</p></td>\n
	<td style=\"width: ".$col_note_largeur."px; text-align: center;\"><p 
class='bulletin'>Classe</p></td>\n
	<td style=\"width: ".$col_note_largeur."px; text-align: center;\"><p 
class='bulletin'>&Eacute;lève</p></td>\n";

Tu peux modifier l'ordre.

Et pour les moyennes:
Le passage:
					if ($current_classe_matiere_moyenne[$j] != '') {
						$note=number_format($current_classe_matiere_moyenne[$j],1, ',', ' ');
					} else {
						$note = '-';
					}
					echo "<p class='bulletin'>$note</p>";

Il faut scinder le echo ci-dessous pour laisser le </td> et ramener la suite 
avant l'insertion de la moyenne minimale:

					echo "</td>\n<td style=\"text-align: center; width: ".
$col_note_largeur."px;\" rowspan=\"".$nb_ligne_par_matiere."\"><p 
class='bulletin'><b>";

					$place_eleve = "";
					$flag_moy = 'no';
					if ($current_eleve_note[$j][$i] != '') {
						if ($current_eleve_statut[$j][$i] != '') {
						echo $current_eleve_statut[$j][$i];
						} else {
						if (($affiche_graph == 'y') and 
($current_classe_matiere_moyenne[$j]!="")) {
							if ($current_eleve_note[$j][$i]<5) { $place_eleve=6;}
							if (($current_eleve_note[$j][$i]>=5) and ($current_eleve_note[$j]
[$i]<8))  { $place_eleve=5;}
							if (($current_eleve_note[$j][$i]>=8) and ($current_eleve_note[$j]
[$i]<10)) { $place_eleve=4;}
							if (($current_eleve_note[$j][$i]>=10) and ($current_eleve_note[$j]
[$i]<12)) {$place_eleve=3;}
							if (($current_eleve_note[$j][$i]>=12) and ($current_eleve_note[$j]
[$i]<15)) { $place_eleve=2;}
							if ($current_eleve_note[$j][$i]>=15) { $place_eleve=1;}
						}
						$note=number_format($current_eleve_note[$j][$i],1, ',', ' ');
						echo $note;
						$flag_moy = 'yes';
						}
					} else {
						echo '-';
					}
					echo "</b></p></td>\n";

Ceci étant dit, si tu grises la colonne de l'élève comme indiqué ci-dessous, 
tu peux peut-être éviter ces modifs.


> - Est-il possible de faire apparaître la colonne note de l'élève sur un
> fond gris pour la mettre plus en valeur.

Là aussi, il suffit d'ajouter un attribut bgcolor='grey' ou 
style='background-color:grey;' dans le bon <td>.


> 2) Questions relatives au contenu du bulletin trimestriel imprimé de
> l'élève:
>
> -  La direction veut retrouver sur le bulletin de l'élève du 3ème
> trimestre les notes des 1er et 2ème trimestres; peut-on  afficher ces
> deux colonnes supplémentaires sur le bulletin du troisième trimestre ?

Il ne va pas rester beaucoup de place pour les appréciations...

C'est également possible.
Il faut que tu regardes comment les moyennes de l'élève sont récupérées pour 
faire les mêmes opérations pour d'autres périodes.
Cela se passe en début de page.
Rechercher $current_eleve_note[$j][$i] et $current_eleve_statut[$j][$i]

> - Comment gérer les matières où la notation est alphabétique (A, B,
> C...) comme l'ECJS (Education Civique) car on ne peut pas mettre de
> lettres dans la colonne notes de l'élève.

Là, ça me parait coton.



> - Le système peut-il vérifier que la note saisie est bien comprise entre
> 0 et 20 (afin de prévenir les erreurs de frappe des profs)

Si une note supérieure à 20 est saisie, elle est ramenée à zéro.
Là aussi, tu peux modifier le code de la page pour effectuer ce test (en 
contrôlant aussi les '-', 'disp' et 'abs') et écrire un message en rouge en 
haut de la page (ou écrire un <script>alert("Ton message");</script>) pour 
signaler l'erreur.

Tu peux aussi avant validation, jouer sur l'évènement onBlur.
Quand tu quittes la cellule, tu testes avec un JavaScript la valeur.
Si tu es hors valeurs autorisées, effectuer quelque chose comme
	document.getElementById('Id_de_la_cellule_TD').bgcolor=red;
en ayant ajouté un Id='Id_de_la_cellule_TD' dans le <td> de la saisie de 
notes.
(ton Id_de_la_cellule_TD devra comporter une variable incrémentée pour avoir 
un ID différent pour chaque élève de la classe)


> 3) Questions relatives au relevé de note.
>
> - Comment faire apparaître les appréciations sur le relevé de note (
> c'est un problème important pour nous, les appréciations étant aussi
> importantes que les notes au mois d'octobre...)

Je crois qu'il va falloir que tu décortiques la page pour faire ce que tu 
souhaites, mais là encore, le relevé de notes risque de ne pas tenir sur une 
page si chaque note est commentée...
Je l'ai modifiée pour ma part pour pouvoir ne pas afficher le nom du devoir 
(avec certains collègues qui aiment les devoirs, on aurait dépassé une 
page;o))


> Je précise que je suis partant pour modifier quelques script php avec un
> peu d'aide...

Quand il s'agit seulement de générer des pages HTML, il est assez simple de 
modifier à sa sauce les affichages (avec la réserve d'opérations à 
recommencer lors de mises à jour de versions de GEPI (avec d'éventuelles 
adaptations pour tenir compte de la nature des mises à jour de GEPI)).
S'il est nécessaire de modifier la base de données, ajouter des tables, c'est 
un peu plus délicat.

Cordialement.
-- 
Stéphane Boireau
Animateur TICE sur le Secteur de Bernay/Pont-Audemer (27)


PS:
En regardant la page saisie_notes.php, je suis tombé sur:
	$nom_log = $reg_eleve_login."_t".$k;
	$note = $$nom_log;
Je ne comprends pas bien la syntaxe $$...



Plus d'informations sur la liste de diffusion gepi-users