Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.

Slides:



Advertisements
Présentations similaires
Servir comme " Consultant de Club " e. Consultant : 1.
Advertisements

Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.
JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 8 Langage HTML.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Chapitre 3 Les Formulaires en PHP
Exposé de Système - Informatique et Réseau
Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 (X)HTML / Pages Web Statiques.
Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques.
Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 (X)HTML / Pages Web Statiques.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
C.
Design Pattern MVC En PHP5.
TP 3-4 BD21.
Introduction aux Web Services Partie 1. Technologies HTML-XML
Sécurité Informatique
La balise <FORM>:
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
2006/2007Denis Cabasson – Programmation Web Cours de programmation web ENSAE
Architecture Les Couches Présentation Services Métier
Nouveau blog. WordPress connexion Nommez votre blog.
Le langage ASP Les variables d'environnement HTTP avec Request.
Administration de SharePoint
SERVLETS PRESENTATION
Comprendre l’environnement Web
Applications Chapitre B17 et C18
Programmation multimédia 3 Les objets de ASP Semaine 2 Préparé par Marc Aubé Source :
Développement Rapide dApplications Web avec.NET « Mon premier site »
Avancement du projet iziGuide 17/05/2010 CDP: LE Van Ngoc.
Les instructions PHP pour l'accès à une base de données MySql
28 novembre 2012 Grégory Petit
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Programmation multimédia 3
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
Moteur de recherche d’information
Le formulaire Les chaînes de requêtes. Les chaînes de requêtes (QueryStrings) correspondent à des informations associées à l'adresse URL avec un point.
Les langages de scriptage Insertion des scripts Javascript ou VBscript.
Web dynamique PhP + MySQL AYARI Mejdi 2006
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
AJAX.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Initiation au web dynamique
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Module I-C3 : Applications Web IUT R&T 2e année
APPLETS. Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution.
JavaScript Nécessaire Web.
PHP 5° PARTIE : LES COOKIES
Cours de programmation web
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Architecture d’une application WEB Statique:
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
G.KEMBELLEC - UP81 Master 2 THYP Cas pratique d’utilisation De simpleXML Un lecteur de RSS Novembre 2009.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Module : Pages Web Dynamiques (Production Électronique Avancée)
 Formulaires HTML : traiter les entrées utilisateur
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Initiation au JavaScript
Initiation au web dynamique Licence Professionnelle.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Les Java Server Pages Dans ce chapitre, nous allons :
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
TWP Toolkit Formation 21/10/2009.
DREAMWEAVER MX2 - Séance 2 Les calques Les comportements Les scénarios Les formulaires Les feuilles de style Les modèles Les cadres Mise en ligne Jérôme.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Chapitre 1 Introduction à l'infrastructure Active Directory Module S44.
Transcription de la présentation:

Introduction Aux Systèmes dInformation et Multimédia T. Bourdeaudhuy S. Collart-Dutilleul P. Kubiak IG 2 I - Saison 2006/2007 ASP / Pages Web Statiques

ISIM 1 – Active Server Pages 2T. Bourdeaudhuy – IG 2 I Saison Séance 3 QCM Objet Server –Bases de données –Accès au Système de fichiers du serveur –(à présenter APRES global.asa) Fichier Global.asa Gestion des erreurs Rappel : –Exemples de CTP sur le cours ReM2

OBJET SERVER

ISIM 1 – Active Server Pages 4T. Bourdeaudhuy – IG 2 I Saison Objet SERVER Représente le serveur Web et le moteur ASP Propriété –ScriptTimeout : Temps maximum d'exécution des scripts ASP (90 secondes par défaut) Méthodes –CreateObject(ObjectID) : Crée une instance du composant serveur identifié par l'ObjectID –GetLastError : Renvoie une instance d'objet ASPError représentant la dernière erreur survenue –HTMLEncode(chaine) : Applique les règles d'encodage et de syntaxe du HTML à la chaîne de caractères passée en paramètre –URLEncode(chaine) : Applique les règles d'encodage des URLs à la chaîne de caractères passée en paramètre –MapPath : Transforme un chemin relatif ou virtuel pointant vers une ressource du site en un chemin physique –Execute(url) : Exécute le script ASP indiqué par l'URL, puis rend la main au script appelant –Transfer(url) : Exécute le script ASP indiqué par l'URL, sans rendre la main au script appelant Exercice 20 : –Utiliser la fonction URLEncode pour passer un message dans lurl contenant les caractères spéciaux : <, &, = –Utiliser la fonction HTMLEncode pour afficher ce texte –Utiliser la fonction execute pour exécuter un script situé sur une autre page –Tester la fonction Mappath pour connaître le répertoire correspondant à votre répertoire partagé \\webasp\login$ sur le serveur \\webasp\login$

BASES DE DONNEES

ISIM 1 – Active Server Pages 6T. Bourdeaudhuy – IG 2 I Saison Connexion à une base de données Création dun objet de connexion ODBC –SET objetConn = Server.CreateObject("ADODB.Connection") Méthodes –Open("Nom_Lien_ODBC") : Ouverture de la base –Close : Fermeture de la base –Execute("Commande SQL") : Exécute une requête SQL Renvoie un objet recordset Ex : SET recordSet = objetConn.execute(SQL)

ISIM 1 – Active Server Pages 7T. Bourdeaudhuy – IG 2 I Saison Sources de données ODBC ODBC : Object Database Connectivity Source de données : DSN : Data Source Name Privilèges dAdministration du Serveur : création de la source dans Panneau de Configuration/Administration/Sources de données ODBC/DSN Système Chaînes sans DSN : spécifier driver & chemin de la BDD –"DBQ=" & Server.Mappath("mabase.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25" –"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("compteur.mdb") –Cf. moodle : syntaxe à respecter strictement

ISIM 1 – Active Server Pages 8T. Bourdeaudhuy – IG 2 I Saison Objet RecordSet Propriétés –EofPlus denregistrement disponible Collections –Fields : Enregistrements retournés (cas SELECT) –Accès à des sous-éléments : –rs.fields(0) :Premier champ de lenregistrement –rs.fields.count :Nombre de champs –rs.fields(0).name :Nom du champ Méthodes –MoveNextPasser à lenregistrement suivant –MoveFirstRetourner au premier enregistrement –Move Passer enregistrements

ISIM 1 – Active Server Pages 9T. Bourdeaudhuy – IG 2 I Saison Rappels de SQL (Structured Query Language) SELECT [DISTINCT] FROM ` ` SELECT … WHERE = SELECT … WHERE LIKE % % SELECT … WHERE IN (val1,val2) SELECT … WHERE BETWEEN AND SELECT … WHERE … ORDER BY ASC|DESC, … INSERT INTO (, …) VALUES (,…) DELETE FROM WHERE … UPDATE WHERE … SET =, …

ISIM 1 – Active Server Pages 10T. Bourdeaudhuy – IG 2 I Saison Exercices Exercice 21 : Modifier lexemple didentification pour lire les données à partir de la base de données –Ajouter des scripts dadministration : ajout, suppression et modification des logins et passwords Exercice 22 : Créer une page permettant dentrer et dexécuter une requête SQL quelconque –Afficher ses résultats dans le cas dune requête de sélection

Système de fichiers du serveur + dinfos : poly compléments ASP sur moodle

ISIM 1 – Active Server Pages 12T. Bourdeaudhuy – IG 2 I Saison Accès au système de fichiers Objet FILESYSTEMOBJECT : permet daccéder aux fichiers et répertoires et disques du serveur Création dun objet de connexion au fichier système Set OFS = Server.CreateObject("Scripting.FileSystemObject") Permet de –Créer des objets daccès aux disques –Créer des objets daccès aux répertoires –Disposer de méthodes de manipulation des fichiers et répertoires –… Rappel : chemin daccès physique à un fichier : –cheminFichier = Server.MapPath("nom_fichier")

ISIM 1 – Active Server Pages 13T. Bourdeaudhuy – IG 2 I Saison Disques : Objets DRIVE Collection DRIVES de FileSystemObject –Éléments de type DRIVE Propriétés dun objet « DRIVE » : DriveLetter : Lettre de lecteur DriveType : Type du disque (0 : inconnu, 1 : Amovible, 2 : Fixe, 3 : Réseau, 4 : CD-Rom, 5 : Lecteur RAM) IsReady : Le média est inséré ou non AvailableSpace : Espace disponible (également FreeSpace) TotalSize : Espace disque total VolumeName : Nom du disque RootFolder : Objet FOLDER représentant la racine … Exercice 23 : lister les lecteurs du serveurs

ISIM 1 – Active Server Pages 14T. Bourdeaudhuy – IG 2 I Saison Répertoires : Objets FOLDER Propriétés –Name, Size, Attributes –DateCreated, DateLastAccessed, DateLastModified –ParentFolder : Objet FOLDER contenant son répertoire parent Méthodes –Copy (chemin physique) : Copie le répertoire –Delete : Supprime le répertoire –Move (chemin physique) : Déplace le répertoire Collections –Files : Objets FILE représentant les fichiers du répertoire –SubFolders : Objets FOLDER représentant ses sous-répertoires Exercice 24 : lister les noms des sous-répertoires dune lecteur –Version récursive avec une fonction

ISIM 1 – Active Server Pages 15T. Bourdeaudhuy – IG 2 I Saison Fichiers : Objets FILE Propriétés –Attributes, Datecreated, Datelastaccessed, Datelastmodified –Name, Path, Size, Type –Parentfolder : Objet FOLDER représentant le parent Méthodes –Copy (chemin physique) : Copie le fichier –Delete : Supprime le fichier –Move (chemin physique) : Déplace le fichier –Openastextstream (IOMode) Ouvre le fichier et retourne un objet TEXTSTREAM –IOMode 1/ForReading | 2/ForWriting | 8/ForAppending Exercice 25 : Ajouter à lexercice précédent les noms des fichiers

ISIM 1 – Active Server Pages 16T. Bourdeaudhuy – IG 2 I Saison Fichiers Ouverts : Objets TEXTSTREAM Propriété –AtEndOfLine, AtEndOfStream, Column, Line : position courante Méthodes –Close() –Read(max) : Lit un nombre donné de caractères –ReadAll () :Lit le contenu intégral de lobjet –ReadLine() : Lit une ligne entière –Write text : Écrit une chaîne –WriteLine text : Écrit une chaîne et ajoute le saut de ligne Exercice 26 : proposer douvrir un des fichiers listés pour lafficher

ISIM 1 – Active Server Pages 17T. Bourdeaudhuy – IG 2 I Saison Méthodes de lObjet FILESYSTEMOBJECT Manipulation fichiers : –CopyFile, MoveFile, CreateTextFile, DeleteFile, FileExists, OpenTextFile, GetFile Manipulation répertoires : –CopyFolder, MoveFolder, CreateFolder, DeleteFolder, FolderExists, GetFolder Créer un nouveau fichier texte –CreateTextFile(nom_fichier, [BoolEcraser]) Ouvrir un fichier texte –OpenTextFile(nom_fichier, IOMode) Exercice 27 : proposer la création de nouveaux fichiers Exercice 28 : Améliorer le formulaire de saisie dune requête quelconque en listant (champ select) les bases de données disponibles

ISIM 1 – Active Server Pages 18T. Bourdeaudhuy – IG 2 I Saison Méthodes de lObjet FILESYSTEMOBJECT Manipulation des noms de fichiers : GETBASENAME(chemin) –Nom du dernier composant du chemin GETEXTENSIONNAME(chemin) –Retourne lextension du fichier GETFILENAME (chemin) –Extrait et retourne le nom de fichier GETPARENTFOLDERNAME (chemin) –Retourne le parent dun chemin

GLOBAL.ASA

ISIM 1 – Active Server Pages 20T. Bourdeaudhuy – IG 2 I Saison Fichier Global.asa /1 Fichier unique placé dans le répertoire racine du site –Il comporte quatre sous-routines exécutées lors de la création et suppression des objets application et session –Permet la définition de paramètres (et variables) globaux –Session.Timeout, Server.ScriptTimeout Structure Sub Application_OnStart ' action à exécuter lors du démarrage de l'application seuls objets autorisés : application et serveur END SUB SUB Application_OnEnd ' actions à réaliser lors de larrêt du Site. END SUB

ISIM 1 – Active Server Pages 21T. Bourdeaudhuy – IG 2 I Saison Fichier Global.asa /2 SUB Session_OnStart ' action à exécuter lors de la création dune nouvelle session END SUB SUB Session_OnEnd ' actions à réaliser lors de la fermeture de la session END SUB Exercice 29 : Définir un mécanisme de comptage du nombre dutilisateurs en ligne

ISIM 1 – Active Server Pages 22T. Bourdeaudhuy – IG 2 I Saison Global.asa Objets Statiques Section Les objets déclarés dans la section object ne sont pas instanciés avant d'être appelés dans un script Utilisés dans les collections StaticObjects des objets session et application Structure <Object RunAt="Server" Scope="Session|Application" Id="Identifiant" {ProgId="ProgId"|ClassId="ClassId"}> Exemples

Gestion des Erreurs Objet ASPERROR : Version 3.0 dASP

ISIM 1 – Active Server Pages 24T. Bourdeaudhuy – IG 2 I Saison Objet ERR ON ERROR RESUME NEXT –Active une gestion derreur spécifique Propriétés –DESCRIPTION : Description de lerreur –HELPCONTEXT : Identifiant dune rubrique daide –HELPFILE : Chemin du fichier daide –NUMBER : Code de lerreur –SOURCE : Source de lerreur Méthodes –CLEAR() Réinitialisation des propriétés

ISIM 1 – Active Server Pages 25T. Bourdeaudhuy – IG 2 I Saison Objet ASPERROR Permet de recueillir des informations sur les erreurs survenues lors de l'exécution du code ASP de la page Utile pour les pages de traitement des erreurs e.g. custom500.asp Création : méthode GetLastError de lObjet SERVER –SET Error = Server. GetLastError Propriétés (lecture seule) –ASPCode : Code derreur –ASPDescription: Description détaillée de lerreur –Category: Code source responsable de lerreur –Column: Numéro de colonne de lerreur –Description: Description courte de lerreur –File: Nom du fichier traité lorsque lerreur sest produite –Line: Numéro de ligne de lerreur –Number: Numéro de lerreur COM standard –Source: Code source responsable de lerreur

ISIM 1 – Active Server Pages 26T. Bourdeaudhuy – IG 2 I Saison Objet RegExp SET oRegExp = NEW REGEXP Propriétés –GLOBAL Indique si la recherche doit être effectuée pour toutes les occurrences de la chaîne ou seulement la 1ère –IGNORECASE Indique si la chaîne est sensible à la casse –PATTERN Indique la chaîne modèle à rechercher Méthodes –EXECUTE(str) Retourne un objet collection MATCHES contenant les informations relatives à la comparaison –REPLACE(str1,str2) Remplace toutes les sous-chaînes trouvées par une autre –TEST str Retourne un booléen indiquant si la recherche sest effectuée avec succès

ISIM 1 – Active Server Pages 27T. Bourdeaudhuy – IG 2 I Saison Objet Match Propriétés –FIRSTINDEX Indique la position dans la chaîne source où lexpression régulière a été rencontrée –LENGTH Indique le nombre de caractères correspondant dans la chaîne –VALUE Le texte trouvé dans la chaîne Collection MATCHES : –Propriétés COUNT et ITEM

Annexes Administration du Server Composants additionnels Conventions de Nommage Critères dévaluation des CTP et exercices

ISIM 1 – Active Server Pages 29T. Bourdeaudhuy – IG 2 I Saison Composants Additionnels Cdont : Envoi de Mails AcxImage : Génération dimages Cf. AdRotator Afficher des annonces différentes à chaque affichage d'une page ASP BrowserType Indiquer les caractéristiques du navigateur du client ContentRotator Afficher un texte différent à chaque affichage d'une page ASP Counters Gérer des compteurs permanents IISLog Administrer /Explorer un fichier journal généré par le serveur IIS MyInfo Stocker des valeurs de propriétés qui peuvent être créées dynamiquement NextLink Gérer une liste d'adresses URL dans un fichier texte. PageCounter Comptabiliser le nombre d'ouverture d'une page ASP PermissionChecker Vérifier si un utilisateur à le droit d'accéder à un fichier Tools Utilitaires (tester l'existence d'un fichier, traiter un formulaire HTML, générer une valeur entière aléatoire, …) ASPSmartUpload Gérer les téléchargements de fichiers en Upload ou en Download à partir d'un serveur hôte

Administration du Serveur IIS Démo sous Windows XP Répertoires virtuels DSN systèmes

Conventions de Nommage Déclaration et initialisation des variables Variables ASP Variables de requêtes, formulaires Fonctions Répertoires et fichiers Modularité Clarté et lisibilité du code

ISIM 1 – Active Server Pages 32T. Bourdeaudhuy – IG 2 I Saison Déclaration et Initialisation des variables Utiliser (1 ère ligne du source) : provoque des erreurs de compilation si des variables ne sont pas déclarées Utiliser les mots-clés DIM et CONST Toujours initialiser les variables : EMPTY, "", 0 Les chaînes de requête SQL sont définies et initialisées avant dêtre utilisées

ISIM 1 – Active Server Pages 33T. Bourdeaudhuy – IG 2 I Saison Variables ASP Variables en minuscules : nomVar1, maSuperVariable Constantes et mots-clés du langage en MAJUSCULES Utilisation de noms pertinents (pas de « toto ») Des préfixes sont utilisés pour définir : –La portée des variables : Session/Application/Globale/Locale –Le type de la variable : Int/Str/Bool/Date/Objet/Tab Exemples : –Un compteur à lintérieur dune fonction : lInt_i –Une variable globale : gStr_nomUser –Une variable de session : sStr_idOk –Le résultat dun test : lBool_isTrue

ISIM 1 – Active Server Pages 34T. Bourdeaudhuy – IG 2 I Saison Variables de formulaires, Requêtes Un préfixe décrit le type de champ de formulaire : –txt, passwd, textarea, radio, submit, button, hidden, select, … Tous les formulaires ont un nom, e.g. formCoord Les variables de formulaire utilisent ce nom : –formCoord_txtMail, formCoord_txtLogin Les variables ASP qui récupèrent des champs de formulaires portent le nom de la variable correspondante : –gStr_mail, gStr_login Les chaînes de requête SQL et les objets de connexion et de résultat correspondants doivent porter un nom fondé sur le même motif DANS TOUS LES CAS UTILISER UN NOMMAGE HOMOGENE

ISIM 1 – Active Server Pages 35T. Bourdeaudhuy – IG 2 I Saison Fonctions Indiquer dans le nom dune fonction ce qu'elle fait (verbe) : –get : récupération dune valeur –set : modification dune valeur –mk : réalisation dun traitement –show/write/print : affichage Un préfixe peut être utilisé pour indiquer ce quelle renvoie Exemples : –Affichage dun tableau : showTab() –Vérification dune identification : boolVerifUser()

ISIM 1 – Active Server Pages 36T. Bourdeaudhuy – IG 2 I Saison Répertoires et fichiers Les répertoires ne doivent pas être imbriqués Les extensions dépendent de la fonction du fichier : –asp, htm –inc, js pour les librairies asp et javascript Des préfixes permettent de connaître le contenu du fichier : –f formulairex traitement sans affichage –m menu –c cadre html

ISIM 1 – Active Server Pages 37T. Bourdeaudhuy – IG 2 I Saison Modularité Découper les traitements en fonctions génériques Utiliser des inclusions de fichiers pour les fonctions communes à plusieurs pages –Attention : des fichiers inclus ne doivent pas en inclure dautres (notion de module) Attention à la portée des variables Séparer le code client (HTML, javascript) du code ASP –Fonctions, inclusions, appels en haut de la page –Quand cest nécessaire, veiller à minimiser les ouvertures/fermetures

ISIM 1 – Active Server Pages 38T. Bourdeaudhuy – IG 2 I Saison Clarté et lisibilité du code Indentation BSD pour lASP ET le HTML ! User et abuser de commentaires pertinents : –Au moment de la déclaration dune variable –Avant la déclaration dune fonction –A chaque fois que lon effectue un traitement non trivial (début dune boucle, calcul dindex, … ) Commenter la fin dune boucle par son nom : WHILE lInt_i IN … DO traitements LOOPlInt_i

Critères dévaluation des CTP & Exercices Forme /3 Qualité du programme /3 Fonctionnalités attendues /14

ISIM 1 – Active Server Pages 40T. Bourdeaudhuy – IG 2 I Saison Forme Tout ce qui permet de sy retrouver quand on reprend le programme Indentation : tabulations, passage à la ligne Quantité, mise en forme et pertinence des commentaires Lisibilité globale : enchevêtrement html/php/javascript, définition des fonctions au début de chaque page Choix des noms de paramètres, variables, fonctions, librairies pertinents Respect des nommages html/php Esthétique du résultat dans les limites du raisonnable (ni trop beau si toutes les questions n'ont pas été faites, ni linverse)

ISIM 1 – Active Server Pages 41T. Bourdeaudhuy – IG 2 I Saison Qualité du programme Tout ce qui est indépendant de la fonction du programme Emploi de structures de contrôle adaptées et évoluées quand cest nécessaire (foreach, switch) Structure de la base de données conforme aux spécifications, qui permet l'ajout de fonctionnalités supplémentaires facilement Fermeture des bases de données, fichiers, … Tests aux limites : absence de résultats d'une requête … Utilisation raisonnée des variables globales et locales Modularité adaptée (traitements réutilisables, paramètres utiles et bien documentés, pas d'effets de bord néfastes), utilisation de librairies Robustesse, messages d'erreur pour l'utilisateur