Gestion d'un intranet / extranet scolaire
base
initié
avancé
Organisation générale de l'intranet :structure et navigation
Organisation générale de l'intranet :structure et navigation
I. Intranet et réseau pédagogique d'établissement: une approche globale
II. Les éléments d'un intranet:
III. Les niveaux d'organisation à gérer :
I. Intranet et réseau pédagogique d'établissement: une approche globale
I. Intranet et réseau pédagogique d'établissement: une approche globale
L'intranet : un élément du Réseau Pédagogique d'Etablissement
Informatique scolaire: problèmes juridiques
II. Les éléments d'un intranet:
II. Les éléments d'un intranet:
A. Le matériel existant
B. Les applications possibles
C. Un site web pour centraliser et organiser les accès
D. Un environnement pour favoriser la publication de ressources pédagogiques
III. Les niveaux d'organisation à gérer :
III. Les niveaux d'organisation à gérer :
A. Les règles de navigation dans le site :
Organisation technique : l'arborescence de l'intranet
Gestion de la mise en page commune à toute les pages du site avec des feuilles de style CSS.
Gestion de la mise en page commune à toute les pages du site avec des feuilles de style CSS.
1. Rappel : notions de base sur les balises HTML
1. Rappel : notions de base sur les balises HTML
1. Rappel : notions de base sur les balises HTML
1. Commencer avec les feuilles de style
Interactions et automatisations dans un site avec JavaScript
Interactions et automatisations dans un site avec JavaScript
I. Notions de base pour commencer avec JavaScript
II. Exemples d'utilisations combinant les techniques de base
III. Combinaisons de scripts récupérés : les choses sérieuses commencent...
I. Notions de base pour commencer avec JavaScript
I. Notions de base pour commencer avec JavaScript
A. Pour débuter avec JavaScript...
B. Manipulation de contenu dans une page
C. Utilisation de fonctions
D. Utilisation des méthodes du DOM pour accéder aux éléments de contenu ou de style
II. Exemples d'utilisations combinant les techniques de base
II. Exemples d'utilisations combinant les techniques de base
E. Afficher / masquer, modifier le style des contenus
F. Modifier les contenus d'une page HTML affichée
G. Créer un menu de navigation dynamiquement (utilisation de tableaux):
III. Combinaisons de scripts récupérés : les choses sérieuses commencent...
III. Combinaisons de scripts récupérés : les choses sérieuses commencent...
H. Combiner et modifier des scripts récupérés : fabrication d'un menu flottant automatique
I. Automatisation et centralisation des éléments répétés dans les pages (Exercice 3) :
Mise en oeuvre et intégration d'applications web dans l'intranet.
Mise en oeuvre et intégration d'applications web dans l'intranet.
I. Quelles applications pour un intranet scolaire ?
II. Installation d'une configuration minimum pour publier sur le réseau de l'établissement
III. Exemples d'intégration d'applications
I. Quelles applications pour un intranet scolaire ?
I. Quelles applications pour un intranet scolaire ?
Les différents type d'applications que l'on peut rencontrer dans un intranet / extranet scolaire
II. Installation d'une configuration minimum pour publier sur le réseau de l'établissement
II. Installation d'une configuration minimum pour publier sur le réseau de l'établissement
A. Installation de EasyPHP (= serveur Apache + serveur MySQL + interface de gestion PHPMyAdmin)
B. Installer un serveur FTP et configurer les accès des utilisateurs avec FileZilla Server
C. configurer les restrictions d'accès sur les dossiers réservés (dossiers "profs") avec les fichiers .htaccess
III. Exemples d'intégration d'applications
III. Exemples d'intégration d'applications
A. Installation de SPIP et intégration minimum avec le site web
B. Installation d'un espace de travail collaboratif ESPAR
C. intégration d'une application de service : GRR, un planning pour salles spécialisées ou matériels
D. Gestion des logins multiples pour les comptes utilisateurs : un exemple de solution utilisant JavaScript
Références, tutoriels, outils,
composants des exercices.
Références, tutoriels, outils,
composants des exercices.
En ligne :
Tutoriels:
Références langages:
Applications pour intranet scolaire
Livres:
Outils:
Composants des exercices :
En ligne :
En ligne :
L'ESPAR des stages 2004-05
4 exemples d'intranets/extranets d'établissements :
Les spécifications ministérielles :
Le dispositif @CAR dans l'académie d'Aix-Marseille :
Tutoriels:
Tutoriels:
Références langages:
Références langages:
Le site de référence pour HTML, JavaScript et DOM : SELFHTML
Syntaxe des feuilles de styles CSS : les propriétés les plus courantes
Le site de référence pour les feuilles de style CSS
Applications pour intranet scolaire
Applications pour intranet scolaire
Les applications intranet en démonstration sur le site de l'IUFM
Livres:
Livres:
HTML 4
DHTML et CSS pour le world wide web
JavaScript:Totale_Initiation()
JavaScript, la référence
Outils:
Outils:
Version en ligne du CD ressources
PSPad : éditeur de texte évolué
TopStyle : éditeur CSS évolué (en anglais exclusivement)
Mozilla : navigateur web
Filezilla : FTP
JR Screen Ruler : mesure des pixels à l'écran
easyphp : serveur web perso
Générateur de CSS en ligne : version simple
Générateur de CSS en ligne : version avancée
Composants des exercices :
Composants des exercices :
Les fichiers à télécharger pour les différents exercices
base
initié
avancé
Organisation générale de l'intranet :structure et navigation
I. Intranet et réseau pédagogique d'établissement: une approche globale
I. Intranet et réseau pédagogique d'établissement: une approche globale
L'intranet : un élément du Réseau Pédagogique d'Etablissement
Informatique scolaire: problèmes juridiques
L'intranet : un élément du Réseau Pédagogique d'Etablissement
L'intranet : un élément du Réseau Pédagogique d'Etablissement
niveau:
Informatique scolaire: problèmes juridiques
Informatique scolaire: problèmes juridiques
niveau:
Pour les problèmes spécifiquement liés à la mise en ligne de contenus par les utilisateurs de l'intranet, consultez la partie "Publication internet et intranet"
II. Les éléments d'un intranet:
II. Les éléments d'un intranet:
A. Le matériel existant
B. Les applications possibles
C. Un site web pour centraliser et organiser les accès
D. Un environnement pour favoriser la publication de ressources pédagogiques
A. Le matériel existant
A. Le matériel existant
En fonction de la configuration du réseau de l'établissement, de son accès à internet... plusieurs implantations sont possible pour l'intranet / extranet de l'établissemeent :
B. Les applications possibles
B. Les applications possibles
Les applications intégrables dans un intranet scolaire sont nombreuses, il faut donc déterminer quels sont les besoins et les possibilités des usagers de l'intranet pour choisir celles qui seront implantées.
C. Un site web pour centraliser et organiser les accès
C. Un site web pour centraliser et organiser les accès
La navigation dans l'intranet doit être structurée pour permettre l'accès à l'ensemble des éléments intégrés.
D. Un environnement pour favoriser la publication de ressources pédagogiques
D. Un environnement pour favoriser la publication de ressources pédagogiques
Un des buts de l'intranet doit être d'offrir la possibilité de publication de ressources pédagogiques pour les usagers.
III. Les niveaux d'organisation à gérer :
III. Les niveaux d'organisation à gérer :
A. Les règles de navigation dans le site :
Organisation technique : l'arborescence de l'intranet
A. Les règles de navigation dans le site :
A. Les règles de navigation dans le site :
TD: établir un schéma de navigation "type".
Organisation technique : l'arborescence de l'intranet
Organisation technique : l'arborescence de l'intranet
TD: réalisation d'une arborescence adaptée à son établissement => dossiers + configuration des autorisation de lecture/écriture en fonction des différents types d'utilisateurs (élèves, prof...).
base
initié
avancé
1. Rappel : notions de base sur les balises HTML
1. Rappel : notions de base sur les balises HTML
1. Commencer avec les feuilles de style
1. Commencer avec les feuilles de style
1. Commencer avec les feuilles de style
L'ensemble de la gestion des styles peut (et, si l'on veut éviter des mises à jours pénibles... 'doit' ) se faire en utilisant les attribut de style des balises HTML.
Dans la pratique cela revient à utiliser l'attribut style="..." des balises ou pour faire plus pratique à définir l'ensemble de ces attributs dans une balise spécifique <style type="text/css"> ... </style> que l'on place avant le chargement de la page (dans le HEAD de chaque page HTML du site)
base
initié
avancé
I. Notions de base pour commencer avec JavaScript
I. Notions de base pour commencer avec JavaScript
A. Pour débuter avec JavaScript...
B. Manipulation de contenu dans une page
C. Utilisation de fonctions
D. Utilisation des méthodes du DOM pour accéder aux éléments de contenu ou de style
A. Pour débuter avec JavaScript...
A. Pour débuter avec JavaScript...
Cette premiere série d'exemples utilise des balises SCRIPT intégrées
à différents endroits du fichier HTML et qui contiennent du code
JavaScript.
Le lancement de ce code peut se faire de différents manières:
les exemples ci-dessous illustrent les possibilités existantes.
Lancement direct: ce texte est créé par le script placé dans la balise P juste avant l'alerte. La fonction write() utilisée intègre le texte exactement au point d'ouverture de la balise SCRIPT qui la contient.
code de la balise SCRIPT intégré dans la page:
<script language="JavaScript">
document.write("Lancement direct: ce texte est créé par le
script placé dans la balise P juste avant l'alerte. La fonction write()
utilisée intègre le texte exactement au point d'ouverture de la
balise SCRIPT qui la contient.");
</script>
Réalisez un script qui lance une fenètre d'avertissement avec le texte suivant : "Bonjour tout le monde"
Vous utiliserez la fonction alert() de façon similaire à write().
L'énervante boite de dialogue que vous subissez au
chargement de cette page est générée par une fonction
alert() lancée par un script
situé dans la balise HEAD de cette page.
Code de ce script:
<script language="JavaScript">
alert("Je suis créé par un script intégré dans
la balise HEAD de cette page.\n Tant que vous ne cliquerez pas, la suite de
cette page (BODY) attendra son affichage !");
</script>
Cet exemple illustre l'utilisation du gestionnaire d'évènement onLoad
appliqué à la balise BODY: il permet de déclencher un script lorsque le chargement de
l'élément auquel il est appliqué (BODY dans cet exemple)
est terminé.
D'un façon plus générale, les gestionnaires d'évènements sont des attributs de balise HTML qui prennent comme valeur du code JavaScript.
Si vous consultez le pied de cette page vous trouverez le
résultat d'un appel JavaScript qui modifie la propriété
innerHTML pour ajouter à la page du code HTML (dans
cet exemple le code est ajouté à la fin de la balise BODY, ce
qui le fait apparaître en bas de page).
Code HTML de cet exemple:
<body onLoad="document.body.innerHTML += '<p class=\'genereJS\'>Je
suis ajouté au code HTML de la page par <b>BODY onload= ...cettePage.innerHTML
+= ...</b> je suis donc placé en bas de page...<br><a
href=\'#ex3\'>Retour exemple 3</a></p>';">
Réalisez un script qui lance une fenètre d'avertissement avec le texte suivant : "Au revoir tout le monde" lorsque l'on quitte la page.
Vous utiliserez la fonction alert() et le gestionnaire d'évènement onUnload().
Cliquez ici pour l'alerte:
1ère méthode pour lancer par un lien une fonction javascript (alert()
dans cet exemple)
code HTML de ce lien:
<a href="JavaScript:alert('Vous avez cliqué ici !');">Cliquez
ici pour l'alerte</a>
Cliquez
maintenant ici: autre méthode pour lancer une fonction javascript
à partir d'un lien
code HTML de ce lien:
<a href="#" onClick="alert('Vous cliquez vraiment n\'importe
où !');">Cliquez maintenant ici: </a>
onClick
est un autre exemple de gestionnaire d'évènement: le code JavaScript
qu'il contient est lancé lorsque l'utilisateur clique sur le lien.
Parmi les autres gestionnaires d'évènements couramment utilisés:
onMouseover (déclenché lorsque la souris survole l'élément), onMouseout
(la souris quitte l'élément), onSelect lorsqu'un élément de formulaire
est sélectionné. Pour plus de détails sur les gestionnaires
d'évènements, consultez cette page (site SELFHTML).
Réalisez un script avec la fonction saisie2alerte() qui lance une fenètre demandant la saisie d'un texte par l'utilisateur puis affiche la saisie dans une boite d'avertissement. Vous utiliserez la fonction JavaScript prompt("texte de la boite de saisie").
La valeur saisie est récupérée en attribuant une valeur à l'appel de prompt : var_txt = prompt("texte...");
La valeur récupérée sera affichée par une boite d'averissement (fonction alert() ).
avec le texte suivant : "Au revoir tout le monde" lorsque l'on quitte la page.
Vous utiliserez un lien avec une URL du type href="JavaScript: saisie2alerte();" pour lancer la fonction
B. Manipulation de contenu dans une page
B. Manipulation de contenu dans une page
Les exemples de la partie I. permettent également d'illustrer les différentes méthodes permettant d'ajouter ou de modifier le contenu d'une page HTML à l'aide de JavaScript.
Utilisation d'une fonction utilisateur ajouter_html("html
à ajouter" , "ID_balise_cible")
permettant d'ajouter n'importe quel portion de code HTML ("html
à ajouter") à n'importe quelle balise de la
page ayant un identifiant ID= "ID_balise_cible".
Cette fonction est stockée dans la balise HEAD de la page: étant
ainsi lue par le navigateur avant d'afficher le BODY, elle peut donc être
appelée depuis n'importe où dans la page.
Appel de la fonction ecrire_html() avec les paramètres '<br><p>Je suis le code à écrire</p>' et 'cible_exemple5':
Balise P avec ID="cible_exemple5" => le contenu HTML envoyé par le script de cet exemple vient se mettre ici.
Code HTML de l'appel de la fonction avec ses paramètres pour le onClick="..."
du bouton ci-dessus:
onClick="ecrire_html('<br><p>Je suis le code à
écrire</p>' , 'cible_exemple5')"
Code JavaScript de la fonction ecrire_html() :
function ecrire_html(code_html , id_balise) {
document.getElementById(id_balise).innerHTML += code_html;
}
=> cette fonction modifie la propriété innerHTML
de la balise cible (balise ayant un ID = cible_exemple5) en
lui ajoutant ( += ) le code HTML <br><p>Je
suis le code à écrire</p> .
Réalisez un script avec la fonction saisie2txt() qui lance une fenètre demandant la saisie d'un texte par l'utilisateur puis affiche la saisie dans un cadre à fond gris flottant à droite de la page. Ce cadre aura comme id affichage
Pour éviter de réécrire du code, vous réutiliserez la fonction saisie2alerte() que vous combinerez avec votre fonction ecrire_html() pour obtenir la fonction finale saisie2txt()
Vous utiliserez un lien avec une URL du type href="saisie2txt();" pour lancer la fonction.
C. Utilisation de fonctions
C. Utilisation de fonctions
L'utilisation de JavaScript dans une page web sera facilitée par l'usage de fonctions définies par l'auteur. L'idée est de structurer le code pour limiter au maximum la répétition des portions de code ayant une fonctionnalité identique
Code JavaScript pour la déclaration d'une fonction:
function nom_de_la_fonction () {
instruction 1 ;
instruction 2 ;
= ensemble d'instructions délimité par des accolades
}
Exemple de code HTML permettant d'appeler cette fonction à partir d'un
évènement onLoad ou onClick:
<body onload="nom_de_la_fonction()"> <button onclick="nom_de_la_fonction()">
On peut ensuite faire appel à ces différentes fonctions
dans le reste de la page ce qui permet d'utiliser plusieurs fois le même
code.
Dans la même optique on essayera (lorsque cela n'alourdi pas trop le temps
de développement du code...) de faire des fonctions "modulables"
en utilisant des paramètres.
L'exemple 5 montre un cas simple d'utilisation d'une fonction
avec 2 paramètres.
Les boutons suivant lancent la même fonction que celle de l'exemple 5, ecrire_html() mais avec des paramètres différents:
ici la balise P avec l'id cible2
| paramètre 1: code à écrire = '<p style=\'font-size:200%; font-weight:bolder\'>Je suis gros et gras !</p>' | |
| paramètre 2: ID de la balise cible = 'cible2' (cad le paragraphe au-dessus). | |
| paramètre 1: code à écrire = '<p style=\'font-size:75%; color:red\'>Je suis petit et rouge !</p>' | |
| paramètre 2: ID de la balise cible = 'cible3' (cad ce paragraphe). |
ici la balise P avec l'id cible3
La fonction ecrire_html() utilise les 2 paramètres
de la manière suivante:
paramètre 1 est envoyé
comme code HTML à ajouter ( ...innerHTML += ...) à
celui de la balise ayant comme ID paramètre
2
Code JavaScript de la fonction ecrire_html (
paramètre 1 , paramètre
2 ) :
function ecrire_html(code_html , id_balise)
{
document.getElementById(id_balise).innerHTML +=
code_html;
}
On peut constater que les 2 paramètres sont désignés par
des variables (dans cet exemple il s'agit de code_html
et id_balise) dans les instructions
de la fonction.
Lors du lancement de la fonction, les valeurs passées
en paramètres à la fonction prendront la place
de ces variables.
D. Utilisation des méthodes du DOM pour accéder aux éléments de contenu ou de style
D. Utilisation des méthodes du DOM pour accéder aux éléments de contenu ou de style
Dans cette partie, on utilise des fonctions définies dans le fichier
externe externe.js (stocké
dans le même dossier que cette page): l'intégration
de ce script externe se fait dans la balise HEAD
de cette page par la ligne de code suivante:
<script language="JavaScript" src="externe.js"></script>
appel de la fonction bouge_node()
code JavaScript de la fonction:
function bouge_node() {
a_bouger = document.getElementById("noeud_a_bouger");
div_place = document.getElementById("noeud_cible");
div_place.appendChild(a_bouger);
}
Tableau à bouger: balise TABLE id="noeud_a_bouger"
| Les zones: | Vie scolaire | Administration | CDI | Allemand | SVT | Foyer | Productions des élèves | Techno | Lettres | Aides |
Appel de la fonction augmente_margetop().
Code JavaScript de la fonction:
function augmente_margetop(val) {
document.getElementById("titreIV").style.backgroundColor = '#DEDEDE';
document.getElementById("titreIV").style.paddingTop = val + 'px';
}
Appel de la fonction margetop_interactif().
Code JavaScript de la fonction:
function margetop_interactif() {
user_hteur = prompt('Saisissez la valeur en pixels de l\'espacement supérieur)',
0);
augmente_margetop(user_hteur);
}
On peut remarquer ici l'appel de la fonction précédente (augmente_margetop())
comme exemple de réutilisation d'une fonction: le paramètre passé
à cette fonction est la saisie de l'utilisateur.
(cette fonction présente une lacune importante: elle n'envisage pas le
cas ou la saisie de l'utilisateur ne serait pas un nombre...).
II. Exemples d'utilisations combinant les techniques de base
II. Exemples d'utilisations combinant les techniques de base
E. Afficher / masquer, modifier le style des contenus
F. Modifier les contenus d'une page HTML affichée
G. Créer un menu de navigation dynamiquement (utilisation de tableaux):
E. Afficher / masquer, modifier le style des contenus
E. Afficher / masquer, modifier le style des contenus
Pour le détail du fonctionnement de ce script : ouvrez affiche_masque.js
F. Modifier les contenus d'une page HTML affichée
F. Modifier les contenus d'une page HTML affichée
Pour le détail du fonctionnement de ce script : ouvrez change_contenu.js
G. Créer un menu de navigation dynamiquement (utilisation de tableaux):
G. Créer un menu de navigation dynamiquement (utilisation de tableaux):
Dans cette page la fonction cree_liste_rapide() est lancée 2 fois avec 2 paramètres différents
ce qui permet de fabriquer 2 menu déroulants différents.
A chaque fois cette fonction fabrique le menu (balise SELECT) à partir du tableau (boucle FOR )
puis l'affiche dans la page (fonction javascript write())
Les éléments du tableau sont eux même des tableaux à 2 éléments de la forme: [ 'nom de l'item de la liste' , 'URL du lien' ]
Chaque élément de la liste fabriquée est une balise OPTION avec comme
contenu le 1er élément et comme attribut VALUE le 2eme élément
La balise SELECT (le menu déroulant) à comme gestionnaire d'événement onchange() l'appel de la fonction self.location.href()
qui permet d'envoyer le navigateur à l'URL de l'élément choisit.
Il faudra donc que cette fonction self... soit capable de récupérer le
VALUE de l'élément sélectionné par l'utilisateur => révisez le
tutoriel sur les formulaires si nécessaire !
L'idée est, bien sûr, de pouvoir créer contextuellement
(en fonction de la position dans le site intranet) des menus adaptés
aux besoins des utilisateurs.
1er menu déroulant: tableau passé en paramètre tab_recherche[ ] => permet d'accéder aux différents moteurs de recherche en mode avancé
2eme menu déroulant: tableau passé en paramètre tab_iufm[ ] => permet d'accéder à différentes partie du site de l'IUFM
Pour le détail du fonctionnement de ce script : ouvrez acces_rapide.js => le code est commenté.
III. Combinaisons de scripts récupérés : les choses sérieuses commencent...
III. Combinaisons de scripts récupérés : les choses sérieuses commencent...
H. Combiner et modifier des scripts récupérés : fabrication d'un menu flottant automatique
I. Automatisation et centralisation des éléments répétés dans les pages (Exercice 3) :
H. Combiner et modifier des scripts récupérés : fabrication d'un menu flottant automatique
H. Combiner et modifier des scripts récupérés : fabrication d'un menu flottant automatique
Ces deux fichiers contiennent un script (dans le HEAD pour menu_slidebar.htm, au début du BODY pour menu_vertical_effets.htm) et une balise de style CSS.
Le but de l'exercice est de réaliser une fusion des 2 scripts pour avoir un menu "slidebar", vertical avec des effets. On se débrouillera de plus pour qu'il soit compatible avec un tableau de disciplines de la forme : tabTotal = [ ['http://url_discipline_1', 'titre discipline 1'], ['http://url_discipline_2.htm', 'titre discipline 2'],['http://url_discipline_3.htm', 'titre discipline 3'] ] pour la création des items dans le tableau vertical.
La stratégie choisie est d'intégrer l'élégant menu vertical DANS le vilain cadre créé par le menu slidebar.
On va donc opérer en plusieurs étapes :
tabTotal[ ]printMenu() qui lance la création du menu pour qu'elle crée une variable htm_men qui contiendra l'ensemble du code HTML généré par la fonction. Cette variable sera retournée lors de la fin de la fonction :function printMenu () {
....
htm_men = '<div id="Menu">';
htm_men += ...
return (htm_men);
}printMenu () évite l'appel à la méthode document.write() ce qui permettra de l'utiliser n'importe où (par ex. AVANT que le cade du menu n'ait été créé).<style> dans le HEAD). On se débrouillera pour que le background-color (couleur de fond) des 2 éléments soit coordonné.printMenu(). De cette façon le cadre flottant aura comme contenu le menu vertical avec effets.
I. Automatisation et centralisation des éléments répétés dans les pages (Exercice 3) :
I. Automatisation et centralisation des éléments répétés dans les pages (Exercice 3) :
Le but de l'exercice est d'intégrer et de configurer un ensemble de
scripts qui permet de réaliser automatiquement dans chaque page du site
intranet un en-tête et un pied de page pour permettre la navigation
entre les parties.
L'architecture du système à mettre en oeuvre est la suivante:
On obtient donc une présentation globale des pages du site uniforme et modifiable facilement puisqu'il suffit de modifier les fichiers tete_pied.js et automat.css pour que l'ensemble des pages reflètent directement les changements.
En-tête et du pied de page automatiques: un exemple de résultat => voir lanceur.js automat.js tete_pied.js
base
initié
avancé
I. Quelles applications pour un intranet scolaire ?
I. Quelles applications pour un intranet scolaire ?
Les différents type d'applications que l'on peut rencontrer dans un intranet / extranet scolaire
Les différents type d'applications que l'on peut rencontrer dans un intranet / extranet scolaire
Les différents type d'applications que l'on peut rencontrer dans un intranet / extranet scolaire
II. Installation d'une configuration minimum pour publier sur le réseau de l'établissement
II. Installation d'une configuration minimum pour publier sur le réseau de l'établissement
A. Installation de EasyPHP (= serveur Apache + serveur MySQL + interface de gestion PHPMyAdmin)
B. Installer un serveur FTP et configurer les accès des utilisateurs avec FileZilla Server
C. configurer les restrictions d'accès sur les dossiers réservés (dossiers "profs") avec les fichiers .htaccess
A. Installation de EasyPHP (= serveur Apache + serveur MySQL + interface de gestion PHPMyAdmin)
A. Installation de EasyPHP (= serveur Apache + serveur MySQL + interface de gestion PHPMyAdmin)
Page d'accueil de EasyPHP: http://www.easyphp.org/index.php3
B. Installer un serveur FTP et configurer les accès des utilisateurs avec FileZilla Server
B. Installer un serveur FTP et configurer les accès des utilisateurs avec FileZilla Server
Page d'accueil de Filezilla Server: http://filezilla.sourceforge.net/
C. configurer les restrictions d'accès sur les dossiers réservés (dossiers "profs") avec les fichiers .htaccess
C. configurer les restrictions d'accès sur les dossiers réservés (dossiers "profs") avec les fichiers .htaccess
La syntaxe d'un fichier .htaccess est la suivante (exemple pour protéger le répertoire \general_objets\stocks, accès réservé aux utilisateurs administrateurs admin1 et admin2 ou au groupe des administrateurs)
# fichier .htaccess pour le répertoire www\general_objets\stocks\
AuthType Basic
AuthName "Répertoire réservé aux administrateurs de l'intranet"
AuthUserFile D:\votre_dossier_de_travail\easyphp\www\general_objets\tech\.htusers
AuthGroupFile D:\votre_dossier_de_travail\easyphp\www\general_objets\tech\.htgroups
require user admin1 admin2br>
# require group admins # alternative pour l'utilisation d'un groupe
Explications:
# met en commentaire la suite de la ligne
# fichier .htaccess pour le répertoire www\general_objets\stocks\ => type d'autenfication utilisée: ne pas modifier
AuthType Basic
AuthName "Répertoire réservé aux administrateurs de l'intranet" => pour info sur le répertoire protégé
AuthUserFile D:\votre_dossier_de_travail\easyphp\www\general_objets\stocks\.htusers => chemin du fichier des utilisateurs .htusers.
Ce chemin est absolu par rapport à la machine (ici on suppose que
EasyPHP est installé selon la config définie dans les étapes
précédentes cad sur une machine Windows).
/outils/sites/www.lyc-truc/www/ pour le lycée Truc ou /outils/sites/www.col-machin/www/ pour le collège Machin ou /outils/sites/www.lp-bidule/www/ pour le lycée professionnel BiduleAuthGroupFile D:\votre_dossier_de_travail\easyphp\www\general_objets\stocks\.htgroups => chemin du fichier de définition des groupes .htgroupsrequire user admin1 admin2 => le nom des utilisateurs autorisés à l'accès, ici admin1 et admin2 (si login + mdp valides...)require group admins
=> alternative pour l'utilisation d'un groupe d'utilisateurs (ici
admins, dans lequel on regroupera les comptes d'administrateurs de
l'intranet).
Exemple de fichier des utilisateurs .htusers (sera placé dans le répertoire défini par la directive AuthUserFile
# Fichier d'utilisateurs pour le site intranet
admin1:secret
admin2:secret
prof1:mdp_prof1
prof2:mdp_prof2
prof3:mdp_prof3
Ce fichier est constitué par les paires login:mot_de_passe de tous les comptes ayant accès à une zone protégée. Il sera donc unique pour l'ensemble de l'intranet.
Exemple de fichier des groupes .htgroups (sera placé dans le répertoire défini par la directive AuthUserFile):
# Fichier de groupe pour le site intranet
admins: admin1 admin2
profs: prof1 prof2 prof3
A partir de ces exemples, configurez la sécurité des répertoires profs de votre intranet en créant:
Pour une documentation complète sur l'utilisation avancée des fichiers .htaccess, consultez cette page (site SELFHTML)
III. Exemples d'intégration d'applications
III. Exemples d'intégration d'applications
A. Installation de SPIP et intégration minimum avec le site web
B. Installation d'un espace de travail collaboratif ESPAR
C. intégration d'une application de service : GRR, un planning pour salles spécialisées ou matériels
D. Gestion des logins multiples pour les comptes utilisateurs : un exemple de solution utilisant JavaScript
A. Installation de SPIP et intégration minimum avec le site web
A. Installation de SPIP et intégration minimum avec le site web
Page d'accueil de SPIP:http://www.spip.net/
Pour pouvoir visualiser les rubriques de SPIP, il faut qu'elles
contiennent au moins un article ou une brève => créez ces articles à
partir de "Edition du site" > "Créer un nouvel article dans cette
rubrique".
Pour chacun de ces articles vous utiliserez un login prof différent
(utilisez le bouton "Se déconnecter" pour pouvoir changer d'utilisateur
à chaque fois).
Une fois les articles (bidons) rédigés, connectez vous avec les comptes
administrateurs pour valider la mise en ligne de ces articles.
A partir de ce moment il faut intégrer votre SPIP dans le site intranet:
B. Installation d'un espace de travail collaboratif ESPAR
B. Installation d'un espace de travail collaboratif ESPAR
$_SESSION['host']
= "localhost"; // adresse ip serveur mysql $_SESSION['user'] = "root"; //
nom de l'utilisateur mysql ayant les droits sur la
base$_SESSION['passwd'] = ""; // mot de passe de
l'utilisateur$_SESSION['base'] = "espar"; // nom de la
baseIl est possible de faire cohabiter plusieurs plate-formes Espar ; il suffit de les placer dans des répertoires différents de votre serveur Apache et de leur attribuer des bases de données différentes.
En cas de difficultés : consulter la documentation sur http://www.aix-mrs.iufm.fr/espar/ et choisir l'espar consacré à ESPAR (!) : [libre] Applications et documents en licence libre
C. intégration d'une application de service : GRR, un planning pour salles spécialisées ou matériels
C. intégration d'une application de service : GRR, un planning pour salles spécialisées ou matériels
Page d'accueil de GRR: http://www.lpi.ac-poitiers.fr/grr_lpi/
L'ensemble de la config de l'appli se fait par l'intermédiaire du fichier "config.inc" présent dans le répertoire "grr" de votre répertoire intranet.
Editez ce fichier (avec HAPEdit par ex) et réalisez les modifications suivantes en fonction des besoins de votre établissement:
$dbsys = "mysql";#$dbsys = "pgsql"; en commentaire cad précédée d'un # )$authentification_obli : Cette variable permet de contrôler si l’accès à la page d’accueil de visualisation des réservations de salles est possible sans être connecté ou non :
$authentification_obl=1 : il est obligatoire de se connecter pour accéder au site, même pour une simple consultation des réservation.$authentification_obli=0 : Il n’est pas nécessaire de se connecter pour consulter les réservations mais la connexion est obligatoire si l’utilisateur veut réserver ou modifier une réservation. Si GRR est accessible de l’internet (et non pas uniquement d’un intranet), vos ressources et les réservations seront alors visibles par tous.$resolution = 3600; $morningstarts = 8; $eveningends = 17;$weekstarts = 1;Consulter les commentaires directement dans le fichier config.inc dans le dossier de décompaction du zip
2 niveaux d'utilisateurs doivent êtres définis:
Placez un lien vers le répertoire qui contient GRR(du style http://nom_de_la_machine_serveur_web/grr/ ) dans la page qui y donnera accès (par ex la partie commune réservée aux profs) et diffusez les paramètres du (des) compte(s) à utiliser pour faire les réservations.
Essayez de faire une réservation un peu complexe
(par ex vidéoprojecteur 1 pour une période de 2 heures, tous les Lundis
de 8 à 10 heure du 24 février) au 31 mars.
L'intégration complète de cette appli nécessiterait également une page d'aide à l'utilisation pour les profs afin qu'ils comprennent les différentes options qui leurs sont proposées...
D. Gestion des logins multiples pour les comptes utilisateurs : un exemple de solution utilisant JavaScript
D. Gestion des logins multiples pour les comptes utilisateurs : un exemple de solution utilisant JavaScript
De la même manière, pour les élèves, on peut générer un compte d'accès FTP sur leur dossier de publication HTML et un compte de rédacteur dans SPIP toujours avec le même login que IACA.
L'idée est de partir du fichier des mots de passe extrait de IACA,
de le modifier pour ajouter les infos supplémentaires nécessaires à la
création des comptes pour les différentes applications (pour cela on
pourra utiliser un tableur avec enregistrement au format texte) afin
d'obtenir une liste qui sera "moulinée" par le javascript.
A partir de cette liste, le script génère les éléments pour pouvoir créer les comptes suivants:
Une fois les différents éléments générés, il faudra les intégrer dans les fichiers de configuration de ces application (ou dans la base de données des utilisateurs pour SPIP):
Cette page et son script sont téléchargeables ici.
base
initié
avancé
Références, tutoriels, outils, composants des exercices.
En ligne :
En ligne :
L'ESPAR des stages 2004-05
4 exemples d'intranets/extranets d'établissements :
Les spécifications ministérielles :
Le dispositif @CAR dans l'académie d'Aix-Marseille :
L'ESPAR des stages 2004-05
L'ESPAR des stages 2004-05
Choisir le site : "Intranet_1"
4 exemples d'intranets/extranets d'établissements :
4 exemples d'intranets/extranets d'établissements :
niveau:
Etude comparative de 4 extranets d'établissements
Les spécifications ministérielles :
Les spécifications ministérielles :
Le dispositif @CAR dans l'académie d'Aix-Marseille :
Le dispositif @CAR dans l'académie d'Aix-Marseille :
Ressources techniques bien fournies pour les sites web des points @CAR d'Istre, Salon, Aubagne et Avignon
Tutoriels:
Tutoriels:
HTML
CSS
JavaScript
HTML
HTML
Les bases du langage HTML
Langage HTML avancé
Les bases du langage HTML
Les bases du langage HTML
niveau:
Langage HTML avancé
Langage HTML avancé
niveau:
CSS
CSS
Utiliser les feuilles de style CSS
Utiliser les feuilles de style CSS
Utiliser les feuilles de style CSS
niveau:
JavaScript
JavaScript
Les bases de JavaScript
Maitriser JavaScript
Les bases de JavaScript
Les bases de JavaScript
niveau:
Maitriser JavaScript
Maitriser JavaScript
niveau:
2 tutoriels pour maitriser l'utilisation de JavaScript.
Références langages:
Références langages:
Le site de référence pour HTML, JavaScript et DOM : SELFHTML
Syntaxe des feuilles de styles CSS : les propriétés les plus courantes
Le site de référence pour les feuilles de style CSS
Le site de référence pour HTML, JavaScript et DOM : SELFHTML
Le site de référence pour HTML, JavaScript et DOM : SELFHTML
niveau:
Syntaxe des feuilles de styles CSS : les propriétés les plus courantes
Syntaxe des feuilles de styles CSS : les propriétés les plus courantes
niveau:
Le site de référence pour les feuilles de style CSS
Le site de référence pour les feuilles de style CSS
niveau:
Applications pour intranet scolaire
Applications pour intranet scolaire
Les applications intranet en démonstration sur le site de l'IUFM
Systèmes de publication assistés (CMS)
Travail collaboratif à distance
Gestion de ressources
Gestion B2i
Plates-formes intranet scolaire
Outils complémentaires
Les applications intranet en démonstration sur le site de l'IUFM
Les applications intranet en démonstration sur le site de l'IUFM
niveau:
Quelques unes des applications les plus courantes sont en démonstration. La majorité d'entre elles sont préconfigurées pour présenter une situation proche de celle d'un établissement. En général vous aurez également accès auxfonctions d'administrations (dans la mesure ou elles n'engagent pas la sécurité du serveur qui nous héberge...)
Systèmes de publication assistés (CMS)
Systèmes de publication assistés (CMS)
SPIP
Un weblog : Dotclear
WikiNi
SPIP
SPIP
niveau:
Créé au départ pour la publication collective d'un journal en ligne, c'est le plus répandu des CMS avec de nombreuses variantes (squelettes).
Complet, robuste et simple à installer, il souffre néanmoins d'une ergonomie douteuse... Sa force réside principalement dans la grande richesse des squelettes existants et une communauté de développeurs et d'utliisateurs très active.
Un weblog : Dotclear
Un weblog : Dotclear
niveau:
Un système générateur de blog simple et très ergonomique.
On peut envisager de nombreuses applications dans un intranet/extranet scolaire, l'idée maitresse étant l'autonomie de l'utilisateur pour gérer ses publications.
Malgré quelques bogues cractéritiques des premières versions, cette application semble bien sécurisée et très souple en matière de "bidouillages" (possibilités de thèmes et plugins).
On appréciera la génération très efficace d'un fil RSS (syndication sous SPIP) et la variété des types d'utilisateurs (4 niveaux du rédacteur à l'administrateur).
Compléments:
WikiNi
WikiNi
niveau:
Connu pour être le plus "participatif" des CMS (cf la définition de wiki dans WikipédiA, l'encyclopédie participative sous wiki...), WikiNi est aussi celui qui permet la plus grande richesse d'édition des contenus.
Construit sur une architecture modulaire évoluée, il intégre de nombreux outils et semble l'un des plus complets au niveau des fonctionnalités de gestion.
On pourra regretter qu'il nécessite de savoir "parler" Wiki (ou HTML) si l'on veut profiter largement de ses possibilités lorsque l'on compose une page.
Travail collaboratif à distance
Travail collaboratif à distance
ESPAR
ESPAR
ESPAR
niveau:
Espace Partagé : un ensemble d'outils de travail collaboratif avec une gestion très fine des permissions et des droits des utilisateurs.
Le module central est dédié à l'échange de documents mais cette application permet également de gérer une liste de discussion et un forum pour chaque espace. La gestion des membres des espaces offre la possibilité de création / mise à jour en grand nombre (fichiers CSV possibles) et l'outil de sauvegarde / restauration est très efficace.
Cette application est spécialement bien adaptée à un extranet scolaire puisque l'ensemble des ressources ne sont accessibles qu'après identification.
On regretera l'absence de liens directs sur un élément précis d'un espace ou la mise à jour différée de l'afichage des documents mais dans l'ensemble cet outil devrait devenir un classique des extranets d'établissements scolaires.
Gestion de ressources
Gestion de ressources
GRR
GLPI
GRR
GRR
niveau:
GRR (Gestion et Réservation de Ressources) est une application qui permet de gérer aussi bien les réservations de salles spécialisées que le prêt des machines d'un parc de matériel audio-visuel ou un planning de réservation d'entretients avec les CPE... Simple, souple à utiliser avec toutes les options souhaitables, c'est l'application intranet / extranet indispensable à tout établissement.
Au rang des améliorations attendues : une plus grande diversité de possibilités pour l'affichage des réservations.
GLPI
GLPI
niveau:
Présentation site officiel:GLPI est une application libre, distribuée sous licence GPL destinée à la gestion de parc informatique.
GLPI est composé d’un ensemble de services web écrits en PHP qui permettent de recenser et de gérer l’intégralité des composantes matérielles ou logicielles d’un parc informatique, et ainsi d’optimiser le travail des techniciens grâce à une maintenance plus cohérente.
[ ]
Les fonctionnalités principales de l’application s’articulent autour de deux axes :
L’inventaire précis de toutes les ressources techniques, matérielles.
La gestion et l’historisation, des diverses opérations de maintenance.
Gestion B2i
Gestion B2i
GIBII
GIBII
GIBII
niveau:
GIBII (Gestion Informatisée du B I I) est un gestionnaire de fiches de position élèves pour le suivi du B2i. Pas super facile à installer (sutout sur un EasyPHP), cette application sera déployée par les points @CAR de l'académie et devrait donc avoir sa place dans l'intranet de tous les établissements de l'académie.
Dans l'ensemble bien conçue pour la tâche pour laquelle elle a été conçue, cette application semble relativement fiable et bien sécurisée. Les options proposées sont pertinentes en particulier celle permettant de modifier les énoncés des items.
On regreterra la complexité de la configuration de départ des utilisateurs profs ainsi que les choix esthétiques des créateurs de l'interface...
Plates-formes intranet scolaire
Plates-formes intranet scolaire
Chronosite
PHARE
Chronosite
Chronosite
niveau:
Une solution simple et efficace qui propose un ensemble d'outils sous une interface unique pour gérer un intranet scolaire. Le module publication est relativement simple à utiliser et les options de configuration facilement exploitables.
C'est la solution bien adaptée aux petits réseaux n'ayant pas de serveur web ou de connection internet (par ex un réseau dans une salle d'EXAO de SVT ou une salle de techno).
L'ensemble de la plate-forme est riche et semble prometteur du point de vue de la souplesse mais on regrettera que l'ergonomie laisse parfois une mauvaise impression de bricolage avec des options franchement crispantes...
PHARE
PHARE
PHARE (Projet Hypermédia de l'Académie de Rennes pour l'Intranet/Extranet) est un projet développé autour du concept d'une plate-forme intranet/extranet complète et totalement modulable.
Non testé mais à priori s'oriente vers une compatibilité complète S2i2e.
Outils complémentaires
Outils complémentaires
Net2FTP
Net2FTP
Net2FTP
niveau:
Net2FTP est une interface web pour gérer des transferts FTP avec de nombreuses possibilités de restrictions en fonction des utilisateurs et des répertoires.
Bien paramétré (voire bricolée pour désactiver certaine fonctions trop dangereuses par ex), elle permettra d'offrir un accès FTP aux différents utilisateurs (ou groupes d'utilisateurs). cela peut permettre d'offrir un accès privilégié à un petit nombre d'utilisateurs auxquels on pourra ainsi déléguer des taches de maintenance (surveillance de l'accumulation des fichiers dans les espaces de publication par ex) ou des possibilités de configuration étendues (création / modification de squelettes pour SPIP)...
Pour le gestionnaire d'un intranet / extranet sur une machine à accès FTP uniquement (serveur de DMZ ou site hébergé par le serveur académique), c'est un bon outil pour partager un compte FTP sans (trop) devoir compromettre sa confidentialité.
Les options de configuratins sont peu fournies mais le code suffisament simple pour que l'on puisse envisager une intégration comme module supplémentaire dans d'autres applications (SPIP par ex). C'est en plus, dans certains cas, un moyen élégant de contourner les problèmes de pare-feu...
Cette application très ergonomique et robuste présente le défaut de ne pas avoir de traduction française de l'interface (mais de toute façon ça n'est jamais qu'une sorte d'explorateur de fichier).
Tutoriels:
Compléments:
Livres:
Livres:
HTML 4
DHTML et CSS pour le world wide web
JavaScript:Totale_Initiation()
JavaScript, la référence
HTML 4
HTML 4
niveau:
HTML 4 : Référence complète sur le langage HTML
par Mark Brown & Jerry Honeycutt - ed. Campus Press (ex Macmillan)
DHTML et CSS pour le world wide web
DHTML et CSS pour le world wide web
niveau:
DHTML et CSS pour le world wide web : Apprendre à utiliser des feuilles de style
par Jason Cranford Teague - ed. PeachPit
JavaScript:Totale_Initiation()
JavaScript:Totale_Initiation()
niveau:
JavaScript:Totale_Initiation() : Introduction à JavaScript
par Martin Milan - ed. Osman Eyrolles Multimedia
JavaScript, la référence
JavaScript, la référence
niveau:
JavaScript, la référence
par David Flanagan - ed. O'Reilly
Outils:
Outils:
Version en ligne du CD ressources
PSPad : éditeur de texte évolué
TopStyle : éditeur CSS évolué (en anglais exclusivement)
Mozilla : navigateur web
Filezilla : FTP
JR Screen Ruler : mesure des pixels à l'écran
easyphp : serveur web perso
Générateur de CSS en ligne : version simple
Générateur de CSS en ligne : version avancée
Version en ligne du CD ressources
Version en ligne du CD ressources
niveau:
Une sélection de logiciels gratuits (libres ou freewares) pour les enseignants et les gestionnaires de réseaux pédagogiques accompagnés de tutoriels et de compléments.
PSPad : éditeur de texte évolué
PSPad : éditeur de texte évolué
licence: gratuit / niveau:
Un éditeur de texte évolué pour éditer le code de tous les fichiers HTML, JavaScript, CSS ou PHP.
PSPad ne nécessite pas d'installation : vous pouvez simplement extraire les fichiers dans le répertoire de votre choix et exécuter PSPad.EXE
Tutoriels:
TopStyle : éditeur CSS évolué (en anglais exclusivement)
TopStyle : éditeur CSS évolué (en anglais exclusivement)
niveau:
Un éditeur de styles CSS évolué : permet de travailler sur le code des fichiers CSS avec une fenêtre de prévisualisation "temps réel" qui montre un exemple de chacun des styles définis.
Muni d'un explorateur de styles il facilite le parcours des feuilles de style complexes. Attention, contrairement à l'éditeur des styles CSS de Nvu ou Dreamweaver, il ne permet pas de travailler en "WYSIWIG".
(Version gratuite = TopStyle Lite 3.10).
Mozilla : navigateur web
Mozilla : navigateur web
licence: libre / niveau:
Un navigateur web respectueux des standards du web (en particulier pour JavaScript et CSS) et qui possède des outils indispensables pour tous les webmestres qui souhaitent disposer de fonctions de débogage JavaScript (console JavaScript) et d'exploration du contenu de leurs pages (inspecteur DOM).
Il est conseillé d'installer l'extension "Webdeveloper" qui donne accès à une barre d'outils spécialisée pour les webmestres : exploration des formulaires, surlignage des balises, exploration des styles CSS, bascule de la taille de la fenêtre, affichage des en-têtes HTTP...
Compléments:
Filezilla : FTP
Filezilla : FTP
licence: libre / niveau:
2 logiciels sous la même appellation : un client FTP (FileZilla client) et un serveur FTP pour Windows (FileZilla Server, en anglais).
JR Screen Ruler : mesure des pixels à l'écran
JR Screen Ruler : mesure des pixels à l'écran
licence: gratuit / niveau:
Une règle pour toutes les mesures en pixels sur un écran (version freeware de JR Ruler Pro)
easyphp : serveur web perso
easyphp : serveur web perso
licence: libre / niveau:
Easyphp comprend un serveur web Apache + un serveur MySQL et intègre l'interface d'administration de base données PHPmyAdmin.
Ce logiciel qui s'installe facilement sur toute machine sous Windows permet de disposer d'un environnement de développement local pour tester les sites web avant de les mettre en ligne.
Générateur de CSS en ligne : version simple
Générateur de CSS en ligne : version simple
niveau:
Un outil générateur de CSS simple, qui permet de configurer la pluspart des aspects graphiques d'une page avec en particulier l'aspect des liens.
Générateur de CSS en ligne : version avancée
Générateur de CSS en ligne : version avancée
niveau:
Un générateur très complet avec 3 types d'interfaces dont une permettant de modifier quasiment toute les balises et l'autre de créer des styles personnalisés (classes CSS) : un outil adapté pour les utilisateurs avancés.
Composants des exercices :
Composants des exercices :
Les fichiers à télécharger pour les différents exercices
Les fichiers à télécharger pour les différents exercices
Les fichiers à télécharger pour les différents exercices
niveau:
Pour les exercices suivants vous aurez besoin d'un modèle de site intranet avec son arborescence complète. Vous avez donc le choix entre 2 solutions:
[mentions légales]
auteur: CleM - IUFM d'Aix-Marseille
licence de l'interface de consultation
[accès contributeurs]
Dernière maj: 30/7/10