Manstu. Juillet Prof. Dr. Jacques PASQUIER-ROCHA Software Engineering Group

Dimension: px
Commencer à balayer dès la page:

Download "Manstu. Juillet 2013. Prof. Dr. Jacques PASQUIER-ROCHA Software Engineering Group"

Transcription

1 Manstu Système de gestion des notes et de la documentation dans le cadre d une école T R AVA I L D E B A C H E LO R L AURIANE COQUOZ Juillet 2013 Super visé par : Prof. Dr. Jacques PASQUIER-ROCHA Software Engineering Group Software Engineering Group Department of Informatics University of Fribourg (Switzerland)

2 Il y a deux manières d'écrire des programmes sans erreur. Seule la troisième fonctionne. Alan Jay Perlis - 2 -

3 Résumé Résumé Le présent travail s articule autour de la création d un système d information permettant une gestion optimisée des notes et de la transmission de documents au sein d un établissement de secondaire II. L analyse des besoins a montré que les enseignants de nombreuses écoles privées préparant à la maturité fédérale souhaitaient une amélioration dans ces domaines spécifiques. Manstu se propose de répondre à ces exigences, tout en présentant une interface intuitive qui lui permet de s adapter à tous les profils d utilisateurs. Les principales fonctions du système correspondent à la gestion des notes pour les professeurs et à leur consultation par les élèves et donc leurs parents ainsi qu à l accès à une plateforme de partage de documents gérée par les enseignants et disponible pour les étudiants, quel que soit le lieu ou le moment. Un tel système ne saurait bien sûr fonctionner sans une gestion adéquate des utilisateurs, laquelle a été implémentée de manière à ce que le secrétariat soit en mesure de modifier l ensemble des données administratives, qu il s agisse du départ d un étudiant ou d un changement de classe durant l année scolaire. Le programme de gestion a ainsi été pensé de façon à répondre à des besoins spécifiques et à s ancrer dans une réalité permettant une utilisation immédiate

4 Table des matières Table des matières 1 Introduction Contexte et réflexions liminaires Contenu Notations et conventions Cas ATHENA L examen suisse de maturité Etude du cas ATHENA Les besoins d ATHENA Plateforme permettant le partage de documents Gestion des notes Administration Analyse de manstu Analyse du comportement Introduction au langage UML Diagramme des cas d utilisation Analyse de la structure des données Modèle entités-associations - généralités Modèle entités-associations de manstu

5 Table des matières 4 Création de la base de données Formes normales Généralités Contrôle des tables de manstu Création de la base de données Choix des logiciels Création de la base de données manstu Manstu Structure du site Conception du système de gestion Connexion à la base de données Gestion des classes Gestion des utilisateurs Authentification Gestion des notes Plateforme de partage de documents Présentation de l interface Role == secretaire Role == professeur Role == eleve Conclusion Difficultés rencontrées Améliorations potentielles Annexes Ressources Bibliographie Ressources internet Logiciels

6 Liste des figures Liste des figures Figure 1 Diagramme de cas d'utilisation général Figure 2 Diagramme de cas d'utilisation pour l'acteur «secrétaire» Figure 3 Diagramme de cas d'utilisation pour l'acteur «professeur» Figure 4 Diagramme de cas d'utilisation pour l acteur «élève» Figure 5 Modèle entités-associations de manstu Figure 6 Généralisation UTILISATEUR Figure 7 Liaison «enseigner» Figure 8 Entités associations concernant la plateforme Figure 9 Entités associations concernant les notes Figure 10 Créer une base de données sur PHPMYADMIN Figure 11 Base de données manstu Figure 12 Structure du site du point de vue du secrétaire Figure 13 Structure du site du point de vue du professeur Figure 14 Structure du site du point de vue de l'élève Figure 15 Page index.php Figure 16 menusecr.php Figure 17 Créer une classe de deuxième année Figure 18 Nouvel utilisateur Figure 19 menu.php Figure 20 Dépôt d'un fichier sur la plateforme d histoire Figure 21 Ajouter une note Figure 22 Modifier une note Figure 23 Plateforme d'histoire Figure 24 Consulter des notes

7 Liste des tables Liste des tables Tableau 1 Table UTILISATEUR Tableau 2 Table SECRETAIRE Tableau 3 Table PROFESSEUR Tableau 4 Table ELEVE Tableau 5 Table CLASSE Tableau 6 Table MATIERE Tableau 7 Table ENSEIGNER Tableau 8 Table ENGAGER Tableau 9 Table PLATEFORME Tableau 10 Table PLAGE Tableau 11 Table NOTE Tableau 12 Table ANNEE

8 Liste du code source Liste du code source Code 1 Création de la table NOTE Code 2 Déclaration des clés étrangères Code 3 Insertion de données dans MATIERE et PLATEFORME Code 4 Insertion de données dans ANNEE Code 5 Connexion à manstu Code 6 Exemple de requête Code 7 Création d'une nouvelle classe Code 8 Répartition des professeurs Code 9 Suppression d'une classe Code 10 Ajout d un nouvel utilisateur Code 11 Modification d'un utilisateur Code 12 Suppression d'un utilisateur Code 13 Authentification Code 14 Contrôle d accès Code 15 Tableau des notes de l élève Code 16 Tableau de notes des professeurs Code 17 Modification des notes Code 18 Ajout d une note Code 19 Affichage du contenu des plages Code 20 Dépôt d'un nouveau fichier Code 21 Ouverture d un nouveau dossier Code 22 Feuilles de style

9 1 Introduction 1 Introduction 1.1 Contexte et réflexions liminaires Contenu Notations et conventions Contexte et réflexions liminaires Un remplacement effectué dans une école privée m a permis de constater des lacunes d organisation dans l établissement. En effet, la direction semblait incapable de communiquer des listes de classes précises aux remplaçants (voire aux professeurs titulaires) tant les effectifs étaient instables. De même, les notes obtenues par les étudiants n étaient pas toujours transmises aux parents, ce dont ces derniers se plaignaient régulièrement. Le système reposait principalement sur la transmission de feuilles qu il s agissait de remplir et de déposer devant le secrétariat (parfois après le départ de la secrétaire). Outre le manque de confidentialité évident quant à la transmission des notes, cette méthode contrastait avec la volonté affichée de la direction de donner l image d une institution orientée vers des compétences modernes, dont l informatique fait indéniablement partie. Cette expérience m a poussée à envisager les améliorations qu un tel système appelait. Je me suis donc renseignée auprès de plusieurs enseignants de secondaire II, dont certains travaillaient dans le secteur privé. Au cours de ces entretiens, il est apparu que la création d une plateforme de gestion des notes était vivement souhaitée par les professeurs et ce pour deux principales raisons. La première relève de la simplicité de la gestion des notes en elle-même. Nombreux étaient les enseignants désireux de ne plus dépendre de leur liste de notes manuscrites ou de leur sempiternelle feuille excel qui, si elle permet d obtenir des moyennes automatiques, - 9 -

10 1 Introduction requiert que chaque professeur conserve autant de fichiers qu il a de classes sur son ordinateur personnel. La seconde raison, plus importante encore, relève de la possibilité de contrôle qu ont les parents. L enseignant n a en effet plus besoin de faire signer chaque note aux parents. Une plateforme permet en ce sens de leur octroyer un accès permanent. Il suffit ainsi à la direction de demander aux parents de se connecter régulièrement (une fois par semaine) pour vérifier tous les résultats obtenus. Dans les entretiens, les enseignants ont souligné le fait que cette manière de procéder allégerait notablement le travail administratif et éviterait le recours à l imitation des signatures, malheureusement courant chez les adolescents. Parallèlement, une seconde fonctionnalité s est rapidement dessinée. Une autre charge importante des enseignants en école privée consiste en la capacité d intégrer des élèves en cours de cursus. Ils ont en effet insisté sur la difficulté à mettre à niveau des étudiants n ayant pas suivi les premières années au sein de leur établissement. Une solution à ce problème consiste à permettre aux nouveaux étudiants d avoir accès à l ensemble des cours des années précédentes, via une plateforme de dépôt de documents. De plus, une telle fonction permet également aux enseignants qui travaillent par groupes de branche de construire un cursus cohérent dans lequel chacun a accès aux cours des autres. Une telle mise en commun facilite évidemment aussi le remplacement d un professeur qui s opère sans changement de plateforme pour l élève. Au cours de mes recherches liminaires, j ai également appris qu une école privée active au secondaire II proposait à tous ses élèves un Ipad fourni par l établissement pour la durée des études. Outre la volonté de confronter les élèves aux nouvelles technologies et le coup marketing indéniable de la généralisation d un tel équipement, la direction considérait l appareil comme un moyen de diminuer drastiquement la charge liée aux très nombreuses photocopies. Un tel contexte dans lequel l étudiant a à tout moment accès au site de l école (y compris durant les heures de cours) encourage la mise en place d une plateforme qui ne se limite dès lors plus au simple référencement des notes ou au dépôt de documents de référence pour les élèves intégrés au cours de l année, mais qui devient surtout un support utile pour le cours. En effet, l enseignant peut tout à fait envisager y déposer ses cours et s y référer comme à son polycopié. Comme nous le verrons infra, les avantages de la numérisation des polycopiés ne se limitent pas aux seules périodes de cours, mais se répercutent aussi sur les révisions. Après avoir cerné les besoins des enseignants et m être informée sur les attentes des directions les plus enclines à intégrer le numérique dans leur établissement, la problématique consistait en l élaboration d un système de gestion capable d intégrer les notes de chaque classe, de supporter l ajout de documents par branche et de tenir compte

11 1 Introduction de la dernière condition unanimement plébiscitée par les enseignants : la simplicité d utilisation. Les entretiens avec les professeurs ont également confirmé la volatilité des effectifs que j avais pu expérimenter durant mon remplacement. Cet aspect devait donc être pris en compte lors de la création du système. Aussi, les listes de chaque classe devait pouvoir être modulée en fonction des arrivées et des départs et ce même en cours d année. A ce stade, les principaux objectifs étaient définis. Il restait néanmoins à créer ce fameux système de gestion après avoir analysé la situation de l école plus en détail. 1.2 Contenu Le présent travail se compose de plusieurs parties. Le deuxième chapitre permettra de comprendre le contexte dans lequel s inscrit l école ATHENA et de décrire les besoins auxquels ce travail se propose de répondre. Le cahier des charges ainsi obtenu sera détaillé dans le troisième chapitre grâce à un diagramme de cas d utilisation. Un modèle entité-association, également défini sous ce point, permettra l élaboration de la base de données comme nous le verrons dans le quatrième chapitre. Enfin le dernier chapitre proposera une visualisation des différentes fonctionnalités du système de gestion et détaillera le code nécessaire à leur mise en place. 1.3 Notations et conventions Les conventions et notations présentées dans cette section faciliteront la lecture du travail. Les figures et tableaux sont numérotés en fonction de leur ordre d apparition, indépendamment des chapitres. Les lignes de codes sont mises en évidence par un encadré gris dans lequel chaque ligne est numérotée. Cette numérotation recommence à 1 au début de chaque section. 1 Insertion du code 2 Les noms des tables et des groupes d entités sont indiqués par des PETITES MAJUSCULES. Les fonctions php ou sql sont notées en italique dans le texte, tout comme les variables php et les noms des pages. Le nom des logiciels ou langages sont précisés en PETITES MAJUSCULES

12 2 Cas Athena 2 Cas ATHENA 2.1 L examen suisse de maturité Etude du cas ATHENA Les besoins d ATHENA Plateforme permettant le partage de documents Gestion des notes Administration L examen suisse de maturité Cet examen est organisé deux fois par an par le secrétariat d Etat à la formation, à la recherche et à l innovation 1 (SEFRI). Il permet l obtention du certificat suisse de maturité reconnu par les universités suisses et se veut donc une alternative à la maturité gymnasiale cantonale pour les personnes ne souhaitant pas suivre le cursus du secteur public (certificat de maturité cantonal). N importe qui en Suisse peut faire une demande d admission. Une fois la candidature acceptée par le SEFRI 2 les conditions pour l obtention du certificat consistent en la réussite des examens des branches listées infra et en la défense d un travail de maturité portant sur «une ou plusieurs disciplines de maturité» 3 et se rattachant «à une unique discipline» 4. Les candidats doivent présenter dix disciplines fondamentales, une option complémentaire et une option spécifique. Certaines conditions président au choix des branches pour les 1 Secrétariat d Etat à la formation, à la recherche et à l innovation SEFRI /01626/index.html?lang=fr [Accès juillet 2013]. 2 Ordonnance sur l examen suisse de maturité du 7 décembre 1998 (Etat le 1 er janvier 2013), art. 4, alinéa 1. Récupéré sur [Accès juillet 2013]. 3 Commission suisse de maturité CSM. Formulaire du travail de maturité. Récupéré sur /index.html?lang=fr [Accès juillet 2013]. 4 Idem

13 2 Cas Athena élèves. Ainsi, une même branche ne peut être retenue comme option spécifique et complémentaire. Il est de même impossible de choisir deux fois la même langue 5 (en option spécifique et en discipline fondamentale par exemple). Si certains candidats décident de passer les évaluations en autodidactes, nombreux sont ceux qui s inscrivent dans une école privée offrant un cursus préparatoire à la maturité fédérale. La plupart de ces écoles proposent un plan d étude sur quatre ans, durée qu il est envisageable de réduire en fonction de son parcours et de ses connaissances préalables. Contrairement à la maturité cantonale, les examens ne sont pas organisés par les professeurs des différentes écoles mais par la Commission suisse de maturité 6. Les sessions d examens sont organisées sur trois sites en Suisse et rassemblent les candidats en fonction de leur zone linguistique. Une telle organisation requiert une définition claire des programmes examinés. Les professeurs (et candidats libres) doivent donc se plier à un programme strict défini pour chaque discipline dans le document Directives pour l examen suisse de maturité 7, lequel est régulièrement mis à jour. L actualisation de données est indispensable, notamment en ce qui concerne la liste des œuvres littéraires pour les épreuves de langues. Le site de la maturité fédérale propose également une liste de manuels obligatoires ou conseillés pour la réussite de chaque épreuve. Les disciplines sont réparties en deux groupes que les candidats peuvent choisir de passer en même temps ou sur plusieurs sessions. Le premier groupe, ou premier partiel, est composé des disciplines suivantes : biologie, chimie, physique, histoire, géographie et arts visuels ou musique. Un candidat ne peut se présenter au second partiel, dont font partie toutes les autres disciplines (langue première, deuxième langue nationale, troisième langue, mathématiques, option spécifique, option complémentaire et présentation du travail de maturité 8 ) que s il s est déjà présenté au premier. En cas d échec à l un des deux partiels, le candidat ne peut pas se représenter tant qu il n a pas fait tous les examens. Le nombre de tentatives maximum est de deux pour chaque partiel. Chaque école privée décide d autoriser ou non un élève à se présenter aux examens en fonction de ses propres critères. En effet, les candidats inscrits dans l une de ces écoles doivent indiquer le nom de l établissement lors de l inscription aux épreuves. Leur résultat apparaîtra donc dans les statistiques de l école. Au vu de la concurrence entre les différents 5 Ordonnance , art. 14, alinéa 5. 6 Ordonnance , art. 2, alinéa 1. 7 Commission suisse de maturité CSM. Directives pour l examen suisse de maturité, mise en vigueur le 1 er janvier Récupéré sur [Accès juillet 2013]. 8 Ordonnance , art. 20 alinéa 3 et

14 2 Cas Athena établissements, un taux de réussite élevé peut devenir un argument marketing important. Si l élève n est pas d accord avec la décision prise par l établissement, il peut quitter l école et se présenter en tant que candidat libre, ce qui ne modifiera pas les statistiques de l institution. Pour information, voici la liste des disciplines telle que fixée dans l article 14 de l Ordonnance Disciplines fondamentales Langue première (français, allemand, italien) Deuxième langue nationale (français, allemand ou italien) Troisième langue (français, allemand, italien, anglais, grec ou latin) Mathématiques Biologie Chimie Physique Histoire Géographie Arts visuels ou musique Option spécifique (une à choix) Langue ancienne (latin ou grec) Langues modernes (troisième langue nationale, anglais, espagnol ou russe) Physique et application des mathématiques Biologie et chimie Economie et droit Philosophie, pédagogie et psychologie Arts visuels Musique Option complémentaire (une à choix) Physique Chimie Biologie Application des mathématiques Histoire Géographie Philosophie

15 2 Cas Athena Economie et droit Psychologie et pédagogie Arts visuels Musique Sport Informatique 2.2 Etude du cas ATHENA L école choisie, que l on nommera pour les besoins du travail ATHENA, est une école de taille moyenne qui accueille chaque année entre cent et cent-cinquante étudiants candidats à la maturité fédérale. Pour des raisons d effectifs et de coûts, l école a décidé de réduire le champ des options à celles qui ont le plus de succès auprès des élèves. L option spécifique se limite donc à économie et droit ou italien. L option complémentaire est quant à elle imposée et tous les élèves doivent étudier de la géographie. Ce choix est dicté par un impératif de réussite : il s explique par le fait que la géographie se veut l option dans laquelle le taux de réussite est historiquement le plus élevé. De plus, les arts visuels ont été préférés à la musique comme discipline fondamentale à cause des contraintes liées à la pratique régulière que l examen de musique nécessite. 9 Pour être en mesure de présenter un examen de musique, les élèves devraient suivre des cours à l extérieur, cours sur lesquels l école n a aucun contrôle. Les arts visuels s imposent donc naturellement. La direction est également ouverte à la possibilité de créer une classe avec une nouvelle option spécifique, mais pour l instant les effectifs minima n ont jamais été atteints. La direction a en effet fixé des limites d effectifs par classes. En dessous de sept élèves, la rentabilité de la classe est jugée insatisfaisante. Elle a également fixé la limite supérieure à quinze car au-dessus, les atouts d encadrement de l école privée ne se justifient plus et les parents se plaignent du manque de disponibilité des professeurs. De plus, ce chiffre correspond à la capacité de la plupart des salles de l établissement. Ces dernières années, l école a toujours pu ouvrir deux classes de première année d option spécifique italien et une classe d option spécifique économie et droit. En règle générale, ces classes restent ouvertes durant les quatre ans de la formation, mais il peut arriver que suite à de nombreux départs ou redoublements l une des classes soit fermée en cours de route (particulièrement entre la troisième et la quatrième année). 9 Commission suisse de maturité CSM. Directives pour l examen suisse de maturité, mise en vigueur le 1 er janvier Page 74. Ces directives confirment en effet que le candidat doit jouer d un instrument «avec une maîtrise suffisante»

16 2 Cas Athena A chaque nouvelle inscription, la direction effectue des entretiens avec le candidat afin de déterminer son niveau de connaissances et son niveau de formation préalable. Un élève ayant terminé une école de commerce ou de culture générale ou encore une personne qui a échoué durant les dernières années de gymnase cantonal rejoint souvent les classes de troisième année. Ceux ayant terminé une autre formation type cfc, provenant de pays étrangers ou ayant un parcours de formation peu cohérent pourront, en fonction des résultats aux examens d évaluation élaborés par l école, entrer directement en deuxième ou troisième. Les premiers partiels ayant lieu au milieu de la quatrième année, la direction ne prend pas la décision de faire commencer à ce niveau, sauf cas exceptionnel. Durant le cursus scolaire, la moyenne est fixée à 4 sur 6. Si un élève se situe entre 3.8 et 4, la direction décide conjointement avec les professeurs et les parents (ou l élève s il est majeur) s il peut continuer son cursus ou s il doit redoubler. Les notes ne sont données qu à titre informatif pour l école, car le système de la maturité fédérale ne tient pas compte des notes obtenues dans les écoles. La direction est donc tout à fait libre de choisir ses propres critères de passages et de sélection pour ceux qui s inscriront aux examens fédéraux. Concernant ces examens finaux, l école propose de les passer sur deux sessions pour éviter d avoir toutes les disciplines à présenter en même temps. Le premier partiel se fait durant les semaines 5 et 7 (fin janvier-début février) 10 de la quatrième année. Le deuxième partiel a lieu durant les semaines 34 et 37 (fin août) 11 de la même année. Comme précisé supra, en cas d échec au premier partiel, l élève est obligé de passer le second partiel pour pouvoir se représenter aux examens échoués lors du premier. La conséquence de l échec à l un ou l autre partiel est donc le redoublement de la quatrième année. Il ne doit cependant se représenter qu aux examens pour lesquels il n a pas obtenu la note 4 et peut choisir de refaire une épreuve s il a obtenu entre 4 et (auquel cas seule la note obtenue lors de la dernière tentative compte). Le critère de sélection des candidats aptes à se présenter aux partiels consiste en une évaluation obligatoire reprenant précisément la forme d un examen de maturité. Cette «maturité blanche» se déroule juste avant les inscriptions des candidats à la maturité officielle et constitue l ultime sélection. Il s agit en fait de l épreuve présentée lors de la dernière session d examen fédéral. Si l élève obtient une moyenne supérieure à 4 pour l ensemble des branches du partiel, il peut s inscrire. Si l élève n a pas la moyenne dans 10 Commission suisse de maturité CSM. Délais d inscription et prochaines sessions d examen. Récupéré sur [Accès juillet 2013]. 11 Idem. 12 Ordonnance , art

17 2 Cas Athena toutes les disciplines, l école tient compte de sa moyenne annuelle pour trancher. Si les notes sont légèrement insuffisantes, le cas est présenté lors d un conseil de classe et la direction demande l avis des professeurs. S il s agit, par exemple, d un élève qui a beaucoup travaillé tout le long de l année, la décision peut lui être favorable sous certaines conditions (cours particuliers, ). Dans tous les cas, les élèves sont suivis par les professeurs et la direction qui n hésite pas à contacter les parents en cas de problème. Des réunions de professeurs fréquentes mettent rapidement en lumière les éventuelles difficultés des élèves, même passagères, et permettent de réagir au plus vite et d améliorer le suivi de chacun des élèves. Maintenant que nous connaissons un peu mieux le fonctionnement de l école, penchonsnous sur les besoins que pourrait combler notre système de gestion. 2.3 Les besoins d ATHENA Plateforme permettant le partage de documents Ayant récemment remarqué l importance du budget lié aux impressions, la direction a demandé à tout le monde de faire un effort d économie. Mais voilà, la matière examinée lors des partiels est répartie sur les quatre années et il n existe pas toujours de manuels ou de polycopiés pour toutes les branches (par exemple, le livre conseillé en histoire n est plus réédité et comme il s agit d une référence pour le secondaire II en général, les quelques manuels qui se vendent d occasion sont très prisés). Les élèves qui arrivent en cours de route sont donc livrés à eux-mêmes et ne peuvent obtenir la matière des années précédentes. C est pourquoi, ces dernières années, certains professeurs ont formé des groupes de branche pour créer des plateformes à leur compte sur lesquelles ils déposaient des articles ou des cours concernant les quatre années. Ce système a très vite montré ses limites. Ils utilisaient en effet des plateformes gratuites de type «dropbox» sur lesquelles les droits d accès ne sont pas gérables. Les dossiers avaient donc tendance à disparaître, accidentellement prélevés par les élèves qui s accaparaient l original au lieu d en faire une copie. Les plaintes à ce sujet étaient très fréquentes et de nombreuses heures ont été perdues à contrôler les contenus et à remettre en place la plateforme. L expérience de ces dernières années a été bénéfique pour les élèves qui pouvaient en tout temps revoir la matière des autres années, mais les professeurs ne souhaitaient plus passer autant de temps à gérer la plateforme

18 2 Cas Athena C est pourquoi il paraît évident qu une plateforme par branche devrait exister au niveau de l école, plateforme pour laquelle les droits seraient répartis de la manière suivante : tous les professeurs de la branche pourraient créer des sections en fonction de la liste des chapitres détaillée dans les directives pour l examen suisse de maturité 13. Idéalement, les professeurs se répartiraient la mise en place des ressources en fonction des chapitres qu ils enseignent. Ces ressources seraient ensuite utilisables par tous durant les cours. Il pourrait s agir par exemple de polycopiés, d articles ou d exercices mis en place par un professeur. Si tous les enseignants n arrivaient pas à se mettre d accord un responsable de branche serait nommé par la direction afin d effectuer un tri et de mettre sur la plateforme ce qui lui semble le plus pertinent. Les élèves auraient comme seul droit de consulter la plateforme et de télécharger les documents. Ils auraient ainsi accès au contenu des quatre années ce qui optimiserait les révisions, en particulier celles liées aux examens partiels. Cette plateforme présente un autre avantage. Sachant que les seconds partiels se déroulent juste après les vacances scolaires, les élèves qui accompagneraient leurs parents en vacances ou rentreraient chez eux à l étranger ne seraient plus obligés de choisir une branche à emporter avec eux pour réviser (au vu du volume de papier que représentent quatre années de matière) : il leur suffirait d avoir une tablette ou un ordinateur portable et une connexion internet pour accéder à l intégralité des contenus et ce n importe où sur la planète Gestion des notes Le second besoin important pour cette école consiste en la mise en place d un système de gestion des notes efficace. Ce système doit permettre à chaque professeur d insérer les notes, de les classer en fonction des dates et des coefficients et de calculer les moyennes par élève. En raison d arrivées et de départs réguliers, le système doit être très souple et accepter facilement ces changements. De plus les notes doivent être classées par coefficient. En effet, à chaque examen est attribué un coefficient en fonction de l importance dudit examen. Le coefficient 1 correspondrait à des examens de contrôle, le coefficient 2 à des examens trimestriels et le coefficient 3 à des examens finaux. Ce système de gestion permettrait aux élèves (et à leurs parents) d avoir un contrôle continu de leurs notes et de recevoir les résultats de leurs examens beaucoup plus rapidement. 13 Commission suisse de maturité CSM. Directives pour l examen suisse de maturité, mise en vigueur le 1 er janvier Pages Elles décrivent les objectifs d apprentissage, le programme de chaque discipline et option par chapitre ainsi que les critères sur lesquels seront évalués les candidats que ce soit pour les examens oraux ou écrits

19 2 Cas Athena Administration Le dépôt de documents et la gestion des notes ne seraient pas possibles sans un système d administration efficace. Ce dernier doit non seulement être en mesure d enregistrer facilement les nouveaux arrivants, mais aussi de les répartir dans les classes en fonction des options spécifiques et des effectifs ou encore de retrouver, voire d effacer les informations d un élève. Après avoir déterminé les besoins de l école retenue pour ce travail, il ne reste plus qu à créer un système de gestion en fonction desdits besoins. C est autour de ce dernier, nommé manstu pour MANagement et STUdent, que s articulera notre analyse, laquelle débouchera sur la programmation et l implémentation du système

20 3 Analyse de manstu 3 Analyse de manstu 3.1 Analyse du comportement Introduction au langage UML Diagramme des cas d utilisation Analyse de la structure des données Modèle entités-associations - généralités Modèle entités-associations de manstu Analyse du comportement Après avoir défini les besoins de l école, il s agit maintenant de développer un système de gestion permettant de répondre à ces besoins. Avant de commencer la programmation, une analyse du comportement et de la structure de manstu s impose. Dans un premier temps, nous nous pencherons sur le comportement. Nous utiliserons pour ce faire un élément du langage UML présentée ci-dessous Introduction au langage UML Le langage UML (pour Unified Modeling Langage) consiste en un ensemble de graphiques standardisés permettant de conceptualiser clairement un système d information. Cette méthode permet de mieux appréhender un projet, même complexe, de recueillir toutes les informations nécessaires à sa réalisation ou d établir un cahier des charges suffisamment complet et accessible au plus grand nombre (à l informaticien comme au commanditaire du projet). Pour ce faire, il existe une série de treize diagrammes permettant d analyser la

21 3 Analyse de manstu structure et le comportement du système (par exemple le diagramme de cas d utilisation que nous définirons et utiliserons infra) 14. Dans le cadre de ce travail, les informations fournies par le diagramme de cas d utilisation sont suffisantes pour l étude du comportement du système. Aucun autre diagramme de la méthode UML ne sera donc utilisé Diagramme des cas d utilisation 16 Ce diagramme permet de montrer graphiquement quels sont les cas d utilisation (fonctionnalités d un système 17 ) à disposition d un utilisateur (appelé acteur). La création d un diagramme d utilisation par rôle permet de comparer simplement les attentes des différents utilisateurs et les possibilités des programmeurs afin de les faire correspondre et d avoir une vision complète de ce qui est demandé. La notion d acteur recouvre l ensemble des personnes physiques ou des entités informatiques qui utilisent le système. Elle pourrait ainsi faire référence à un serveur ou à une interface utilisateur lorsque le système doit fournir une réponse (par exemple un calcul). Un acteur est représenté par la figure d un être humain stylisé ( ), son nom devant être indiqué en dessous. En outre, une relation de généralisation peut exister entre deux acteurs si l un des acteurs est un cas particulier d un autre. Par exemple, «Responsable de branche» est un cas particulier de «Professeur», la relation entre les deux sera alors indiquée de la manière suivante : «Responsable de branche» «Professeur» Un cas d utilisation est quant à lui associé à un (ou plusieurs) acteur(s) par une ligne. Les cas d utilisation peuvent aussi interférer les uns avec les autres. On distingue trois types de relations les concernant : les généralisations, les extensions et les inclusions. La première est similaire à la relation de généralisation susceptible de lier deux acteurs. Les autres sont, indiquées par une flèche en pointillé, accompagnée de la mention «extend» ou «include», sur le modèle suivant : 14 C. MORLEY, J. HUGUES, B. LEBLANC. UML 2 pour l analyse d un système d information, le cahier des charges du maitre d ouvrage. Dunod, Paris, Pages En ce qui concerne l analyse de la structure, nous sortirons de la méthode UML au profit d un diagramme d entités-associations nous paraissant plus adéquat. Pour le détail et la justification de ce choix, voir point B. CHARROUX, A. OSMANI, Y. THIERRY-MIEG : UML 2, pratique de la modélisation, Pearson Education France, Paris, Pages Idem. Page

22 3 Analyse de manstu L extension signifie qu une fonction dépend directement du choix d une autre fonction. Aussi, la détermination de la première fonction implique l utilisation de la seconde, raison pour laquelle il s agit d un cas d utilisation soumis à une condition. Cette condition est d ailleurs indiquée sous forme de note à côté de la relation. L inclusion correspond à une extension de laquelle on aurait ôté le choix initial. Il s agit donc d une relation systématique qui, à un cas d utilisation sans condition fait correspondre une seconde fonction, sans qu à aucun moment la notion de choix n intervienne. Le cadre autour des différents cas d utilisation indique le système dans lequel les cas se trouvent. Ici il s agit du système de gestion appelé manstu. Cas général Le diagramme de cas d utilisation général montre dans les grandes lignes les fonctions que le système de gestion doit fournir. Pour simplifier le diagramme, tous les cas d utilisation n ont pas été indiqués, ils seront développés plus bas pour chaque acteur. manstu Figure 1 - Diagramme de cas d'utilisation général Nous distinguons trois acteurs principaux : le secrétaire, l élève et le professeur. Nous avons volontairement passé sous silence les membres de la direction dans ce diagramme car ils endossent souvent le rôle de professeur par rapport à manstu. Leurs autres fonctions sont extérieures au système de gestion

23 3 Analyse de manstu Acteur «secrétaire» L administration est principalement effectuée par l acteur «secrétaire». Il a pour rôle la gestion des utilisateurs et des classes ainsi que l impression des bulletins de notes pour chaque élève. La gestion des utilisateurs inclut l inscription de tous les nouveaux arrivants, qu ils soient élève, professeur ou secrétaire. Cette inscription permet en effet l accès à manstu. Si le nouvel utilisateur est un élève, le secrétaire doit lui attribuer un numéro de classe. Grâce à une fonction de recherche, le secrétaire doit également pouvoir retrouver les utilisateurs pour modifier leurs coordonnées (ou la classe de référence pour un élève) ou pour supprimer toutes les informations d un utilisateur qui quitterait l établissement. Le secrétaire est également tenu de contrôler les effectifs et de maintenir un nombre de classes susceptible de répondre aux exigences fixées par la direction (sept élèves minimum et quinze maximum). Entre chaque année scolaire il doit également définir les branches dispensées par un professeur dans une classe. Son diagramme de cas d utilisation est donc le suivant : manstu Figure 2 - Diagramme de cas d'utilisation pour l'acteur «secrétaire»

24 3 Analyse de manstu Acteur «professeur» L acteur «professeur» a deux rôles sur ce système de gestion. Le premier, et probablement le plus utilisé, consiste en l inscription des notes durant l année. Pour chaque note il aura à choisir une date (par exemple la date de l examen), un coefficient (1, 2 ou 3) et bien entendu, la valeur de la note obtenue par chaque élève. En cas d erreur ou en cas d absence le professeur doit pouvoir ajouter ou modifier une note en tout temps durant l année. La deuxième tâche qui lui incombe concerne la plateforme de partage. Son rôle est, pour chaque matière et chapitre sous sa responsabilité, de déposer des résumés, des polycopiés ou des articles permettant à tous les élèves de disposer de données complètes en vue de la révision des examens. Cette tâche pouvant être attribuée à d autres professeurs dans la même matière, il doit également être en mesure de consulter le contenu qu ils ont mis en ligne et de l utiliser au besoin afin de rendre le cursus le plus cohérent possible. Voici le diagramme de cas d utilisation correspondant. manstu Figure 3 - Diagramme de cas d'utilisation pour l'acteur «professeur»

25 3 Analyse de manstu Acteur «élève» Les fonctions mises à disposition de l acteur «élève» sont beaucoup plus simples car ses seules prérogatives sont de consulter ses propres notes et d accéder aux plateformes de ses branches afin d y télécharger le contenu mis à disposition par les professeurs. manstu Figure 4 - Diagramme de cas d'utilisation pour l acteur «élève» 3.2 Analyse de la structure des données Afin d analyser la structure du système manstu, nous utiliserons le diagramme entitésassociations, tel que proposé dans le cours d introduction à l informatique de gestion Modèle entités-associations 18 - généralités Ce modèle permet de montrer graphiquement tous les groupes d entités du futur système ainsi que les associations qui les concernent. Il permet également, par l application de quelques règles de passage, de définir les tables nécessaires à la construction de la base de données. Les graphiques sont réalisés à l aide du logiciel EDRAW MAX. Les tables Les tables de la base de données sont représentées sous la forme d un tableau. Les règles à respecter pour leur formation sont les suivantes 19 : 18 A. MEIER. Introduction pratique aux bases de données relationnelles. Springer-Verlag France, ISBN Pages Ibid. Page

26 3 Analyse de manstu Il ne doit pas exister plusieurs tables du même nom dans la base de données Le nom de chaque colonne (attribut) d une table doit être unique Il doit exister un ou plusieurs attribut(s), nommé(s) attribut(s) clé(s), qui permet(tent) d identifier de manière unique chaque ligne de la table Le nombre d attributs et de lignes n est pas déterminé et leur ordre n est pas fixé NOM DE LA TABLE attribut clé attribut 1 attribut 2 attribut 3 entrée 1 xxx xxx xxx entrée 2 xxx xxx xxx Notation «linéaire» : NOM DE LA TABLE (attribut clé, attribut 1, attribut 2, attribut 3, ) Un attribut clé (appelé clé primaire) permet d identifier de manière unique chaque entrée de la table. Il peut s agir soit d un attribut existant, soit d un attribut artificiel «indépendant des applications et dépourvu de toute signification» 20, parfois même d une combinaison entre deux attributs ou d une clé dite étrangère. Une clé étrangère est utile pour lier deux ou plusieurs tables entre elles : lorsque deux tables ont un lien, la clé primaire de l une des tables peut être utilisée comme attribut (clé étrangère) dans l autre table. Nous y reviendrons plus en détail infra. Pour illustrer le choix d une clé primaire, prenons l exemple d une table utilisateur contenant des informations nom et prénom : le choix de la clé primaire ne devrait porter sur aucun de ces attributs, car les chances qu il existe plusieurs personnes portant le même nom ou le même prénom sont trop importantes. Il est, dans cet exemple, plus judicieux de faire appel à une clé artificielle tel qu un numéro d identifiant unique pour chaque utilisateur. Les ensembles d entités Les ensembles d entités sont des groupes d objets spécifiques qui ont les mêmes caractéristiques, appelées attributs 21. Dans un modèle entités-associations, ils sont représentés par un rectangle. Dans la base de données, chaque groupe d entités identifié par le modèle doit avoir sa propre table à laquelle il donne son nom. Il possède donc sa propre clé primaire. 20 A. MEIER. Op. cit. Page Ibid. Page

27 3 Analyse de manstu Les liaisons Les liaisons servent à connecter les ensembles d entités. Chacune de ces liaisons a ses propres attributs, y compris sa clé primaire. Cette dernière correspond généralement à la réunion des clés primaires des tables qui participent à la liaison. Elles sont indiquées par un losange dans le modèle et relient deux ou plusieurs entités. Les associations «Une association d un ensemble d entités EE_1 à un deuxième ensemble EE_2 définit un lien orienté dans cette direction.» 22 En fonction du nombre d entités qui participent à la liaison, il existe cinq types d associations 23 : L association simple : à chaque entité correspond une et une seule entité. Cette association est représentée dans le modèle par un «1» L association conditionnelle : à chaque entité (ne) correspond aucune ou une entité. Cette association est représentée par un «c» L association multiple : à chaque entité correspond une ou plusieurs entité(s). Cette association est représentée par un «m» L association multiple-conditionnelle : à chaque entité (ne) correspond aucune, une ou plusieurs entité(s). Cette association est représentée par un «mc» La généralisation : une entité possède un ou plusieurs sous-ensemble(s), la notation est la suivante 22 A. MEIER. Op. cit. Page Ibid. Pages

28 3 Analyse de manstu Règles de passage 24 Règle 1 Règle 2 Règle 3 Règle 4 Règle 5 Règle 6 Chaque ensemble d entité a sa propre table et sa clé primaire. Une liaison peut avoir sa table et sa clé primaire. Les clés primaires des entités qui participent deviennent des clés étrangères et leur concaténation peut faire office de clé primaire. Les liaisons de type complexe-complexe (m et mc) doivent avoir leur propre table et leur clé primaire. Les clés primaires des entités qui participent deviennent des clés étrangères et leur concaténation peut faire office de clé primaire. Les liaisons de type simple-complexe (simple : 1 ou c et complexe : m ou mc) ne nécessitent pas d avoir leur propre table. La clé primaire de la table qui participe à l association complexe devient une clé étrangère dans la table qui participe à l association simple. Les liaisons de type simple-simple (1 et c) ne nécessitent pas d avoir leur propre table. La clé primaire de la table qui participe à l association simple de type c devient la clé étrangère de la table qui participe à l association simple de type 1. Sinon il faut choisir dans quelle table référencer l autre table. Dans le cas d une généralisation, la clé primaire de la table générale apparaît dans les autres tables comme clé primaire également Modèle entités-associations de manstu Comme spécifié ci-dessus, nous devons définir les entités et les attributs nécessaires à la création du système de gestion manstu. Dans le diagramme des cas d utilisation, nous avons montré qu il existait trois acteurs, donc trois ensembles d entités concernant les utilisateurs : professeur, secrétaire et élève. De plus, comme il sera nécessaire de s authentifier pour accéder aux fonctions de manstu, une table utilisateurs contenant des informations telles que le mot de passe ou le nom d utilisateur peut s avérer très utile. En reprenant les diagrammes de cas d utilisation et les fonctionnalités qui nous ont été demandées, nous pouvons repérer les groupes d entités note, matière, année, classe, plateforme et plage. 24 A. MEIER. Op. cit. Pages Il existe d autres règles dont nous ne nous servons pas dans ce travail

29 3 Analyse de manstu Figure 5 - Modèle entités-associations de manstu Les entités-associations vont être reprises par groupe dans les pages suivantes pour être expliquées et permettre la création des futures tables pas à pas

30 3 Analyse de manstu Gestion des utilisateurs Un utilisateur est soit un professeur, soit un secrétaire, soit un élève. Tous les utilisateurs sont répartis dans ces trois sous-ensembles. Selon la théorie du modèle entités-associations, la généralisation est disjointe, c est-à-dire que les sous-ensembles d entités (ici PROFESSEUR, SECRETAIRE et ELEVE) s excluent mutuellement et complète, c est-à-dire que tous les éléments de l ensemble d entités supérieur se retrouvent dans les sous-ensembles (ici chaque UTILISATEUR est soit un PROFESSEUR, soit un SECRETAIRE, soit un ELEVE). 25 Figure 6 - Généralisation UTILISATEUR Le groupe d entités UTILISATEUR doit contenir les informations d authentification pour toutes les personnes autorisées à utiliser manstu. L ajout de la mention du rôle de chacun sera utile lors de la programmation de la page de login. Elle permettra en effet de répartir les utilisateurs en fonctions des droits octroyés par leur rôle. Pour éviter tout risque, la clé primaire choisie sera une clé artificielle nommée uid. UTILISATEUR (uid, login, mdp, role) Conformément à la sixième règle de passage, les tables PROFESSEUR, SECRETAIRE et ELEVE devront avoir comme clé primaire uid de la table UTILISATEUR. Il leur sera ajouté des attributs concernant leurs données personnelles. La table ELEVE possèdera en plus la mention de l option spécifique choisie par l élève et PROFESSEUR l indication des branches qu il enseigne. SECRETAIRE (sid, nom, prenom, adresse, ville, telephone, ) PROFESSEUR (pid, nom, prenom, adresse, ville, telephone, , branche1, branche2, branche3) ELEVE (eid, nom, prenom, adresse, ville, telephone, , optionspec) La clé primaire uid_utilisateur a été renommée sid (pour secrétaire), pid (pour professeur) et eid (pour élève) pour que la lecture dans le code ne porte pas à confusion. 25 A. MEIER. Op. cit. Pages

31 3 Analyse de manstu Liaison «enseigner» et «engager» Chaque professeur enseigne une ou plusieurs matière(s) et chaque matière peut être enseignée par un ou plusieurs professeur(s). Un professeur est engagé pour enseigner une ou plusieurs matières et pour une matière un ou plusieurs professeurs doivent être engagés. Dans une classe peu(ven)t enseigner un ou plusieurs professeur(s) et un professeur peut enseigner dans une ou plusieurs classe(s). Plusieurs matières sont enseignées dans une ou plusieurs classe(s) et dans une classe sont enseignées une ou plusieurs matière(s). Figure 7 - Liaison «enseigner» Conformément à la règle 3, nous devons créer les tables ENSEIGNER et ENGAGER, contenant comme clé étrangère les clés primaires des ensembles d entités participant à l association. ENSEIGNER (pid_professeur, nom_matiere, no_classe) ENGAGER (pid_professeur, nom_matiere) Le numéro de la classe aura une durée de vie de quatre ans (durée du cursus sans redoublement) et comprendra trois données : le numéro de la classe (en fonction du nombre de classes de même niveau), un «M» correspondant à la première lettre du mot «maturité» et les deux derniers chiffres de l année de fin d études. Par exemple, les deux classes de première année ouvertes en août 2013 s appellent 1M17 et 2M17. Le numéro de classe reste ainsi immuable durant toute la formation (du moins pour les élèves qui ne redoublent pas), ce qui facilite le suivi et le travail administratif. CLASSE (no, anneefin) La table MATIERE ne contient que la liste des noms des disciplines disponibles dans l école. MATIERE (nom)

32 3 Analyse de manstu Tables concernant la plateforme de partage Les ressources de chaque matière sont déposées sur une plateforme et chaque plateforme accueille les ressources d une matière. Une plateforme est composée d une ou plusieurs plages et une plage est intégrée au contenu d une seule plateforme. Figure 8 - Entités associations concernant la plateforme La liaison «deposer» est soumise à la cinquième règle. Il nous est donc possible de choisir dans quel ensemble d entités participant à la relation nous mettons la clé primaire du second ensemble. Le choix s est porté sur PLATEFORME. La table MATIERE n est donc pas modifiée. La liaison «composer» doit quant à elle suivre la règle 4, la clé primaire de PLAGE deviendra donc une clé étrangère de PLATEFORME. PLATEFORME (id, NOM_MATIERE) PLAGE (id, id_plateforme, no_chapitre, titre, commentaire) Vu que le contenu de la matière concerne les quatre années, il paraît judicieux de classer les dépôts de documents par numéro de chapitre et d en indiquer le titre. Au besoin, chaque section pourra également contenir un commentaire. Tables concernant les notes Un élève appartient à une classe et une classe est composée d un ou de plusieurs élève(s). Un élève (n ) obtient aucune, une ou plusieurs note(s) et une note est obtenue par un seul élève. Une note est associée à une année scolaire et pendant une année scolaire l élève peut obtenir une ou plusieurs note(s). Les connaissances dans une matière peuvent être évaluées par une ou plusieurs note(s) et une note évalue les connaissances dans une seule matière. Le numéro de classe permet de (ne) lister aucune, une ou plusieurs note(s) des élèves et une note est listée dans une seule classe

33 3 Analyse de manstu Figure 9 Entités-associations concernant les notes Selon la quatrième règle, les clés primaires des ensembles d entités qui gravitent autour de NOTE se retrouvent en tant que clés étrangères dans cette dernière. NOTE (id, valeur, coefficient, dateexa, eid_eleve, nom_matiere, annee_annee, no_classe) De plus, toujours selon la règle 4, la clé étrangère no_classe provenant de la table CLASSE doit être ajoutée dans la table ELEVE. ELEVE (eid, nom, prenom, adresse, ville, telephone, , optionspec, no_classe) La table ANNEE contient une liste des années scolaires. Les notes ne sont visibles que pour l année en cours, donc la période scolaire doit avoir une date de début et une date de fin. Ces dernières ont été fixées respectivement au 31 juillet et au 1 er août. Une année scolaire sera indiquée sous la forme ANNEE (annee, anneedebut, anneefin)

34 4 Création de la base de données 4 Création de la base de données 4.1 Formes normales Généralités Contrôle des tables de manstu Création de la base de données Choix des logiciels Création de la base de données manstu Le chapitre précédent a permis d établir une liste de tables nécessaires au bon fonctionnement de la base de données. L étape suivante revient à déterminer l efficience de ces tables, en contrôlant qu elles respectent les trois premières formes normales, avant de créer la base de données elle-même. 4.1 Formes normales Généralités 26 Les formes normales sont un ensemble de règles permettant d éliminer des tables les éléments susceptibles de nuire à l efficacité de la base de données et de réorganiser les informations afin de garantir la rapidité de traitement et d éviter les pertes de données en cas de suppressions ou modifications de certaines valeurs. 27 Première forme normale Une table est en première forme normale quand chacun de ses attributs est composé d au plus une valeur. 26 A. MEIER. Op. cit. Pages Sur les cinq formes normales existantes, seules les trois premières seront traitées

35 4 Création de la base de données Deuxième forme normale Pour qu une table soit en deuxième forme normale elle doit tout d abord répondre aux critères de la première forme normale. Il doit de plus exister «une dépendance fonctionnelle totale reliant la clé à chaque attribut» 28. Il faut donc qu à n importe quel attribut de la table ne corresponde qu une et une seule clé primaire, qu elle soit simple ou composée. Troisième forme normale Pour qu une table soit en troisième forme normale elle doit déjà «être en deuxième forme normale et aucun attribut non clé ne [doit] dépendre d une clé quelconque par transitivité» 29. Il faudra contrôler qu aucun attribut ne dépende uniquement d un élément qui dépend lui-même de la clé primaire. Les attributs doivent être directement liés à la clé primaire Contrôle des tables de manstu Reprenons maintenant la liste des tables définitives de manstu et contrôlons qu elles respectent bien les formes normales. Les clés primaires sont indiquées en gras et les clés étrangères, considérées comme des attributs, en italique. UTILISATEUR uid login mdp role Tableau 1 - Table UTILISATEUR SECRETAIRE sid nom prenom adresse ville telephone Tableau 2 - Table SECRETAIRE PROFESSEUR pid nom prenom adresse ville telephone Tableau 3 - Table PROFESSEUR ELEVE eid nom prenom adresse ville telephone optionspec no_classe Tableau 4 - Table ELEVE 28 A. MEIER. Op. cit. Page Ibid. Page

36 4 Création de la base de données CLASSE no anneefin Tableau 5 - Table CLASSE MATIERE nom Tableau 6 - Table MATIERE ENSEIGNER pid_professeur nom_matiere no_classe Tableau 7 - Table ENSEIGNER ENGAGER pid_professeur nom_matiere Tableau 8 - Table ENGAGER PLATEFORME id nom_matiere Tableau 9 - Table PLATEFORME PLAGE id id_plateforme no_chapitre titre commentaire Tableau 10 - Table PLAGE NOTE id valeur coefficient dateexa eid_eleve nom_matiere annee_annee no_classe Tableau 11 - Table NOTE ANNEE annee anneedebut anneefin Tableau 12 - Table ANNEE Les attributs ne contiennent qu une seule valeur par cellule dans toutes les tables. Ces dernières sont donc en première forme normale. De plus, à chaque attribut ne correspond qu une clé primaire. Les tables sont donc en deuxième forme normale. En outre, «aucun attribut non clé ne [dépend] d une clé quelconque par transitivité» 30. Les tables sont donc également en troisième forme normale. 30 A. MEIER. Op. cit. Page

37 4 Création de la base de données 4.2 Création de la base de données Choix des logiciels Créer une base de données suppose l utilisation d un serveur pour le stockage des données, d un système de bases de données relationnelles pour la gestion des informations et d un langage permettant d interroger et de travailler la base de données. Le choix s est porté sur le paquet XAMPP qui contient notamment un serveur APACHE, un système de bases de données MYSQL et PHPMYADMIN, le système permettant de gérer MYSQL. Une fois le serveur installé sur le disque dur de l ordinateur, la base de données est accessible de manière locale via n importe quel navigateur web à l adresse localhost/phpmyadmin Création de la base de données manstu La liste des tables obtenue au chapitre précédent permet de les intégrer à la base de données. Pour ce faire, commençons par nous rendre sur le lien localhost/phpmyadmin. Dans l onglet «Base de données», nous pouvons entrer le nom de la base et choisir l interclassement permettant de gérer les différents types d écriture et les symboles. Le choix est particulièrement important pour des langues comme le français qui utilisent beaucoup de diacritiques. Pour la base de données de manstu c est donc un interclassement de type utf-8 qui a été choisi car il est capable de gérer un très grand nombre de caractères (plus que ce dont nous aurons besoin). Figure 10 - Créer une base de données sur PHPMYADMIN

38 4 Création de la base de données L onglet «SQL» permet ensuite d entrer les requêtes nécessaires à la formation des tables et à leur remplissage. Certaines tables seront remplies par ce biais, car elles contiennent des informations ne dépendant pas des utilisateurs. Les autres manipulations se feront via une interface web combinant langage PHP et requêtes SQL comme nous le verrons infra. Pour l instant, contentons-nous d utiliser le langage relationnel SQL. Création d une table La table NOTE est créée ci-dessous. Les autres tables sont disponibles dans le document tables.txt contenu dans le cd-rom d annexes. NOTE id valeur coefficient dateexa eid_eleve nom_matiere annee_annee no_classe 1 CREATE TABLE note ( 2 id int(11) NOT NULL auto_increment, 3 valeur decimal(3,2), 4 coefficient int(2), 5 dateexa date, 6 eid_eleve int(11) NOT NULL, 7 nom_matiere char(64) NOT NULL, 8 annee_annee varchar(9) NOT NULL, 9 no_classe varchar(5) NOT NULL, 10 PRIMARY KEY (id), 11 FOREIGN KEY eid_eleve REFERENCES eleve (eid), 12 FOREIGN KEY nom_matiere REFERENCES matiere (nom), 13 FOREIGN KEY annee_annee REFERENCES annee (annee), 14 FOREIGN KEY no_classe REFERENCES classe (no) 15 ); Code 1 - Création de la table NOTE Le type de chaque attribut doit être indiqué par une abréviation : Nombre entier Nombre décimal Date Chaîne de lettres Chaîne de nombres et lettres Texte de taille moyenne int() decimal() date char() varchar() mediumtext Le nombre maximum que comportera la valeur est indiqué dans la parenthèse du type. Si la valeur ne doit pas être nulle, il sera mentionné NOT NULL. Enfin, pour les clés artificielles, la fonction auto_increment oblige le serveur à ajouter automatiquement une valeur nonexistante à une nouvelle entrée

39 4 Création de la base de données A la fin de la table, PRIMARY KEY(id) spécifie que id sera la clé primaire. FOREIGN KEY(eid_eleve) REFERENCES eleve (eid) permet de notifier à la base de données que eid_eleve est une clé étrangère qui provient de l attribut eid de la table ELEVE. Pour rassembler les informations en un seul point, les clés étrangères ont été déclarées dans la requête CREATE mais il est plus commode de les définir à la suite de la création des tables grâce à ALTER TABLE. 16 ALTER TABLE note ADD CONSTRAINT FK_eleve_eid_eleve FOREIGN KEY (eid_eleve)references eleve (eid); Code 2 - Déclaration des clés étrangères Entrées des valeurs fixes Les tables MATIERE, ANNEE et PLATEFORME contiennent des données qui ne pourront pas être modifiées grâce à l interface utilisateur car il s agit de valeurs qui ne changent que très rarement. Il est possible de les remplir grâce à des requêtes SQL que nous insèrerons dans l onglet éponyme. La liste est également disponible dans le document tables.txt. 1 INSERT INTO matiere ( nom ) VALUES ( Francais ); 2 3 INSERT INTO plateforme ( nom_matiere ) VALUES ( Francais ); 4 Code 3 - Insertion de données dans MATIERE et PLATEFORME Les dates anneedebut et anneefin sont indiquées sous la forme «aammjj». Cette manière de faire nous permettra de comparer les dates dans ajoutnote.php. Les notes d une année scolaire précise sont disponibles du 1 er août au 31 juillet. Pour la période anneedebut sera et anneefin INSERT INTO annee ( annee, anneedebut, anneefin ) VALUES ( , , ); 6 Code 4 - Insertion de données dans ANNEE

40 4 Création de la base de données La base de données manstu est désormais prête à être utilisée. Il ne reste plus qu à la remplir. Figure 11 - Base de données manstu

41 5 Manstu 5 Manstu 5.1 Structure du site Conception du système de gestion Connexion à la base de données Gestion des classes Gestion des utilisateurs Authentification Gestion des notes Plateforme de partage de documents Présentation de l interface Role == secretaire Role == professeur Role == eleve Structure du site Les trois diagrammes suivants représentent la structure et les interactions entre les pages.php qui composent manstu en fonction de l utilisateur enregistré (secrétaire, professeur puis élève)

42 5 Manstu Figure 12 - Structure du site du point de vue du secrétaire Figure 13 - Structure du site du point de vue du professeur Figure 14 - Structure du site du point de vue de l'élève

43 5 Manstu 5.2 Conception du système de gestion Ce chapitre verra la conception du système de gestion manstu. HTML est utilisé pour créer l interface utilisateur, mais ce langage ne permet que d afficher et de formater un contenu. C est pourquoi l utilisation du langage de programmation PHP, couplé à des requête SQL, sera nécessaire afin de gérer les informations au niveau de l interface et d interagir avec la base de données. Le choix s est porté sur PHP car il est réputé fiable, souple, rapide et intuitif. Le code qui constitue le système va être analysé par fonctionnalité. Par manque de place, nous n afficherons ici que des morceaux choisis, desquels seront retirées certaines balises de formatage. Certaines fonctions, comme la suppression, ont été utilisées à plusieurs reprises. Mêmes si la situation et les variables diffèrent, le principe reste le même et le code ne sera pas répété. L intégralité du code se trouve sur le cd-rom joint à ce travail Connexion à la base de données L utilisation d une interface web avec une base de données MYSQL ne peut se faire sans connexion à ladite base. À cette fin, la variable $db sera définie avec les informations de connexion dans l ordre suivant : emplacement du serveur, nom d utilisateur, mot de passe, nom de la base de données. 1 = new mysqli('localhost', 'root', '', 'manstu');?> Code 5 - Connexion à manstu Cette ligne de code est contenue dans un fichier nommé connect.php. Les informations de connexion sont rappelées au sommet de chaque page par include( connect.php ) ce qui évite d avoir à recopier tout le code sur chaque page. Les menus seront également rappelés de cette manière. Le code 6 donne un exemple de requête et la manière de rappeler $db. A chaque occurrence une variable $requete doit être définie : elle utilisera un SELECT pour retirer des informations, un INSERT pour en ajouter, un UPDATE pour les modifier et un DELETE pour en supprimer. La fonction query() effectuera la requête sur la base de données et retournera une série de résultats dans $resultat. Il suffira ensuite de les récupérer selon les besoins

44 5 Manstu 2 <?php 3 $requete = SELECT no FROM classe ; 4 $resultat = $db->query($requete); 5?> Code 6 - Exemple de requête Gestion des classes La gestion des classes est attribuée à l acteur secrétaire, comme nous l avons constaté dans son diagramme de cas d utilisation (figure 2). Afin de répondre à tous les besoins, un certain nombre de pages a du être créé. La page classe.php fait office de menu : elle renvoie sur les pages suivantes en fonction de l option choisie. Création d une nouvelle classe Le formulaire de création de classe se trouve à la page classe.php. Le niveau de la classe doit être sélectionné et l information est envoyée sur la page nouvelleclasse.php. 1 <form id="formulaire" action="nouvelleclasse.php" method="post"> 2 <legend>creation d'une nouvelle classe</legend> 3 <label>niveau</label> 4 <select name="niveau" id="niveau" /> 5 <OPTION VALUE="1" selected>première</option> 6 <OPTION VALUE="2">Deuxième</OPTION> 7 <OPTION VALUE="3">Troisième</OPTION> 8 <OPTION VALUE="4">Quatrième</OPTION> 9 </SELECT></p> 10 <input type="submit" value="créer" name="creerclasse"></p> 11 </form> La variable $an récupère la date du jour et en conserve l année. Le chiffre ainsi obtenu est ajouté à la différence entre cinq et le niveau de la classe. Une requête compte ensuite combien de classes de ce niveau existent déjà dans la table CLASSE et retourne un numéro $nombre (1 si aucune classe, 2 si une classe, etc). Le numéro de la classe peut ensuite être recomposé en concaténant $nombre, M et $an. La deuxième requête enregistre la valeur. L utilisateur retourne sur la page classe.php

45 5 Manstu 12 $niveau=$_post['niveau']; 13 $an=date('y'); 14 if($niveau == 1) { $an += 4;} 15 elseif ($niveau == 2) { $an += 3;} 16 elseif ($niveau == 3) { $an += 2;} 17 elseif ($niveau == 4) { $an += 1;} requete = "SELECT anneefin FROM classe WHERE anneefin = '$an'"; 20 $resultat = $db->query($requete); 21 $nombre = $resultat->num_rows; 22 $nombre += 1; 23 $no = $nombre.'m'.$an ; $requete2 = "INSERT INTO classe VALUES ('$no', '$an')"; 26 $resultat2 = $db->query($requete2); Code 7 - Création d'une nouvelle classe Répartition des professeurs L utilisateur commence par choisir une classe dans le menu déroulant de la page classe.php. 1 <form id="formulaire" action="attribution.php" method="post"> 2 <legend>attribution des cours</legend> 3 <label>choix de la classe</label> 4 <select name="classe" id="classe" /> 5 <?php 6 $requete = "SELECT no FROM classe"; 7 $resultat = $db->query($requete); 8 while($nom=$resultat->fetch_array()){ echo' 9 <OPTION VALUE="'.$nom['no'].'"> '.$nom['no'].'</option>'; } 10?> 11 </select></p> 12 <input type="submit" value="suite" name="creerclasse"> 13 </form> L information $classe est envoyée sur la page attribution.php. Pour chaque branche s affiche une liste déroulante contenant les noms de tous les professeurs pouvant l enseigner. La liste est créée à partir de la table ENGAGER. Le code est le même pour toutes les disciplines, y compris l option spécifique qui est choisie sur cette page

46 5 Manstu 14 <label>histoire</label> 15 <select name="histoire" /> 16 <?php 17 $requete = "SELECT pid_professeur FROM engager WHERE nom_matiere='francais' "; 18 $resultat = $db->query($requete); 19 while($pidhi = $resultat->fetch_array()) 20 { $pidhi= $pidhi[ pid_professeur ]; 21 $reqhi = SELECT nom, prenom, pid FROM professeur WHERE pid = $pidhi 22 $reshi = $db->query($reqhi); 23 $histoire = $reshi->fetch_array(); 24 echo'<option VALUE="'.$histoire['pid'].'">'.$histoire['nom'].''.$histoire ['prenom'].' </OPTION>'; }?> Une fois toutes les matières attribuées, la liste est enregistrée dans la table ENSEIGNER qui permet de lier le pid d un professeur à une matière et un numéro de classe. Une fois l enregistrement effectué, l utilisateur est renvoyé sur classe.php. 25 $pid=$_post['histoire']; 26 $requete = "INSERT INTO enseigner VALUES ('$no', 'Histoire', '$pid')"; 27 $resultat = $db->query($requete); Code 8 - Répartition des professeurs Suppression d une classe Toujours sur la page classe.php, le secrétaire choisit la classe à supprimer dans un menu déroulant. L opération ne peut être effectuée que lorsque la classe est vide. C est pourquoi il faut dans un premier temps contrôler si un élève possède encore la mention de la classe. Si la fonction num_rows ne retourne pas 0, l opération s arrête et un message d erreur s affiche. Sinon la requête DELETE FROM supprime la classe dans la table. 1 $classe = $_POST['classe']; 2 3 $requete1 = "SELECT * FROM eleve WHERE no_classe = '$classe' "; 4 $resultat1 = $db->query($requete1); 5 if ($resultat1->num_rows){ 6 $texte = 'La classe'.$classe. 'ne peut pas être supprimée car elle contient encore des élèves'; 7 } 8 else { 9 $requete2 = "DELETE FROM classe WHERE no = '$classe' "; 10 $resultat2 = $db->query($requete2); 11 $texte = 'La classe '.$classe. ' a été supprimée'; 12 } Code 9 - Suppression d'une classe

47 5 Manstu Gestion des utilisateurs La gestion des utilisateurs est également une fonction du secrétariat. Le formulaire permettant d entrer les premières données (informations personnelles) se trouve sur la page inscription.php. La modification et la suppression des données se fait par contre à partir de la page listes.php : Ajout d un nouvel utilisateur et définition de son rôle Les premières informations sont récoltées sur la page inscription.php. Il n est pas nécessaire de contrôler que tous les champs obligatoires soient remplis car la mention de required dans l input empêche le navigateur de continuer si le champ est vide. Les informations sont envoyées sur complement.php. 1 <form action="complement.php" method="post"> 2 <legend>informations personnelles</legend> 3 <label>nom</label><input type="texte" name="nom" required />< 4 <label>prénom</label><input type="texte" name="prenom" required /> 5 <label>adresse</label><input type="texte" name="adresse" required /> 6 <label>npa Ville</label><input type="texte" name="ville" required /> 7 <label>téléphone</label><input type="texte" name="telephone" /> 8 <label>adresse électronique</label><input type="texte" name=" " /> 9 <legend>fonction</legend> 10 <label>fonction</label> 11 <select name="role" /> 12 <OPTION VALUE="eleve" selected>elève</option> 13 <OPTION VALUE="professeur">Professeur</OPTION> 14 <OPTION VALUE="secretaire">Secrétaire</OPTION> 15 </select> 16 <input type="submit" value="suite" name="submit"> 17 </form> Pour éviter de perdre une partie des données, les variables sont passées par la fonction real_escape_string(). Cela permet en effet de protéger les valeurs si elles contiennent des caractères spéciaux, comme ou /. Ils sont relativement rares dans les noms et prénoms mais peuvent vite devenir gênant dans une adresse : la variable «Chemin d en haut» qui n est pas passée par la fonction real_escape_string() sera par exemple enregistrée en tant que «Chemin d» et «en haut» ne sera pas pris en compte. 18 $adresse=$_post['adresse']; 19 $adresse = $db->real_escape_string($adresse); C est aussi sur cette page que les noms d utilisateurs et mots de passe sont créés. Une variable $login récupère et concatène le prénom et le nom, retire les accents (str_replace()) et les majuscules (strtolower()), envoie une requête à la base de données pour contrôler que la valeur n existe pas dans la table UTILISATEUR et retourne le résultat. Si la requête revient

48 5 Manstu vide, la page affiche le login. Si la requête renvoie quelque chose (if ($resultat->fetch_row() n est pas vide), on ajoute un nombre aléatoire au nom d utilisateur et la page affiche le login. 20 $login=$prenom.$nom; 21 $login=strtolower($login); 22 $original = array("ô", "ö", "à", "ä", "á", "â", "ã", "ç", "è", "é", "ê", "ë", "î", "ì", "ï", "ü", "ù", "ú", "û", "ÿ", "ý"); 23 $change = array("o", "o", "a", "a", "a", "a", "a", "c", "e", "e", "e", "e", "i", "i", "i", "u", "u", "u", "u", "y", "y"); 24 $login=str_replace($original, $change, $login); 25 $requete="select login FROM utilisateur WHERE login= '$login' "; 26 $resultat=$db->query($requete); 27 if($resultat->fetch_row()) 28 { 29 $nombre = mt_rand(1, 30); 30 $login=$login.$nombre; 31 } Pour le mot de passe aléatoire, il suffit de prendre une variable qui contient une chaîne de caractères $char. Les caractères 0oO et 1lI sont volontairement retirés pour éviter les erreurs de lecture. La variable $char est ensuite «mélangée» grâce à la fonction str_shuffle() et découpée en un segment de huit caractères par substr(). La variable $mdp est alors affichée. 32 $char='abcdefghijkmnpqrstuvwxyzabcdefghjkmnpqrstuvwxyz '; 33 $mdp=str_shuffle($char); 34 $mdp=substr($mdp, 0, 8); La suite de la page est différente en fonction de ce qui a été choisi comme rôle. Si la variable $role correspond à un élève (if($role == eleve )), le choix d une option spécifique et de sa classe se font dans un nouveau formulaire. Si $role est un professeur (elseif($role == professeur )), le secrétaire doit indiquer les branches qu il peut enseigner. La liste des disciplines est contenue dans la table MATIERE, il suffit donc de faire une liste comme nous l avons déjà fait pour les classes. Pour un nouveau secrétaire, toutes les informations sont déjà présentes. 35 <label>première branche</label> 36 <select name="branche1" required /> '; 37 $resultat1 = $db->query($requete); 38 while ($branche1 = $resultat1->fetch_array()){ echo' 39 <OPTION VALUE ="'.$branche1['nom'].'"> '.$branche1['nom'].' </OPTION>'; } echo' 40 </select>

49 5 Manstu Une fois ce deuxième formulaire complètement rempli et validé, la page validationinscr.php récupère toutes les variables POST. Avant des les entrer dans les tables concernées, le mot de passe doit être crypté pour ne pas être enregistré en clair dans la base de données. Pour cela, la variable $mdp est passée par l algorithme de la fonction de hachage md5() qui permet d obtenir une «empreinte» du mot de passe. N importe quel mot passé par md5() retourne une chaîne de trente-deux caractères aléatoires. Par exemple le mot de passe «1234» devient «81dc9bdb52d04dc20036dbd8313ed055». Le hachage n allant que dans un sens, le résultat est toujours le même pour une chaîne de caractères donnée, mais il est presque impossible de faire le chemin inverse. Le mot de passe est donc envoyé sur la base de données et enregistré sous la forme «81dc9bdb52d04dc20036dbd8313ed055». 41 $mdp=$_post['mdp']; 42 $crypt=md5($mdp); Toutes les informations sont présentes, il ne reste plus qu à les enregistrer dans les bonnes tables. 43 $requete="insert INTO utilisateur VALUES ('', '$login', '$crypt', '$role')"; 44 $resultat= $db->query($requete); $uid = $db->insert_id; Ce code est valable pour tous les utilisateurs. La fonction insert_id permet de récupérer l uid qui vient d être créé. Il ne reste plus qu à l enregistrer en tant qu eid dans ELEVE, pid dans PROFESSEUR ou sid dans SECRETAIRE. 47 elseif($role=='eleve'){ 48 $classe=$_post['classe']; 49 $optionspec=$_post['optionspec']; 50 $requete="insert INTO eleve VALUES ('$uid', '$nom', '$prenom', '$adresse', '$ville', '$telephone', '$ ', '$optionspec', '$classe')"; 51 $resultat=$db->query($requete); 52 $db->close(); 53 } Code 10 - Ajout d un nouvel utilisateur Modification d un utilisateur (élève) Pour modifier un utilisateur nous devons d abord le trouver. Pour cela, la page listes.php propose un formulaire de recherche. Rechercher.php affiche tous les résultats obtenus en fonction des critères

50 5 Manstu 1 $nom = $_POST['nom']; 2 $prenom = $_POST['prenom']; 3 $requete = "SELECT * FROM eleve WHERE nom LIKE '$nom' OR prenom LIKE '$prenom' "; 4 $resultat = $db->query($requete); 5 while($donnees=$resultat->fetch_array()) 6 { } Un formulaire similaire à celui rencontré sur la page utilisateur.php permet de modifier les données personnelles et la classe. A la validation, les informations sont mises à jour dans la base de données par une requête UPDATE. 7 $requete = "UPDATE eleve SET adresse='$adresse', ville='$ville', telephone='$telephone', ='$ ' WHERE eid='$eid'"; 8 $resultat = $db->query($requete); 9 10 header( location: listes.php ); Code 11 - Modification d'un utilisateur Cette dernière page n apparaît pas car la fonction header retourne directement sur la page listes.php dès que les requêtes sont terminées. Nous utiliserons souvent cette fonction pour cacher le traitement de certaines informations. Suppression d un utilisateur (élève) Rechercher.php propose également un formulaire pour supprimer toutes les données concernant un élève. L information $eid est récupérée sur la page supprimerutilisateur.php et toutes les données correspondant à $eid sont effacées des tables NOTE, ELEVE et UTILISATEUR. 11 $requete2 = "DELETE FROM note WHERE eid_eleve='$eid'"; 12 $resultat2= $db->query($requete2); 13 $requete = "DELETE FROM eleve WHERE eid='$eid'"; 14 $resultat = $db->query($requete); 15 $requete3 = "DELETE FROM utilisateur WHERE uid ='$eid'"; 16 $resultat3 = $db->query($requete3); Code 12 - Suppression d'un utilisateur Authentification Il existe maintenant quelques utilisateurs, il faut donc pouvoir gérer leurs accès aux différentes fonctionnalités de manstu. L authentification s effectue à l adresse localhost/manstu/index.php. Cette page contient uniquement un formulaire permettant aux utilisateurs d entrer leur login et leur mot de passe. Ces informations sont ensuite envoyées sur la page login.php

51 5 Manstu Cette seconde page récupère les informations $mdp et $login. Le mot de passe doit être crypté avec md5() comme nous l avons fait lors des inscriptions. Le nom d utilisateur est à nouveau passé par les fonctions str_replace() et strtolower() pour retirer les éventuelles majuscules ou accents oubliés. Après traitement, le mot de passe et le nom d utilisateur sont comparés à la base de données grâce à la requête ci-dessous. Si aucun résultat n est renvoyé par num_rows, le header renvoie sur la page index.php. Sinon une session est ouverte grâce à session_start(). 1 $requete = "SELECT * FROM utilisateur WHERE login='$login' AND mdp='$crypt'" ; 2 $resultat = $db->query($requete); 3 4 if ($resultat->num_rows) { session_start(); } 5 else { header ('Location: index.php'); } Dans cette session il est possible d enregistrer certaines variables qui sont utiles lors de la navigation sur le système de gestion, comme par exemple le pid ou l eid. Ces dernières servent en quelque sorte de laissez-passer pour les pages accessibles et permettent un affichage différent en fonction de la personne qui se trouve sur la page. Elles sont également utiles lorsque certaines informations sont nécessaires sur plusieurs pages. Il est important de détruire ces variables, soit lorsqu elles ne sont plus utiles, soit lors de la déconnexion. Pour cela, nous utilisons respectivement les fonctions unset($_session[ variable ]) et session_destroy(). Les utilisateurs sont ensuite redirigés vers une page en fonction de leur rôle. 6 if ($role == 'professeur'){ 7 $_SESSION['pid'] = $uid; 8 header ('Location: listeplateforme.php'); 9 } elseif ($role == 'eleve') { 12 $requete = " SELECT * FROM eleve WHERE eid = '$uid'"; 13 $resultat = $db->query($requete); 14 $ligne=$resultat->fetch_array(); 15 $_SESSION['eid'] = $uid; 16 $_SESSION['classe']= $ligne['no_classe']; 17 header ('Location: notes.php'); 18 } elseif($role == 'secretaire') { header ('Location: classe.php'); } Code 13 - Authentification Toutes les pages de manstu commencent par if (!isset($_ SESSION[ login ])) : ce code permet de contrôler que la personne qui tente de lire la page s est authentifiée. Si la variable de session n existe pas, l utilisateur est redirigé vers index.php. Un deuxième code vérifie que

52 5 Manstu l utilisateur a le droit de voir le contenu, si ce n est pas le cas, ces personnes sont déconnectées. 21 <?php session_start(); 22 if (!isset($_session['login'])) { 23 header ('Location: index.php'); } 24?> if($_session['role'] == 'secretaire') //Interdit l accès aux secrétaire 27 { 28 header ('Location : deconnexion.php') ; 29 } if($_session['role']!= 'secretaire') // Autorise seulement les secrétaires 32 { 33 header ('Location: deconnexion.php'); 34 } if (!isset($_session['pid'])) //Autorise seulement les professeurs 37 { 38 header ('Location: deconnexion.php'); 39 } 40 Code 14 - Contrôle d accès Gestion des notes Le système des notes commence sur la page notes.php et affiche un contenu différent en fonction de l utilisateur. Élève : la page affiche les notes de l année scolaire en cours Professeur : la page permet de choisir un binôme numéro de classe matière et redirige sur gestionnote.php Affichage des notes pour les élèves (if(isset($_session[ eid ]))) La première fonction relève la date du jour sous la forme aammjj. Cette variable est ensuite confrontée aux différentes valeurs anneedebut et anneefin que nous avions enregistrées dans la table ANNEE pour déterminer à quelle période elle se situe. Si la date du jour est le 3 avril 2013, $an vaut La valeur se situe entre et , ce qui la place durant la période scolaire

53 5 Manstu 1 $date = date("ymd"); 2 $requete = "SELECT * FROM annee WHERE anneedebut<='$date' AND anneefin>='$date' "; 3 $resultat = $db->query($requete); 4 $row = $resultat->fetch_array(); 5 $annee = $row['annee']; Les informations sont alors suffisantes pour récupérer les notes. Ces dernières doivent être classées par date, par coefficient et par matière. La création d un tableau dont la première colonne contient le nom des matières facilite la lecture. Les notes sont ensuite affichées en trois groupes en fonction de leur coefficient (1, 2 ou 3). A l intérieur de ces groupes, elles sont classées par date. Pour arriver à ce résultat, il est nécessaire d utiliser plusieurs boucles : La première englobe la balise HTML <tr> qui ouvre la ligne, les quatre autres boucles et le calcul de la moyenne. Elle récupère un nom de la table MATIERE et l affiche dans la cellule de gauche ($matiere) La deuxième boucle commence dans la deuxième cellule : elle récupère les notes de coefficient 1 obtenues dans la $matiere La troisième boucle commence quand la deuxième a terminé. Elle récupère les notes de coefficient 2 La quatrième boucle fait de même avec les coefficients 3 La cinquième sert à compléter la ligne par des cases vides, jusqu à atteindre vingt-cinq colonnes. Elle commence quand la quatrième a fini de tout afficher. Une variable $i a été insérée et incrémentée dans chaque cellule pour les compter. La boucle s arrête quand $i atteint la valeur maximale (25) La dernière cellule de la ligne affiche la moyenne par branche. Les moyennes ne sont pas stockées sur la base de données mais calculées chaque fois que les notes sont affichées. Cela évite des manipulations supplémentaires avec la base de données et réduit le temps de traitement. Pour le calcul, des variables ont été insérées dans chaque cellule contenant des informations. Elles additionnent le nombre de notes ($nombrecoef) et la valeur des notes ($somme_coef) en fonction de leur coefficient respectif. La ligne est terminée, la première boucle reprend avec une autre matière

54 5 Manstu 6 echo <table class="tablenote">'; 7 while($matiere=$resultat->fetch_array()){ 8 echo'<tr>'; 9 $i = 0; 10 <th class="vide">'.$matiere['nom'].'</th> ; 11 $matierenote = $matiere['nom']; 12 $requete2 = "SELECT * FROM note WHERE eid_eleve = '$eid' AND nom_matiere = '$matierenote' AND coefficient= 1 AND annee_annee ='$annee' "; 13 $coefficient1 = $db->query($requete2); 14 $nombrecoef1 = 0; 15 $somme_coef1 = 0; 16 $sommemoyenne = 0; 17 $nombremoyenne = 0; 18 while($note=$coefficient1->fetch_array()){ 19 echo <td class="coef1">'.$note['valeur'].'</td> ; 20 $somme_coef1 += $note['valeur']; 21 $nombrecoef1++; 22 $i++;} $requete3 = "SELECT * FROM note WHERE eid_eleve = '$eid' AND nom_matiere = '$matierenote' AND coefficient= 2 AND annee_annee ='$annee' "; 25 $coefficient2 = $db->query($requete3); 26 $nombrecoef2 = 0; 27 $somme_coef2 = 0; 28 while($note=$coefficient2->fetch_array()){ 29 echo <td class="coef2">'.$note['valeur'].'</td> ; 30 $somme_coef2 += $note['valeur']; 31 $nombrecoef2++; 32 $i++;} 33 $requete4 = "SELECT * FROM note WHERE eid_eleve = '$eid' AND nom_matiere = '$matierenote' AND coefficient= 3 AND annee_annee ='$annee' "; 34 $coefficient3 = $db->query($requete4); 35 $nombrecoef3 = 0; 36 $somme_coef3 = 0; 37 while($note=$coefficient3->fetch_array()) { 38 echo <td class="coef3">'.$note['valeur'].'</td> ; 39 $somme_coef3 += $note['valeur']; 40 $nombrecoef3++; 41 $i++;} 42 while ($i<$nbrecol) { 43 echo'<td class="vide"> </td>'; 44 $i++;} 45 $sommebranche = ($somme_coef1*1 + $somme_coef2*2 + $somme_coef3*3); 46 $sommecoeff = ($nombrecoef1*1 + $nombrecoef2*2 + $nombrecoef3*3); 47 if($sommecoeff!= 0){ 48 $moyennebranche = $sommebranche / $sommecoeff ; 49 $generalsomme +=$moyennebranche; 50 $generalnombre++; 51 echo <td class="moyenne">'.round($moyennebranche, 1).'</td> ; } 52 else { echo'<td class="moyenne"> </td> '; } 53 Echo </tr> ; 54 } 55 Echo </table> ; Les variables $generalsomme et $generalnombre aux lignes 51 et 52 permettent, en additionnant les moyennes des branches (et en les comptant), de calculer la moyenne générale pour l élève

55 5 Manstu 56 if($generalnombre!=0) 57 {$moyennegenerale = $generalsomme/$generalnombre; } 58 else 59 {$moyennegenerale = 0 ; } echo '<p> Moyenne générale '.round($moyennegenerale,1).'</p>'; Code 15 - Tableau des notes de l élève Gestion des notes par le professeur (if(isset($_session[ pid ]))) Sur cette page, le professeur doit choisir quelle classe consulter. Pour créer la liste déroulante, la requête sélectionne dans la table ENSEIGNER tous les couples no_classe nom_matiere liés au pid_professeur. Ainsi si le professeur enseigne le français et l histoire dans la même classe, les notes des deux branches ne seront pas amalgamées. 1 <form action="gestionnote.php" method="post"> 2 <label>choix de la classe </label> 3 <select name="no" id="no"> 4 while($row=$resultat->fetch_array()) { 5 $classe = $row['no_classe']; 6 $matiere = $row['nom_matiere']; 7 echo <option value="'.$classe.' '.$matiere.'">'.$classe.' - '.$matiere.'</option> ; } 8 <input type="submit" value="choisir" name="choix"> 9 </select></form> Après le choix, le professeur est dirigé vers la page gestionnote.php. Cette page affiche, en fonction de la sélection de la classe-matière, les notes de tous les élèves, classées par date d examen. Le tableau des notes diffère quelque peu de celui des élèves : le nom-prénom s affiche au lieu des noms de matière et les notes sont liées à une date. Depuis cette page, le professeur a l option de modifier et d ajouter une note. La suppression n a pas été rendue possible, mais en mettant un coefficient de 0, les notes n apparaissent plus dans le tableau. Les variables de sessions seront particulièrement utiles car elles réapparaîtront sur plusieurs pages. De plus, ces deux variables permettent un retour sur la page gestionnote.php depuis ajoutnote.php et modifnote.php. Elles sont d ailleurs détruites au moment du retour pour éviter d interférer avec de nouvelles données (par exemple si le professeur décide de changer de classe-matière)

56 5 Manstu 10 if(isset($_session['matiere'])){ //Si la variable de session existe 11 $matiere = $_SESSION['matiere']; //on récupère pour gestionnote.php 12 $classe = $_SESSION['classe']; 13 unset($_session['matiere']); //on supprime la variable de session 14 unset($_session['classe']); } if(!isset($matiere)){ //Si la variable $matière n existe pas 17 $tmp = explode(' ', $_POST['no']); //l utilisateur vient de notes.php 18 $classe = $tmp[0]; //On récupère donc $classe et $matière 19 $matiere = $tmp[1]; } // Comme précisé plus haut, les notes doivent être liées à une date d examen. En effet, si un élève est absent au test, sa note ne va pas s afficher dans la colonne et à l examen suivant il y aura un décalage avec les autres. Le problème est évité en fixant une date sur chaque colonne. La première ligne affichera les dates distinctes (grâce à SELECT DISTINCT) avec une nouvelle boucle while. A chaque date affichée correspond également un formulaire et son bouton permettant d envoyer les informations nécessaires à la page modifiernote.php. Au besoin le professeur peut donc modifier ou ajouter (en cas de rattrapage) les notes d un examen. Le reste du tableau est similaire à celui des élèves à l exception d une condition supplémentaire dans la requête, raison pour laquelle nous nous passons de reprendre l ensemble du tableau ici. 20 $date1 = array(); //Liste des dates dont les notes ont coefficient 1 21 $date2 = array(); //Liste des dates dont les notes ont coefficient 2 22 $date3 = array(); //Liste des dates dont les notes ont coefficient 3 23 echo <table class="tablenote"> ; 24 <tr> //première ligne 25 $i = 0; 26 echo'<td>'; $i++; echo'</td>'; //première cellule reste vide 27 $requetea ="SELECT DISTINCT dateexa FROM note WHERE no_classe= '$classe' AND nom_matiere = '$matiere' AND annee_annee ='$annee' AND coefficient=1 ORDER BY dateexa "; 28 $resultata = $db->query($requetea); 29 $d1=0; 30 while($listedate = $resultata->fetch_array()){ 31 $dateexa = $listedate['dateexa']; 32 dateformat = date("d.m", strtotime($dateexa)); 33 <form method="post" action="modifiernote.php"> //formulaire 34 <input type="hidden" name="dateexa" value="'.$dateexa.'"/> 35 <input type="hidden" name="classe" value="'.$classe.'"/> 36 <input type="hidden" name="matiere" value="'.$matiere.'"/> 37 <input type="hidden" name="coefficient" value="1" />

57 5 Manstu 38 <td class="tableentete">'.$dateformat.'</br> 39 <input type="submit" name="supprimer" class="supprimer" value="" /></td></form> 40 $i++; 41 $date1[$d1]=$dateexa; 42 $d1++; 43 } //fin des cellules de coefficient 1 44 // liste des dates de coefficient 2 45 // liste des dates de coefficient 3 46 // remplissage des cellules vide grace à $i. 47 </tr>// fin de la première ligne //Début de la ligne suivante 50 //Affichage du nom-prenom de l élève 51 $requete2 = "SELECT * FROM eleve WHERE no_classe = '$classe' "; 52 $resultat2 = $db->query($requete2); 53 while($liste = $resultat2->fetch_array()){ 54 $eid=$liste['eid']; 55 $nom = $liste['nom']; 56 $prenom=$liste['prenom']; 57 echo'<tr> ; 58 $i = 0; 59 $nombrecoef1 = 0; 60 $somme_coef1 = 0; 61 echo '<th class="tableentete">'.$nom.' '.$prenom.'</th> '; 62 //Affichage notes des coefficient 1 63 for ($a = 0; $a<$d1; $a++){ 64 $requete3 = "SELECT valeur FROM note WHERE eid_eleve = '$eid' AND nom_matiere = '$matiere' AND coefficient= 1 AND dateexa = '$date1[$a]'"; 65 $coefficient1 = $db->query($requete3); 66 $note=$coefficient1->fetch_array(); 67 if($note['valeur'] == 0) { echo '<td class="coef1">na</td>';} 68 else { 69 <td class="coef1">'.$note['valeur'].'</td>'; $somme_coef1 += $note['valeur']; 70 $nombrecoef1++;} 71 $i++; } 72 For ($a = 0; $a<$d2; $a++) { //notes de coefficient 2} 73 For ($a = 0; $a<$d3; $a++) { //notes de coefficient 3} 74 While ($i<$nbrecolonne) { //complète par des cellules vides} 75 //affiche la moyenne par élève dans la dernière cellule 76 } 77 //Fin de la ligne, la boucle while recommence Code 16 - Tableau de notes des professeurs Modifier une note La page modifiernote.php récupère les informations envoyées par le formulaire inséré dans les cellules des dates d examen. La page doit permettre la modification du coefficient et des notes. Il faut pour cela afficher une petite table ne contenant que les noms des élèves et leur note

58 5 Manstu 1 <H3>Modifier note du <?php echo $datemodif;?></h3> 2 <form action="modifnote.php" method="post"> 3 <label class="nom">coefficient </label><input type="text" class="note" name="coefficient" value="<?php echo $coefficient ;?>"> 4 <?php 5 $requete = "SELECT * FROM eleve WHERE no_classe = '$classe' "; 6 $resultat = $db->query($requete); 7 $i=0; 8 $nombre=$resultat->num_rows; 9 echo' <input type="hidden" name="nombre" value="'.$nombre.'" /> 10 <input type="hidden" name="annee" value="'.$annee.'" /> 11 <ul> ; 12 while($liste=$resultat->fetch_array()){ 13 <li><label class="nom">'.$liste['nom'].' '.$liste['prenom'].' </label> 14 $eid = $liste['eid']; 15 $requete2 = "SELECT * FROM note WHERE eid_eleve='$eid' AND nom_matiere='$matiere' AND dateexa = '$dateexa' AND no_classe='$classe'"; 16 $resultat2 = $db->query($requete2); 17 $note=$resultat2->fetch_array(); 18 $valeur=$note['valeur']; 19 $anciennenote = $note['valeur']; 20 $id=$note['id']; 21 <input type="hidden" name="anciennenote[]" value= "'.$anciennenote.'"> 22 <input type ="hidden" name="dateexa" value="'.$dateexa.'"> 23 <input type="hidden" name="eid[]" value="'.$eid.'"> 24 <input type="hidden" name="id[]" value="'.$id.'"> 25 <input type="number" name="valeur[]" class ="note" value= "'.round($valeur,1).'" /></li> ; 26 $i++; 27 } echo </ul> ; Les informations sont ensuite récupérées par modifnote.php et insérées dans la base de données grâce à la requête UPDATE. 28 for($i=0; $i<$nombre ; $i++){ 29 $eid = $_POST['eid'][$i]; 30 $note = $_POST['valeur'][$i]; 31 $id = $_POST['id'][$i]; 32 $anciennenote = $_POST['anciennenote'][$i]; 33 $requete = "UPDATE note SET valeur = '$note', coefficient='$coefficient' WHERE id='$id' "; 34 $resultat = $db->query($requete); } 35 Code 17 - Modification des notes Ajouter une note La page d ajout de note ajouternote.php ressemble à modifiernote.php mais avec des valeurs vides. Ajoutnote.php reçoit donc les mêmes informations et soumet une requête INSERT INTO au lieu d UPDATE. Mais avant d enregistrer les notes, la date de l examen doit être contrôlée

59 5 Manstu Elle doit obligatoirement se situer dans la période du au de l année scolaire en cours. 1 $jour = $_POST['jour']; 2 $mois = $_POST['mois']; 3 $an = $_POST['an']; 4 5 $dateexa = $an.'.'.$mois.'.'.$jour; 6 $an1=$_post['an1']; 7 $an2=$_post['an2']; 8 9 $mois = str_pad($mois, 2, "0", STR_PAD_LEFT); 10 $jour = str_pad($jour, 2, "0", STR_PAD_LEFT); 11 //str_pad permet d ajouter un 0 devant le nombre retourné par $jour et $date, ainsi 1 devient $datedebut = $an1.'0801'; //date début de l année scolaire 14 $datecomp = $an.$mois.$jour; //date de l examen formatée pour la comparaison 15 $datefin = $an2.'0731'; //date fin de l année scolaire if($datecomp <= $datedebut OR $datefin<=$datecomp){ 18 $message = 'Date erronée, la note ne sera pas enregistrée';} 19 else { 20 $message = 'La note a bien été enregitrée'; 21 $matiere = $_POST['matiere']; 22 $classe = $_POST['classe']; for($i=0; $i<$nombre ; $i++){ 25 $eid = $_POST['eid'][$i]; 26 $note = $_POST['valeur'][$i]; $requete = "INSERT INTO note VALUES ('', '$note', '$coefficient', '$dateexa', '$eid', '$matiere', '$annee', '$classe') "; 29 $resultat = $db->query($requete); } 30 } Code 18 - Ajout d une note Plateforme de partage de documents La plateforme de partage est disponible pour tous les élèves et les professeurs qui enseignent la matière en question. Les élèves ne peuvent voir que les sections et leur contenu. Les professeurs ont accès à un menu leur permettant de gérer la section attenante. L affichage des contenus se fait grâce à une boucle while qui va chercher toutes les sections liées à la plateforme dans la table PLAGE. A l intérieur de cette boucle il faut également afficher les documents disponibles dans le dossier. Pour cela, il faut procéder par étapes

60 5 Manstu La variable $dossier est définie par le chemin du dossier contenant les documents $dossier est ouvert grâce à la fonction opendir() Le contenu du dossier est lu par readdir() et la boucle while permet d afficher tous les documents Si l utilisateur est un professeur, un bouton permettant la suppression s affiche à côté de chaque document Le dossier est refermé par closedir() 1 $dossier = 'plateformes/'.$nom_matiere.'/'.$donnees['id']; 2 3 if($ouverture = opendir($dossier)){ 4 echo'<ul>'; 5 while(false!== ($fichier = readdir($ouverture))) { 6 if($fichier!='.' AND $fichier!= '..'){ 7 if (isset($_session['pid'])){ 8 echo '<form method="post" action="supprimerfichier.php"> 9 <input type="hidden" name="nom" id="nom" value="'.$fichier.'" /> 10 <input type="hidden" name="dossier" id="dossier" value= "plateformes/'.$nom_matiere.'/'.$donnees['id'].'/" /> 11 <table><tr> 12 <td width="400px"><li><a href="'.$dossier.'/'.$fichier.'"> '.htmlspecialchars($fichier).' </a> <td> 13 <td><input type="submit" name="supprimer" class="supprimer" value=""/></td></tr></table> 14 </form> 15 </li>'; } 16 else { echo ' 17 <li><a href="'.$dossier.'/'.htmlspecialchars($fichier).'"> '.$fichier.'</a></li> ; } 18 }}echo </ul></br> ; 19 closedir($ouverture); Code 19 - Affichage du contenu des plages Panneau de gestion de la plage A côté de chaque plage s affiche un menu permettant d ajouter un fichier (ajoutfichier.php), de modifier le contenu de la plage (modifierplage.php) ou de la supprimer (supprimerplage.php) de manière définitive. Seul le détail de l ajout d un fichier sera expliqué dans ce point, car les codes de modifierplage.php et supprimerplage.php sont similaires respectivement à modifiernote.php et à supprimernote.php

61 5 Manstu 1 <form method="post" action="ajoutfichier.php" enctype ="multipart/form-data"> 2 <input type="hidden" name="id" value="'.$donnees['id'].'" /> 3 <input type="hidden" name="max_file_size" value=" " /> 4 <input type="file" name="fichier" id="fichier"/> 5 <input type = "texte" name ="nom" value="nom du fichier" size="40px" id="nom"/>.pdf 6 <input type="submit" value="déposer" class="bouton"/> 7 </form> Le formulaire permettant l ajout d un document est montré ci-dessus. Input type = «file» crée un champ et un bouton permettant la recherche d un document sur l ordinateur. Le deuxième champ doit être rempli avec le nom que nous souhaitons donner au fichier. Il faut que le fichier déposé soit un pdf, les autres formats ne sont pas autorisés. Les informations sont transmises à la page ajoutfichier.php. Le fichier a été déplacé automatiquement dans un dossier temporaire et une série de variables contenant des informations (taille, nom, extension, ) le concernant a été créée simultanément. Le nom de ce dossier est contenu dans la variable $_FILES[ fichier ][ tmp ]. Le but maintenant est de récupérer le fichier déposé et de l enregistrer dans le dossier que nous avons créé à la page dossier.php (cf. nouvelle plage ci-dessous). 8 $nomdepot = $nom.'.pdf'; 9 $tmp = $_FILES['fichier']['tmp_name']; 10 $destination ='plateformes/'.$nom_matiere.'/'.$id_plage.'/'.$nomdepot ; 11 $resultat = move_uploaded_file($tmp, $destination); Code 20 - Dépôt d'un nouveau fichier La page renvoie directement sur la plateforme et le nouveau fichier s affiche. Nouvelle plage Un formulaire en fin de page permet d ajouter une nouvelle plage. Il recueille le numéro de chapitre, le titre et le commentaire. Ces informations sont envoyées sur la page plage.php et après un traitement avec la fonction real_escape_string, enregistrées dans la base de données par une requête INSERT INTO. Lors de la création d une plage, le dossier qui contiendra les documents est également créé. En effet, à chaque plateforme correspond un dossier et chaque plage a son propre sous-dossier. Ainsi, lorsque nous voulons afficher les fichiers, nous n avons qu à ouvrir le dossier correspondant pour en lire le contenu. Le dossier est créé par la page dossier.php. Il récupère les informations de la plage qui vient d être créée sur plage.php et ouvre un dossier au chemin plateformes/nom_matière/id_plage. La fonction permettant de créer un dossier est mkdir

62 5 Manstu 1 $dossier = 'plateformes/'.$nom_matiere.'/'.$id_plage; 2 mkdir($dossier, 0744, true); Code 21 Ouverture d un nouveau dossier 5.3 Présentation de l interface Le système de gestion manstu est en état de fonctionner. Il est temps de voir à quoi il ressemble. L interface a été formatée avec du code HTML et deux feuilles de style. La première css.css gère l affichage de l ensemble des pages. La deuxième, print.css, n est valable que pour les impressions. Grâce à cette dernière, il est possible de cacher certains div et d organiser la page différemment à l impression. La déclaration de ces deux feuilles de style se fait dans la balise meta de toutes les pages. 1 <link rel="stylesheet" media="screen" type="text/css" href="css.css"> 2 <link rel= stylesheet media= print type= text/css href= print.css > Code 22 - Feuilles de style Les menus sont rappelés sur toutes les pages par la fonction include(). Il y a deux barres de menu : la première pour les secrétaires (menusecr.php) et la deuxième pour les élèves et professeurs (menu.php). Dans les points suivants nous allons endosser tour à tour les rôles de secrétaire, de professeur et d élève pour effectuer quelques tests. La page d authentification est la suivante : localhost/manstu/index.php. Figure 15 - Page index.php

63 5 Manstu Role == secretaire Les coordonnées pour s enregistrer sont les suivantes : nom d utilisateur lauraquentin mot de passe 1234 Figure 16 - menusecr.php Le menu du secrétaire propose les options en liens avec les besoins que nous avions identifiés au chapitre 3. Listes : recherche d un utilisateur, listes de classes, impression des notes Inscription : inscription d un nouvel utilisateur Classe : ajout, suppression d une classe et répartition des professeurs dans les classes Changer mot de passe : changement du mot de passe personnel Déconnexion : suppression de toutes les variables de session

64 5 Manstu Test : création d une classe de deuxième année Menu permettant de choisir la classe à laquelle nous voulons attribuer des professeurs. Choix d un niveau pour la création d une nouvelle classe Menu permettant de supprimer une classe Figure 17 - Créer une classe de deuxième année Test : nouvel utilisateur

65 5 Manstu Nom d utilisateur Mot de passe aléatoire Affichage uniquement pour role == eleve Pour contrôler que l élève Jacques Lhenfant a bien été ajouté, il suffit de faire une recherche (menu listes). Comme nous pouvons le constater, le formulaire de recherche donne accès à un autre formulaire permettant de modifier les informations personnelles, de changer de classe (en cas de redoublement, de suppression d une classe, ) et de supprimer les données de l élève

66 5 Manstu Menu permettant d imprimer des listes de classe Fonction permettant d afficher et d imprimer les feuilles de note de tous les élèves Figure 18 - Nouvel utilisateur Role == professeur Pour l exemple, empruntons l identité d un professeur d histoire et français. nom d utilisateur pierreexemple mot de passe 1234 Figure 19 - menu.php

GYMNASE AUGUSTE PICCARD

GYMNASE AUGUSTE PICCARD GYMNASE AUGUSTE PICCARD juin 2015 / OB ECOLE DE MATURITÉ Classes de 1 ère, 2 ème et 3 ème années VADE-MECUM Version 2015-2016 Ce document est établi selon la Loi scolaire sur l enseignement secondaire

Plus en détail

413.12. Ordonnance sur l examen suisse de maturité. Dispositions générales. du 7 décembre 1998 (Etat le 1 er janvier 2013)

413.12. Ordonnance sur l examen suisse de maturité. Dispositions générales. du 7 décembre 1998 (Etat le 1 er janvier 2013) Ordonnance sur l examen suisse de maturité 413.12 du 7 décembre 1998 (Etat le 1 er janvier 2013) Le Conseil fédéral suisse, vu l art. 39, al. 2, de la loi fédérale du 4 octobre 1991 sur les écoles polytechniques

Plus en détail

GYMNASE DE LA CITE LAUSANNE

GYMNASE DE LA CITE LAUSANNE GYMNASE DE LA CITE LAUSANNE Document de référence ÉCOLE DE MATURITÉ Classes de 1 re, 2 e et 3 e années Version 2014-2015 Ce document est établi selon la Loi scolaire sur l enseignement secondaire supérieur

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Instructions pour l inscription à l examen suisse de maturité et l examen complémentaire «Latinum Helveticum»

Instructions pour l inscription à l examen suisse de maturité et l examen complémentaire «Latinum Helveticum» Département fédéral de l'économie, de la formation et de la recherche DEFR Commission suisse de maturité CSM Instructions pour l inscription à l examen suisse de maturité et l examen complémentaire «Latinum

Plus en détail

ÉCOLE DE MATURITÉ. Édition 2014-2015

ÉCOLE DE MATURITÉ. Édition 2014-2015 ÉCOLE DE MATURITÉ Vade-mecum à l intention des maîtres et des élèves de 3M. Édition 2014-2015 3M Distribution : Document à disposition sur le site du gymnase : www.gymnasedubugnon.ch Conseillers des classes

Plus en détail

Directives relatives au travail de maturité

Directives relatives au travail de maturité Directives relatives au travail de maturité Afin de permettre une meilleure lecture, seule la forme masculine est utilisée ci-après. 1. Dispositions légales Les textes suivants constituent la base légale

Plus en détail

MATURITÉ PROFESSIONNELLE

MATURITÉ PROFESSIONNELLE MATURITÉ PROFESSIONNELLE à orientation Economie et services, type Economie (MP ES-TE) La maturité professionnelle est une formation approfondie en culture générale qui complète une formation professionnelle

Plus en détail

MATURITÉ PROFESSIONNELLE

MATURITÉ PROFESSIONNELLE MATURITÉ PROFESSIONNELLE commerciale (MPC) La maturité professionnelle complète une formation par apprentissage, afin de permettre l accès aux niveaux supérieurs de formation. Il existe différentes orientations

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

ÉCOLE DE CULTURE GÉNÉRALE (ECG) Édition 2014-2015

ÉCOLE DE CULTURE GÉNÉRALE (ECG) Édition 2014-2015 ÉCOLE DE CULTURE GÉNÉRALE (ECG) Vade-mecum à l intention des maîtres et des élèves de 1C. Pour l école de culture générale et de commerce option Commerce - Communication et Information, prière de se référer

Plus en détail

Conception de la base de données

Conception de la base de données Rapport T.E.R HLIN405 Conception de la base de données des projets de licence deuxième et troisième année Réalisé par Achraf Tajani Cvete Maceski Mohamed Bareche Sous l encadrement de Christian Retoré

Plus en détail

Conception et Implémentation

Conception et Implémentation I. INTRODUCTION Dans ce chapitre on va définir la conception de notre site web dynamique et nous expliquons les étapes de réalisation, les outils utilisés et l interface principale ainsi que les différentes

Plus en détail

Formation à l administration de votre site Internet

Formation à l administration de votre site Internet Rédacteur : B2F Concept Date : 01/08/2012 Destinataire : Mairie de Drumettaz Formation à l administration de votre site Internet Introduction...2 Connexion à l administration...2 Gestion de contenu...3

Plus en détail

TABLE DES MATIÈRES. CHAPITRE I DISPOSITIONS GÉNÉRALES art. 1-6. CHAPITRE II ORGANISATION DE L EXAMEN art. 7-13

TABLE DES MATIÈRES. CHAPITRE I DISPOSITIONS GÉNÉRALES art. 1-6. CHAPITRE II ORGANISATION DE L EXAMEN art. 7-13 RÈGLEMENT DE L EXAMEN COMPLÉMENTAIRE DE LA «PASSERELLE DE LA MATURITÉ PROFESSIONNELLE À L UNIVERSITÉ POUR L ESPACE BEJUNE» AU GYMNASE FRANÇAIS DE BIENNE TABLE DES MATIÈRES CHAPITRE I DISPOSITIONS GÉNÉRALES

Plus en détail

http://agents.cirad.fr/admin Mode d emploi

http://agents.cirad.fr/admin Mode d emploi http://agents.cirad.fr/admin Mode d emploi Introduction... 1 1. Comment créer sa page? La connexion au service... 2 2. Navigation dans agents.cirad.fr... 2 3. Gestion des pages... 3 4. Gestion des fichiers...

Plus en détail

ÉCOLE DE CULTURE GÉNÉRALE ET DE COMMERCE option Commerce - Communication et Information (CCI) Édition 2014-2015 1CE

ÉCOLE DE CULTURE GÉNÉRALE ET DE COMMERCE option Commerce - Communication et Information (CCI) Édition 2014-2015 1CE ÉCOLE DE CULTURE GÉNÉRALE ET DE COMMERCE option Commerce - Communication et Information (CCI) Vade-mecum à l intention des maîtres et des élèves de première année de l ECGC option CCI. Pour les autres

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

VADE-MECUM A l'usage des maîtres et des élèves du gymnase de Burier (version : juillet 2014)

VADE-MECUM A l'usage des maîtres et des élèves du gymnase de Burier (version : juillet 2014) Vy/Cs / 11.07.2014 VADE-MECUM A l'usage des maîtres et des élèves du gymnase de Burier (version : juillet 2014) Ce vade-mecum regroupe notamment : des articles extraits du Règlement des gymnases (RGY)

Plus en détail

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian

Gestion d une école. FABRE Maxime FOUCHE Alexis LEPOT Florian Gestion d une école FABRE Maxime 2015 Sommaire Introduction... 2 I. Présentation du projet... 3 1- Lancement de l application... 3 Fonctionnalités réalisées... 4 A. Le serveur... 4 1 - Le réseau... 4 2

Plus en détail

Mongi TRIKI Docteur en Informatique Université Paris Dauphine

Mongi TRIKI Docteur en Informatique Université Paris Dauphine Université Méditerranéenne Libre de Tunis Faculté Méditerranéenne Privée des Sciences Informatiques, Economiques et de Gestion de Tunis Département d Informatique LICENCE INFORMATIQUE Guide du Stagiaire

Plus en détail

1 Partie A : administration d une base de donnée à travers PhpMyAdmin

1 Partie A : administration d une base de donnée à travers PhpMyAdmin Ce TP se compose en 2 sections : une section de prise en main (sur ordinateur) et une section d exercice (sur papier) concernant l algèbre relationnelle. 1 Partie A : administration d une base de donnée

Plus en détail

David Prud homme Lacroix Radouan Faïd Van Khue Nguyen Sata Nambinina Randrianomenjanaharimanana. Compte rendu : AlloPlomberie

David Prud homme Lacroix Radouan Faïd Van Khue Nguyen Sata Nambinina Randrianomenjanaharimanana. Compte rendu : AlloPlomberie Aurélien Orts David Prud homme Lacroix Radouan Faïd Van Khue Nguyen Sata Nambinina Randrianomenjanaharimanana Licence NTI Compte rendu : AlloPlomberie SOMMAIRE I. Introduction II. Présentation du projet

Plus en détail

PLAN DE RÉUSSITE COLLÈGE INTERNATIONAL DES MARCELLINES

PLAN DE RÉUSSITE COLLÈGE INTERNATIONAL DES MARCELLINES PLAN DE RÉUSSITE COLLÈGE INTERNATIONAL DES MARCELLINES ANNÉE 2010-2011 TABLE DES MATIÈRES Page I. PRÉAMBULE 3 II. ANALYSE DE LA SITUATION 3 III. LES OBJECTIFS QUANTITATIFS 5 IV. LES MESURES ENVISAGÉES

Plus en détail

DISTRILOG 2 QUICK START

DISTRILOG 2 QUICK START DISTRILOG 2 QUICK START Version 1.0.x Beta Accès au service Tout d abord vous devez être titulaire du droit «Distrilog» d Accred pour pouvoir accéder au site. Ensuite, il suffit d employer votre butineur

Plus en détail

Rôle de l ENT dans l apprentissage des langues vivantes dans l enseignement secondaire.

Rôle de l ENT dans l apprentissage des langues vivantes dans l enseignement secondaire. Rôle de l ENT dans l apprentissage des langues vivantes dans l enseignement secondaire. Le fait que tous les enseignants de l Académie de Clermont-Ferrand disposent d un environnement numérique de travail

Plus en détail

Présentation des options en 11MA

Présentation des options en 11MA Présentation des options en 11MA Ordre du jour 01 Accueil 02 Présentation de la direction 03 Présentation des options en 11 ème maturité 04 Présentation de l OCOSP 05 Questions Présentation des options

Plus en détail

au Lycée cantonal 2014

au Lycée cantonal 2014 GUIDE POUR L'INSCRIPTION au Lycée cantonal 2014 LES INSCRIPTIONS SE FERONT PAR INTERNET SUR NOTRE SITE www.lycee.ch. LE LIEN SERA ACTIF DES LE SAMEDI 1 ER FEVRIER 2014 JUSQU'AU VENDREDI 28 FEVRIER 2014.

Plus en détail

Administration du site (Back Office)

Administration du site (Back Office) Administration du site (Back Office) A quoi sert une interface d'administration? Une interface d'administration est une composante essentielle de l'infrastructure d'un site internet. Il s'agit d'une interface

Plus en détail

Création d un site web de vente en ligne

Création d un site web de vente en ligne Création d un site web de vente en ligne 1 Généralités Le projet sera réalisé par binôme. Date limite de remise du projet : 02/02/2007 2 Sujet 2.1 But Développer un site web dynamique permettant la gestion

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

À LA DÉCOUVERTE d Excel 2010

À LA DÉCOUVERTE d Excel 2010 Vous venez d installer Excel 2010 sur votre ordinateur et vous avez eu raison de le faire car vous disposez maintenant d un outil d une puissance redoutable. Avec cette dernière version du tableur, vous

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Maturité bilingue. Gymnases de Bienne. Informations. Mai 2014

Maturité bilingue. Gymnases de Bienne. Informations. Mai 2014 Maturité bilingue Gymnases de Bienne Informations Gymnase français Gymnasium Biel-Seeland www.gfbienne.ch www.gymbiel -seela nd.ch 032 327 06 06 032 327 07 07 Mai 2014 Sommaire Préambule 2 Principes 3

Plus en détail

Bases de données et interfaces Génie logiciel

Bases de données et interfaces Génie logiciel Bases de données et interfaces Génie logiciel Merlet benjamin Merlet-Billon Maryvonne Hueber Yann Jamin Guillaume Giraud Sandra Département Génie Biologique Professeurs responsables : Option BIMB Promotion

Plus en détail

Le carnet de notes des professeurs sur Internet. www.notes.ecoledirecte.com. Documentation

Le carnet de notes des professeurs sur Internet. www.notes.ecoledirecte.com. Documentation Le carnet de notes des professeurs sur Internet www.notes.ecoledirecte.com Documentation 1 Sommaire : Présentation...3 La connexion au site...3 La page d accueil...5 La saisie des devoirs...7 La récapitulatif

Plus en détail

Ordonnance sur la maturité professionnelle fédérale

Ordonnance sur la maturité professionnelle fédérale Ordonnance sur la maturité professionnelle fédérale (OMPr) 412.103.1 du 24 juin 2009 (Etat le 1 er octobre 2013) Le Conseil fédéral suisse, vu l art. 25, al. 5, de la loi fédérale du 13 décembre 2002 sur

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

MATURITÉ PROFESSIONNELLE

MATURITÉ PROFESSIONNELLE MATURITÉ PROFESSIONNELLE commerciale (MPC) La maturité professionnelle complète une formation par apprentissage, afin de permettre l accès aux niveaux supérieurs de formation. Il existe différentes orientations

Plus en détail

Guide du contributeur Jahia 6.6

Guide du contributeur Jahia 6.6 DOCUMENTATION Guide du contributeur Jahia 6.6 Jahia, le CMS open source de nouvelle génération apportant à vos projets la convergence applicative (web, document, social, recherche et portail) unifiée par

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Préparation d une maturité avec mention bilingue français-allemand ou français-anglais

Préparation d une maturité avec mention bilingue français-allemand ou français-anglais Préparation d une maturité avec mention bilingue français-allemand ou français-anglais Dans les écoles de maturité des gymnases du canton de Vaud Edition 2014 Département de la formation, de la jeunesse

Plus en détail

Règlement des études. Passerelle de la maturité professionnelle à l université pour l espace BEJUNE. Table des matières

Règlement des études. Passerelle de la maturité professionnelle à l université pour l espace BEJUNE. Table des matières Règlement des études Passerelle de la maturité professionnelle à l université pour l espace BEJUNE Table des matières Chapitre 1 Chapitre 2 Chapitre 3 Chapitre 4 Chapitre 5 Chapitre 6 Chapitre 7 Chapitre

Plus en détail

Dossier- Projet Informatique et science du numérique

Dossier- Projet Informatique et science du numérique Dossier- Projet Informatique et science du numérique Laetitia BIZOT avec la participation Eve ETIENNE Année 2014 Table des matières I. But du projet... 2 1. L enjeu du projet... 2 2. La problématique...

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Module 1 : Tableau de bord Excel * 2010 incl.*

Module 1 : Tableau de bord Excel * 2010 incl.* Module 1 : Tableau de bord Excel * 2010 incl.* 1.0 Introduction Excel nous aide à mieux comprendre les données en les plaçant dans des cellules (réparties en lignes et en colonnes) et au moyen de formules

Plus en détail

Documentation de CMS-gen

Documentation de CMS-gen Table des matières GÉNÉRALITÉ... 1 LA ZONE D'ADMINISTRATION... 2 LOGIN SUR LA ZONE D ADMINISTRATION... 2 EDITION DU CONTENU EN LIGNE... 3 LE MODE EDITION... 3 PUBLICATION... 3 SUPPRIMER DES MODIFICATIONS...

Plus en détail

INFORMATIQUE. Licence 3 e année (L3) & Master (M1-M2) Centre d Etudes Suisse Romande Formation universitaire

INFORMATIQUE. Licence 3 e année (L3) & Master (M1-M2) Centre d Etudes Suisse Romande Formation universitaire Centre d Etudes Suisse Romande Formation universitaire INFORMATIQUE Licence 3 e année (L3) & Master (M1-M2) En collaboration avec l Université de Franche-Comté CTU de Besançon Unidistance 2 GÉNÉRALITÉS

Plus en détail

Logiciel Statistique : SPSS

Logiciel Statistique : SPSS Faculté des Sciences Économiques et de Gestion de Tunis Logiciel Statistique : SPSS Notes du cours pour les étudiants du Master Recherche en Marketing, Management & Finance Dr. Jalila ATTAFI 2011-2012

Plus en détail

Formation sur Microsoft Office Excel. Introduction

Formation sur Microsoft Office Excel. Introduction Introduction Le logiciel Excel est un chiffrier électronique qui fait partie de la Suite de Microsoft Office. Il permet de produire, entre autres, des feuilles de calcul, des tableaux et des formulaires.

Plus en détail

SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION

SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION Année universitaire 20015-2016 Masters Économie Société - Finances Informatique appliquée SGBD Pierre-Henri GOUTTE La requête de sélection

Plus en détail

OMI TP 2 : Outils numériques pour l apprentissage

OMI TP 2 : Outils numériques pour l apprentissage OMI TP 2 : Outils numériques pour l apprentissage Introduction aux Google Docs Google Documents permet de créer, stocker dans l internet et partager facilement des documents. Des outils collaboratifs permettent

Plus en détail

CMS MWC. Outil pour la gestion du site Internet DOCUMENTATION UTILISATEUR [version du 23/03/2009]

CMS MWC. Outil pour la gestion du site Internet DOCUMENTATION UTILISATEUR [version du 23/03/2009] CMS MWC Outil pour la gestion du site Internet DOCUMENTATION UTILISATEUR [version du 23/03/2009] 1. Authentification 2. Interface d édition MWC 3. Mise en page 4. Gestion des fichiers 5. Gestion des événements

Plus en détail

Page 1 2 La présente invention concerne le domaine des architectures informatiques, et en particulier un procédé pour le développement d applications destiné à un fonctionnement en réseau, par exemple

Plus en détail

Fiche 1 - Se connecter

Fiche 1 - Se connecter PRONOTE 0 > Guide de l enseignant > Le Mode Enseignant Fiche - Se connecter À SAVOIR : vous vous connectez en Mode Enseignant depuis un Client PRONOTE, installé sur un poste de l établissement ou sur un

Plus en détail

Ordonnance concernant l admission à l Ecole polytechnique fédérale de Lausanne

Ordonnance concernant l admission à l Ecole polytechnique fédérale de Lausanne Ordonnance concernant l admission à l Ecole polytechnique fédérale de Lausanne 414.110.422.3 du 8 mai 1995 (Etat le 1 er décembre 2013) La Direction de l Ecole polytechnique fédérale de Lausanne (EPFL),

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Technologie et biologie (TB) Discipline : Informatique Première et seconde années Programme d informatique

Plus en détail

MATURITÉ PROFESSIONNELLE

MATURITÉ PROFESSIONNELLE MATURITÉ PROFESSIONNELLE à orientation Technique, architecture et sciences de la vie (MP TASV) La maturité professionnelle est une formation approfondie en culture générale qui complète une formation professionnelle

Plus en détail

Nouveautés dans Excel 2013

Nouveautés dans Excel 2013 1 Nouveautés dans Excel 2013 Nouvelle interface de démarrage La nouvelle page d accueil est la première chose qui interpelle lors de l ouverture d Excel. 1 3 2 5 4 Figure 1.1 Nouvelle page d accueil lors

Plus en détail

Guide utilisateur pour la création des porteurs et les demandes de cartes en mairie

Guide utilisateur pour la création des porteurs et les demandes de cartes en mairie Guide utilisateur pour la création des porteurs et les demandes de cartes en mairie SOMMAIRE A. INTRODUCTION... 4 B. PREREQUIS TECHNIQUES... 4 C. PROCESSUS... 4 D. DECLARATION D UN UTILISATEUR DANS L ANNUAIRE...

Plus en détail

Site Web du DMI : explication de code

Site Web du DMI : explication de code Site Web du DMI : explication de code I. Présentation de l arborescence du site /Site_DMI_08/ Répertoire racine du site web. /Site_DMI_08/images/ Ce dossier comporte toutes les images utilisées dans le

Plus en détail

Écriture de journal. (Virement de dépense)

Écriture de journal. (Virement de dépense) Écriture de journal (Virement de dépense) SERVICE DES FINANCES Équipe de formation PeopleSoft version 8.9 Août 2014 TABLES DES MATIERES AVERTISSEMENT... 3 INTRODUCTION... 4 RAISONS JUSTIFIANT LA CRÉATION

Plus en détail

GÉNIE LOGICIEL (SOFTWARE ENGINEERING)

GÉNIE LOGICIEL (SOFTWARE ENGINEERING) GÉNIE LOGICIEL (SOFTWARE ENGINEERING) 5ÈME PARTIE UML (UNIFIED MODELING LANGUAGE) Faculté des Sciences et Techniques http://labh-curien.univ-st-etienne.fr/~fj/gl Francois.Jacquenet@univ-st-etienne.fr Plan

Plus en détail

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

KompoZer. Td3. M r Castanet - Année scolaire 2007/2008 - page 1

KompoZer. Td3. M r Castanet - Année scolaire 2007/2008 - page 1 KompoZer Td3 M r Castanet - Année scolaire 2007/2008 - page 1 Exercice 1 Dans cet exercice, nous allons appréhender les méthodes pour transférer notre site chez un hébergeur. Mais nous déplacerons notre

Plus en détail

TUTORIEL BASES DE DONNEES

TUTORIEL BASES DE DONNEES TUTORIEL BASES DE DONNEES 1 Sommaire I. LES BASES ARTICLES... 5 1. Consultation d une base d articles... 5 a. Présentation de l interface... 5 b. Recherche d articles en base d articles... 7 c. Sélection

Plus en détail

Installer Joomla. 2013 Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring

Installer Joomla. 2013 Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring 3 Installer Joomla Dans ce chapitre, nous procéderons au téléchargement et à l installation manuelle de Joomla, et nous expliquerons la configuration de base. Les captures d écran et les instructions font

Plus en détail

I Open Produit Billetterie. Sommaire :

I Open Produit Billetterie. Sommaire : I Open Produit Billetterie Sommaire : I Open Produit Billetterie... 1 Avertissement... 2 Identification... 2 Le menu... 3 Paramétrage... 3 Création d'une nouvelle fiche organisateur :... 3 Ajout du logo

Plus en détail

Service On Line : Gestion des Incidents

Service On Line : Gestion des Incidents Service On Line : Gestion des Incidents Guide de l utilisateur VCSTIMELESS Support Client Octobre 07 Préface Le document SoL Guide de l utilisateur explique comment utiliser l application SoL implémentée

Plus en détail

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc) 87 FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc) Dans le cadre de la réforme pédagogique et de l intérêt que porte le Ministère de l Éducation

Plus en détail

Manuel du rédacteur. Dernière mise à jour : le 14/04/2010

Manuel du rédacteur. Dernière mise à jour : le 14/04/2010 Manuel du rédacteur Dernière mise à jour : le 14/04/2010 Table des matières 1 PRÉSENTATION GÉNÉRALE... 3 2 L INTERFACE DE GESTION... 3 2.1 ACCÈS À L INTERFACE DE GESTION... 3 2.2 PRÉSENTATION GÉNÉRALE...

Plus en détail

Ordonnance concernant l admission à l Ecole polytechnique fédérale de Lausanne

Ordonnance concernant l admission à l Ecole polytechnique fédérale de Lausanne Ordonnance concernant l admission à l Ecole polytechnique fédérale de Lausanne 414.110.422.3 du 8 mai 1995 (Etat le 1 er décembre 2015) La Direction de l Ecole polytechnique fédérale de Lausanne (EPFL),

Plus en détail

École de culture générale et École de commerce

École de culture générale et École de commerce Direction de l instruction publique de la culture et du sport Service de l enseignement secondaire du deuxième degré Département de la formation, de la jeunesse et de la culture Direction de l enseignement

Plus en détail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles Access est un logiciel permettant de gérer des données en masse : une liste de clients ou de fournisseurs, un stock de produits, des commandes, des salariés, un club de tennis, une cave à vin, une bibliothèque,

Plus en détail

Nota Bene module Professeur version 11. pour Windows 98 et supérieur. Manuel d utilisation. Edition du 18-04-06

Nota Bene module Professeur version 11. pour Windows 98 et supérieur. Manuel d utilisation. Edition du 18-04-06 Nota Bene module Professeur version 11 pour Windows 98 et supérieur Manuel d utilisation Edition du 18-04-06 Table des matières Chapitre 1 Nota Bene module Professeur...4 I. Installation de Nota Bene module

Plus en détail

Projet : site web de gestion d itinéraires de voyage

Projet : site web de gestion d itinéraires de voyage Projet : site web de gestion d itinéraires de voyage Partie 1 (modélisation et architecture du site) UCBL - Département Informatique de Lyon 1 LIF4 - automne 2014 1 Description générale du projet Le projet

Plus en détail

PHP/MySQL avec Dreamweaver CS4

PHP/MySQL avec Dreamweaver CS4 PHP/MySQL avec Dreamweaver CS4 Dreamweaver CS4 Jean-Marie Defrance Groupe Eyrolles, 2009, ISBN : 978-2-212-12551-1 7 Étude de cas : un site marchand Dans ce dernier chapitre, nous allons exploiter Dreamweaver

Plus en détail

GED MARKETING. Page 1 sur 18

GED MARKETING. Page 1 sur 18 GED MARKETING I. Présentation du produit... 2 II. Page principale de l application... 3 L arbre... 3 Le menu... 4 La fenêtre de navigation... 4 III. La recherche de documents... 4 Rechercher tous les documents...

Plus en détail

Page 1 sur 20 INFO@SKYTERRE.COM (227) 20 72 29 21 SEPTEMBRE 2014

Page 1 sur 20 INFO@SKYTERRE.COM (227) 20 72 29 21 SEPTEMBRE 2014 Page 1 sur 20 Page 2 sur 20 Table des matières I. INTRODUCTION... 3 II. ACQUISITION DU LOGICIEL... 3 III. INSTALLATION... 3 III.1. PRE-REQUIS... 3 III.2. INSTALLATION DE terschool... 4 III.3. VÉRIFICATION

Plus en détail

Les plateformes collaboratives au service de l individualisation «Regards croisés» Expérience n 2

Les plateformes collaboratives au service de l individualisation «Regards croisés» Expérience n 2 Les plateformes collaboratives au service de l individualisation «Regards croisés» Expérience n 2 Qui? Chantal Boitel, professeur en économie gestion option comptabilité Où? Au lycée Paul Émile Victor

Plus en détail

Mis à jour le 27.04.2004. Guide d utilisation. Copyright 2004 Auralog S.A. All rights reserved.

Mis à jour le 27.04.2004. Guide d utilisation. Copyright 2004 Auralog S.A. All rights reserved. Mis à jour le 27.04.2004 Guide d utilisation Copyright 2004 Auralog S.A. All rights reserved. Sommaire Introduction... 3 Pour installer l Outil d Administration distant...3 Pour lancer l Outil d Administration...4

Plus en détail

Documentation Tableur OpenOffice 2

Documentation Tableur OpenOffice 2 Documentation Tableur OpenOffice 2 1. Environnement de travail Nom du Nom du logiciel Barre de Zone de nom elle affiche l'adresse du champ sélectionné Cellule active Zone d'édition : elle affiche le contenu

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

(toutes les applications utilisant les étudiants)

(toutes les applications utilisant les étudiants) Formadep Etudiants Introduction L application «Etudiants» permet de gérer (créer, consulter, éditer, supprimer) l ensemble de étudiants du département. Pour piloter cette application, on utilise Administration

Plus en détail

MATURITÉ PROFESSIONNELLE

MATURITÉ PROFESSIONNELLE MATURITÉ PROFESSIONNELLE technique (MPT) La maturité professionnelle complète une formation par apprentissage, afin de permettre l accès aux niveaux supérieurs de formation. Il existe différentes orientations

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8

Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8 Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant :

Plus en détail

Règlement d application du Règlement du Baccalauréat européen (Applicable pour la session 2015 du Baccalauréat)

Règlement d application du Règlement du Baccalauréat européen (Applicable pour la session 2015 du Baccalauréat) Schola Europaea Bureau du Secrétaire général UNITÉ BACCALAURÉAT Réf. : 2014-12-D-6-fr-1 Règlement d application du Règlement du Baccalauréat européen (Applicable pour la session 2015 du Baccalauréat) Approuvé

Plus en détail

OASIS est une fabrique à bien commun via l utilisation des applications proposées sur son store.

OASIS est une fabrique à bien commun via l utilisation des applications proposées sur son store. Guide Utilisateur 1.1 Présentation d OASIS OASIS est une fabrique à bien commun via l utilisation des applications proposées sur son store. Grâce à OASIS, vous serez capable d acheter ou de choisir des

Plus en détail

Lettres Supérieures B/L et KHAGNE B/L

Lettres Supérieures B/L et KHAGNE B/L CLASSES PRÉPARATOIRES LITTERAIRES Lettres Supérieures B/L et KHAGNE B/L PREPARATION AU CONCOURS DES ENS ULM - LSH LYON - CACHAN AUTRES CONCOURS : IEP, Grandes Ecoles de Commerce, Chartes B Année 2010/2011

Plus en détail

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

Plus en détail

Prise en main du traitement de texte : écrire une lettre

Prise en main du traitement de texte : écrire une lettre 22 janvier 2013 p 1 Prise en main du traitement de texte : écrire une lettre Pour permettre au plus grand nombre de réaliser cet exercice, nous utiliserons le logiciel libre Libre Office. Vous pouvez le

Plus en détail

Mémento professeur du réseau pédagogique

Mémento professeur du réseau pédagogique Mémento professeur du réseau pédagogique 1. Accéder au réseau pédagogique Il suffit quand on vous demande votre nom d utilisateur et votre mot de passe de renseigner ceux-ci. Votre nom d utilisateur est

Plus en détail

Bulletin officiel spécial n 9 du 15 octobre 2009. Annexe II c Définition des épreuves

Bulletin officiel spécial n 9 du 15 octobre 2009. Annexe II c Définition des épreuves Annexe II c Définition des épreuves Épreuve EP.1 : Épreuve d étude d un projet de construction Unité UP 1 Coefficient : 4 1 - Contenu de l épreuve Cette épreuve recouvre tout ou partie des compétences

Plus en détail

«Créer les conditions d un fonctionnement compétitif, durable et équilibré du marché des biens et services en Belgique.»

«Créer les conditions d un fonctionnement compétitif, durable et équilibré du marché des biens et services en Belgique.» Manuel BCE Select 1 2 «Créer les conditions d un fonctionnement compétitif, durable et équilibré du marché des biens et services en Belgique.» Table des matières Introduction... 4 1. Demande d accès...

Plus en détail

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM) Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Plus en détail

Document d'aide phpmyadmin et MySQL

Document d'aide phpmyadmin et MySQL Document d'aide phpmyadmin et MySQL GPA775 Base de données École de Technologie Supérieure 23 juin 2009 Ce document sert de guide de base pour travailler avec l'interface phpmyadmin (interface par un navigateur

Plus en détail

Gestion Electronique et Sécurisation du Fret International Multimodal

Gestion Electronique et Sécurisation du Fret International Multimodal Gestion Electronique et Sécurisation du Fret International Multimodal transports et de prise de rendez vous Date du fichier 10/03/2008 Nom du fichier Environnement de gestion ordre de transport.doc Version

Plus en détail