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

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

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

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

Manuel du gestionnaire

Manuel du gestionnaire Manuel du gestionnaire ENT MESTEK v.2010 Ce manuel s adresse à l équipe administrative d un établissement scolaire : principal, principal adjoint, secrétaires dans un collège, proviseur, proviseur adjoint,

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

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

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

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

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

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

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

Page 1 Domaine commercial filière informatique de gestion 2 sur 16

Page 1 Domaine commercial filière informatique de gestion 2 sur 16 Page 1 Domaine commercial filière informatique de gestion 2 sur 16 Introduction SOMMAIRE Introduction 4 Les objectifs de votre formation 6 Vos perspectives professionnelles 7 Notre offre de formation 8

Plus en détail

Chapitre 3 Le modèle genevois d organisation du travail de maturité

Chapitre 3 Le modèle genevois d organisation du travail de maturité République et Canton de Genève Département de l'instruction publique Enseignement secondaire II postobligatoire TRAVAIL DE MATURITÉ : BASES RÉGLEMENTAIRES ET DÉROULEMENT DU TRAVAIL Résumé du rapport On

Plus en détail

Guide de l inscription en ligne des étudiants

Guide de l inscription en ligne des étudiants Bienvenue sur le site de l EDHEC. Cette inscription en ligne va vous permettre de renseigner votre dossier scolaire en indiquant les données utiles, telles que civilité et adresses, et le mode de règlement

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

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

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

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

Mode de calcul basé sur les dépenses déterminantes (coûts réels plafonnés) Sommaire

Mode de calcul basé sur les dépenses déterminantes (coûts réels plafonnés) Sommaire Mode de calcul basé sur les dépenses déterminantes (coûts réels plafonnés) Guide à l intention des institutions (prestataires) reconnues par les cantons suisses, pour leurs demandes d obtention des subventions

Plus en détail

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant Master CCI Compétences Complémentaires en Informatique Livret de l étudiant 2014 2015 Master CCI Le Master CCI (Compétences Complémentaires en Informatique) permet à des étudiants de niveau M1 ou M2 dans

Plus en détail

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

Guide de l enseignant. pour le Passeport Sécurité. www.parachutecanada.org. Mise à jour : 10 août 2015

Guide de l enseignant. pour le Passeport Sécurité. www.parachutecanada.org. Mise à jour : 10 août 2015 Guide de l enseignant pour le Passeport Sécurité Mise à jour : 10 août 2015 www.parachutecanada.org Table des matières À propos de Parachute et du Passeport Sécurité... 1 Partie I Votre compte Passeport

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

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

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

RÈGLEMENT FACULTAIRE SUR LA RECONNAISSANCE DES ACQUIS. Faculté des lettres et sciences humaines

RÈGLEMENT FACULTAIRE SUR LA RECONNAISSANCE DES ACQUIS. Faculté des lettres et sciences humaines RÈGLEMENT FACULTAIRE SUR LA RECONNAISSANCE DES ACQUIS Faculté des lettres et sciences humaines PRÉAMBULE Ce règlement facultaire sur la reconnaissance des acquis s inscrit dans le cadre de la Politique

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

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

10 REPÈRES «PLUS DE MAÎTRES QUE DE CLASSES» JUIN 2013 POUR LA MISE EN ŒUVRE DU DISPOSITIF

10 REPÈRES «PLUS DE MAÎTRES QUE DE CLASSES» JUIN 2013 POUR LA MISE EN ŒUVRE DU DISPOSITIF 10 REPÈRES POUR LA MISE EN ŒUVRE DU DISPOSITIF «PLUS DE MAÎTRES QUE DE CLASSES» JUIN 2013 MEN-DGESCO 2013 Sommaire 1. LES OBJECTIFS DU DISPOSITIF 2. LES ACQUISITIONS PRIORITAIREMENT VISÉES 3. LES LIEUX

Plus en détail

GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT

GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT Table des matières : Description de l application :... 2 Les raisons d une telle application

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

Règlement du Certificate of Advanced Studies en Stratégie et management du système d information (CAS SMSI)

Règlement du Certificate of Advanced Studies en Stratégie et management du système d information (CAS SMSI) Règlement CAS SMSI, volée 014 GES-FOR3-REF614 PDA Mise à jour : 9.10.013 Règlement du Certificate of Advanced Studies en Stratégie et management du système d information (CAS SMSI) Volée 014 Validé par

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique : 2004-2005

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique : 2004-2005 Université Libre de Bruxelles Faculté des Sciences Appliquées & Faculté des Sciences INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année

Plus en détail

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr Initiation à Excel Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Plan de cette année

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

Formulaire de candidature Bachelor Soins Infirmiers Sion

Formulaire de candidature Bachelor Soins Infirmiers Sion Formulaire de candidature Bachelor Soins Infirmiers Sion Inscription pour la rentrée de septembre 20.. Photo Je m inscris pour la formation ordinaire, à plein temps, en 3 ans Je suis intéressé-e par une

Plus en détail

FAQ. Admissions en Bachelor. A la Haute école de gestion Arc. Année académique 2015-2016. Dernière mise à jour : 12.5.15 / GCH

FAQ. Admissions en Bachelor. A la Haute école de gestion Arc. Année académique 2015-2016. Dernière mise à jour : 12.5.15 / GCH FAQ Admissions en Bachelor A la Haute école de gestion Arc Année académique Crédits photographiques : dreamstime.fr 2015-2016 Dernière mise à jour : 12.5.15 / GCH Introduction Cette FAQ est destinée aux

Plus en détail

Diplôme Fédéral de Web Project Manager

Diplôme Fédéral de Web Project Manager 2015/2016 Diplôme Fédéral de Web Project Manager Formation supérieure 1 SAWI garantie d excellence Facteurs déterminants permettant de choisir une formation auprès du SAWI / Plus de 40 ans d expérience

Plus en détail

INFORM@TIQUE PROGRAMME PROVISOIRE. Degré 9 (1CO)

INFORM@TIQUE PROGRAMME PROVISOIRE. Degré 9 (1CO) INFORM@TIQUE PROGRAMME PROVISOIRE Degré 9 (1CO) DECS SE, mai 2011 PREAMBULE L ordinateur et les moyens multimédias en général font partie du quotidien des élèves. Ils sont utilisés comme instruments de

Plus en détail

I. LE CAS CHOISI PROBLEMATIQUE

I. LE CAS CHOISI PROBLEMATIQUE I. LE CAS CHOISI Gloria est une élève en EB4. C est une fille brune, mince avec un visage triste. Elle est timide, peureuse et peu autonome mais elle est en même temps, sensible, serviable et attentive

Plus en détail

Objet et champ d application

Objet et champ d application Ordonnance du DEFR concernant les conditions minimales de reconnaissance des filières de formation et des études postdiplômes des écoles supérieures (OCM ES 1 ) du 11 mars 2005 (Etat le 1 er janvier 2015)

Plus en détail

Le modèle de données

Le modèle de données Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.

Plus en détail

Spécialité auxiliaire en prothèse dentaire du brevet d études professionnelles. ANNEXE IIb DEFINITION DES EPREUVES

Spécialité auxiliaire en prothèse dentaire du brevet d études professionnelles. ANNEXE IIb DEFINITION DES EPREUVES ANNEXE IIb DEFINITION DES EPREUVES 51 Epreuve EP1 : ANALYSE ET COMMUNICATION TECHNOLOGIQUES UP1 Coefficient 4 Finalité et objectifs de l épreuve L épreuve vise à évaluer la capacité du candidat à mobiliser

Plus en détail

Bac français. Bac international. Quel bac choisir? Classes 1 & Terminale

Bac français. Bac international. Quel bac choisir? Classes 1 & Terminale Bac français Bac international Quel bac choisir? Classes 1 & Terminale 2014-2015 Quelques critères de choix pour votre orientation en Première 1. Quel(s) métier(s) envisagez-vous? Dans quel(s) domaine(s)

Plus en détail

REGLEMENT D ETUDES CADRE DU MASTER OF BUSINESS ADMINISTRATION (MBA) FACULTE D ECONOMIE ET DE MANAGEMENT

REGLEMENT D ETUDES CADRE DU MASTER OF BUSINESS ADMINISTRATION (MBA) FACULTE D ECONOMIE ET DE MANAGEMENT REGLEMENT D ETUDES CADRE DU MASTER OF BUSINESS ADMINISTRATION (MBA) FACULTE D ECONOMIE ET DE MANAGEMENT Le masculin est utilisé au sens générique ; il désigne autant les femmes que les hommes. Article

Plus en détail

Cours 1 : introduction

Cours 1 : introduction Cours 1 : introduction Modèle entité-association Exemple : Deux entités (produit et dépôt) sont mises en relation (stock). Une entité doit être constituée d un identifiant et peut être complétée par des

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

TUTORIEL Qualit Eval. Introduction :

TUTORIEL Qualit Eval. Introduction : TUTORIEL Qualit Eval Introduction : Qualit Eval est à la fois un logiciel et un référentiel d évaluation de la qualité des prestations en établissements pour Personnes Agées. Notre outil a été spécifiquement

Plus en détail

Certification Conseiller Clientèle bancaire

Certification Conseiller Clientèle bancaire SAQ Swiss Association for Quality Autorité de certification de personnes Accréditée selon la norme SN/EN ISO IEC 17024:2012 Service d Accréditation Suisse SAS (SCESe 016) Certification Conseiller Clientèle

Plus en détail

Dossier I Découverte de Base d Open Office

Dossier I Découverte de Base d Open Office ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire

Plus en détail

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013 Rapport de stage Création d un site web Stage du 20/01/2013 au 21/02/2013 Auteur : Antoine Luczak Tuteur professionnel : M. Tison Tuteur scolaire : Mme Girondon Année scolaire : 2013/2014 1 Table des matières

Plus en détail

Economiste d entreprise BACHELOR OF SCIENCE

Economiste d entreprise BACHELOR OF SCIENCE Economiste d entreprise BACHELOR OF SCIENCE LES HAUTES ÉCOLES SPÉCIALISÉES Les Hautes écoles spécialisées (HES), dénommées aussi University of Applied Sciences, constituent un élément majeur du système

Plus en détail

A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source : http://amcubat.be/docpmb/import-de-lecteurs

A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source : http://amcubat.be/docpmb/import-de-lecteurs A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Diverses méthodes d import de lecteurs Les données (noms, prénoms, adresses. des lecteurs) proviennent en général du secrétariat, et se trouvent

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

Profil B ou profil E? Aide à la décision

Profil B ou profil E? Aide à la décision Employée/Employé de commerce CFC Profil B ou profil E? Aide à la décision Introduction Le présent document sert d aide pour les acteurs qui participent au choix de la voie de formation la plus appropriée

Plus en détail

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

Plus en détail

10 bonnes pratiques de sécurité dans Microsoft SharePoint

10 bonnes pratiques de sécurité dans Microsoft SharePoint 10 bonnes pratiques de sécurité dans Microsoft SharePoint SharePoint constitue certes un outil collaboratif précieux. Mais gare aux risques pour votre entreprise. 10 bonnes pratiques de sécurité dans Microsoft

Plus en détail

ASSURANCES. Votre partenaire formation continue. MODULES Salaires et Assurances dans la pratique : débutant, avancé, confirmé

ASSURANCES. Votre partenaire formation continue. MODULES Salaires et Assurances dans la pratique : débutant, avancé, confirmé ASSURANCES MODULES Salaires et Assurances dans la pratique : débutant, avancé, confirmé CERTIFICAT Généraliste en assurances sociales Votre partenaire formation continue www.virgile.ch tél. 021 921 19

Plus en détail

Disciplines. Ecoles - facultés - titres délivrés. UNIL - Faculté des lettres. Maîtrise universitaire ès Lettres

Disciplines. Ecoles - facultés - titres délivrés. UNIL - Faculté des lettres. Maîtrise universitaire ès Lettres Masters de l UNIL, de l EPFL et de la HES-SO de référence, répondant sans restriction aux conditions d admission au Diplôme d enseignement pour le degré secondaire II Ecoles - facultés - titres délivrés

Plus en détail

GENERALITES II. ORGANISATION ET ORGANES DE L EXAMEN III. INSCRIPTION A L EXAMEN, FRAIS ET CONDITIONS D ADMISSION IV. CONTENU ET MATIERE DE L EXAMEN

GENERALITES II. ORGANISATION ET ORGANES DE L EXAMEN III. INSCRIPTION A L EXAMEN, FRAIS ET CONDITIONS D ADMISSION IV. CONTENU ET MATIERE DE L EXAMEN Table des matières I. GENERALITES II. ORGANISATION ET ORGANES DE L EXAMEN III. INSCRIPTION A L EXAMEN, FRAIS ET CONDITIONS D ADMISSION IV. CONTENU ET MATIERE DE L EXAMEN V. DEROULEMENT DE L EXAMEN VI.

Plus en détail

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT Table des matières Présentation du Centre de gestion des licences en volume (VLSC)... 3 Inscription auprès

Plus en détail

Règlement spécifique des examens des Diplômes Européens de Compétences Professionnelles (D.E.C.P.)

Règlement spécifique des examens des Diplômes Européens de Compétences Professionnelles (D.E.C.P.) 5100 Règlement spécifique des examens des Diplômes Européens de Compétences Professionnelles (D.E.C.P.) 5100.01 Titre I : Dispositions générales Art. 1 - Le Diplôme Européen de Compétences Professionnelles

Plus en détail

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX TABLE DES MATIERES Livret Utilisateur Excel 2007 Niveau 2 INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX... 4 Les tableaux croisés dynamiques... 4 Création d un tableau croisé... 5 Comparer des

Plus en détail

Des quiz en toute mobilité 3. Des quiz en toute mobilité

Des quiz en toute mobilité 3. Des quiz en toute mobilité Des quiz en toute mobilité 3 Des quiz en toute mobilité 4 Des quiz en toute mobilité Pour une pédagogie différenciée L objectif ici était de proposer un outil d évaluation accessible aux élèves en dehors

Plus en détail

Manuel Utilisateur Version 1.6 Décembre 2001

Manuel Utilisateur Version 1.6 Décembre 2001 Manuel Utilisateur Version 1.6 Décembre 2001 Table des matières TABLE DES MATIERES 2 PRESENTATION 4 À PROPOS DU FORMAT PDF 4 PDFMAIL : L ASSOCIATION DU FORMAT PDF ET DE L EMAIL 4 PRINCIPE DE FONCTIONNEMENT

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

R E G L E M E N T G E N E R I Q U E DES F O R M A T I O N S E P D E S S P E C I A L I S E E S E N S O I N S

R E G L E M E N T G E N E R I Q U E DES F O R M A T I O N S E P D E S S P E C I A L I S E E S E N S O I N S Direction des ressources humaines Centre de formation Formations spécialisées en soins R E G L E M E N T G E N E R I Q U E DES F O R M A T I O N S E P D E S S P E C I A L I S E E S E N S O I N S P O U

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Réforme «Spécialiste du commerce de détail»

Réforme «Spécialiste du commerce de détail» Réforme «Spécialiste du commerce de détail» Directives relatives au déroulement des examens de validation des modules pour les futurs spécialistes du commerce de détail (Les dénominations de personnes

Plus en détail

POLITIQUE RELATIVE À L EMPLOI ET À LA QUALITÉ DE LA LANGUE FRANÇAISE

POLITIQUE RELATIVE À L EMPLOI ET À LA QUALITÉ DE LA LANGUE FRANÇAISE POLITIQUE RELATIVE À L EMPLOI ET À LA QUALITÉ DE LA LANGUE FRANÇAISE (Adoptée par le Conseil d administration lors de son assemblée régulière du 2 juin 2004) 1. PRINCIPE DIRECTEUR LE COLLÈGE, UN MILIEU

Plus en détail

ESPACE NUMERIQUE DE TRAVAIL DU LYCEE LYAUTEY LCS SE3

ESPACE NUMERIQUE DE TRAVAIL DU LYCEE LYAUTEY LCS SE3 ESPACE NUMERIQUE DE TRAVAIL DU LYCEE LYAUTEY LCS SE3 LINUX COMMUNICATION SERVEUR SAMBA EDU (VERSION 3) Chers collègues, Le Lycée Lyautey entre pleinement dans l ère numérique en se dotant d un espace numérique

Plus en détail

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture Excel 2007 -2- Avertissement Ce document accompagne le cours qui a été conçu spécialement pour les stagiaires des cours de Denis Belot. Le cours a été réalisé en réponse aux diverses questions posées par

Plus en détail

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 I. Objectifs Mettre en œuvre les compétences acquises ou en cours d acquisition en: o Modélisation UML, Réseau, Base de données,

Plus en détail

SCIENCES DE L ÉDUCATION

SCIENCES DE L ÉDUCATION UniDistance 1 Centre d Etudes Suisse Romande Formation universitaire SCIENCES DE L ÉDUCATION En collaboration avec L Université de Bourgogne à Dijon Centre de Formation Ouverte et A Distance CFOAD UniDistance

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

GESTION DU DOSSIER SCOLAIRE DE L ÉLÈVE. Adoption le Amendement le Mise en vigueur le 6 mai 2004 Résolution #

GESTION DU DOSSIER SCOLAIRE DE L ÉLÈVE. Adoption le Amendement le Mise en vigueur le 6 mai 2004 Résolution # PROCÉDURE GESTION DU DOSSIER SCOLAIRE DE L ÉLÈVE # 40-02 Adoption le Amendement le Mise en vigueur le 6 mai 2004 Résolution # Autorisation Susan Tremblay Directrice générale Page 1 de 10 1. Préambule Le

Plus en détail

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55 2013 AIDE MEMOIRE Forprev De l habilitation à la gestion de sessions Page 1 sur 55 Bienvenue, Vous êtes, ou souhaitez être, habilité à dispenser des formations relevant du dispositif de démultiplication

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

Manuel de l utilisateur du système en ligne pour les demandes de subvention ainsi que pour les rapports sur leur utilisation

Manuel de l utilisateur du système en ligne pour les demandes de subvention ainsi que pour les rapports sur leur utilisation Manuel de l utilisateur du système en ligne pour les demandes de subvention ainsi que pour les rapports sur leur utilisation Fonds de contributions volontaires des Nations Unies contre les formes contemporaines

Plus en détail

COURS DE MS EXCEL 2010

COURS DE MS EXCEL 2010 COURS DE MS EXCEL 2010 Auteur: Jean Monseu Ce cours est publié par Mechelsesteenweg 102 2018 Anvers Copyright Jean Monseu CFD, Mechelsesteenweg 102, 2018 Anvers Tous droits réservés. Aucune partie de cette

Plus en détail

Base de données relationnelle et requêtes SQL

Base de données relationnelle et requêtes SQL Base de données relationnelle et requêtes SQL 1e partie Anne-Marie Cubat Une question pour commencer : que voyez-vous? Cela reste flou Les plans de «Prison Break»? Non, cherchons ailleurs! Et de plus près,

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont I Open Boutique Sommaire : I Open Boutique... 1 Onglet «Saisie des Produits»... 3 Création d'une nouvelle fiche boutique :... 3 Création d'une nouvelle fiche lieux de retraits :... 10 Création d'une nouvelle

Plus en détail

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI Contexte de la mission Suite à la multiplication des matériels et des logiciels dans les locaux de GSB, le service

Plus en détail

ScolaStance V6 Manuel vie scolaire

ScolaStance V6 Manuel vie scolaire ScolaStance V6 Manuel vie scolaire Sommaire INTRODUCTION... 5 ACCES A L ENT... 5 Modification du mot de passe temporaire... 6 Mot de passe oublié... 6 PERSONNALISATION DE LA PAGE D ACCUEIL... 7 Editer

Plus en détail

Stagiaire Ecole professionnelle supérieure (EPS)

Stagiaire Ecole professionnelle supérieure (EPS) Département fédéral des affaires étrangères DFAE Direction des ressources DR Personnel DFAE Stagiaire Ecole professionnelle supérieure (EPS) L ensemble des données figurant dans ce questionnaire sont soumises

Plus en détail

Loi sur l enseignement privé (version en vigueur jusqu'au 31 décembre 2014)

Loi sur l enseignement privé (version en vigueur jusqu'au 31 décembre 2014) Loi sur l enseignement privé (version en vigueur jusqu'au 31 décembre 2014) du 10 mai 1984 Le Parlement de la République et Canton du Jura, vu les articles 8, lettres d et h, 38 et 39 de la Constitution

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

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

Manuel de l utilisateur à l intention des candidats externes

Manuel de l utilisateur à l intention des candidats externes Manuel de l utilisateur à l intention des candidats externes Version 13A Société canadienne d hypothèques et logement Août 2013 Élaboré pour la SCHL par : Rémi R. Paquette Révisé par : Kristen Provost

Plus en détail

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles Manuel d utilisation de la plate-forme de gestion de parc UCOPIA La mobilité à la hauteur des exigences professionnelles 2 Manuel d utilisation de la plate-forme de gestion de parc UCOPIA 1 Table des matières

Plus en détail

COMMENT REDIGER UN RAPPORT TECHNIQUE?

COMMENT REDIGER UN RAPPORT TECHNIQUE? COMMENT REDIGER UN RAPPORT TECHNIQUE? Christiaens Sébastien Université de Liège Département PROMETHEE Institut de Mécanique et de Génie Civil, Bât. B52 Chemin des Chevreuils, 1 B-4000 Liège, Belgique Janvier

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

Maturité spécialisée arts visuels. Plan d études et critères de réussite

Maturité spécialisée arts visuels. Plan d études et critères de réussite Maturité spécialisée arts visuels Plan d études et critères de réussite Département de la formation, de la jeunesse et de la culture Direction générale de l enseignement postobligatoire Maturité spécialisée

Plus en détail

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES Avant-propos Conçu par des pédagogues expérimentés, son originalité est d être à la fois un manuel de formation et un manuel de référence complet présentant les bonnes pratiques d utilisation. FICHES PRATIQUES

Plus en détail

Guide de l utilisateur Usagers d œuvres

Guide de l utilisateur Usagers d œuvres Guide de l utilisateur Usagers d œuvres Système de gestion des droits de reproduction en ligne de Copibec Table des matières Introduction 5 Compte 6 Inscription d un nouveau compte 6 Création d un nouveau

Plus en détail

Portail étudiant de la Faculté des sciences Notice d'utilisation du site d'inscription aux unités d enseignement

Portail étudiant de la Faculté des sciences Notice d'utilisation du site d'inscription aux unités d enseignement Portail étudiant de la Notice d'utilisation du site d'inscription aux unités d enseignement http://www.unifr.ch/science/gestens Configuration : Le programme d'inscription aux unités d enseignement de la

Plus en détail

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET Brancher / débrancher l ordinateur de la prise Allumer / éteindre l ordinateur : pour allumer ou éteindre l ordinateur vous devez appuyer sur le bouton On/off

Plus en détail