support de cours développement de logiciels...

Post on 13-Jul-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Emna Bouazizi

emna.bouazizi@gmail.com

ISIM De Monastir

Année Univ. 2011/2012

1

Support de cours

Développement de logiciels

libres

Chapitre I - Contexte

Quelques définitions

Un logiciel libre :

• est un logiciel dont l'utilisation, l'étude, la modification et la duplication en vue de sa diffusion sont permises, techniquement et légalement, afin de garantir certaines libertés induites.

• ces droits peuvent être simplement disponibles ou bien établis par une licence, dite « libre », basée sur le droit d’auteur.

Le logiciel libre est souvent confondu avec :– les freewares (gratuit) :

facilite et encourage son partage,

– l’open source:

Le logiciel libre, s'attache aux avantages d'une méthode de développement au travers de la

réutilisation du code source.

Un logiciel est libre selon la Free Software Foundationoffre à son utilisateur quatre libertés (numérotées de 1 à 4) :

1. la liberté d'exécuter le programme, pour tous les usages,

2. la liberté d'étudier le fonctionnement du programme et de l'adapter à ses besoins,

3. la liberté de redistribuer des copies du programme (ce qui implique la possibilité aussi bien de donner que de vendre des copies),

4. la liberté d'améliorer le programme et de distribuer ces améliorations au public, pour en faire profiter toute la communauté.

• L'accès au code source est une condition d'exercice des libertés 2 et 4.

• Liste de quelques logiciels libres :– Systèmes d’exploitation

– Debian– Mandriva Linux– OpenSUSE

– Éditeurs de texte– Emacs– jEdit– Notepad2

– Tableurs– LibreOffice Calc : tableur de la suite LibreOffice.

– Logiciels de traitement de texte– Logiciels de présentation

– Logiciels de dessin

– Visionneuses de fichiers PDF

– serveur de bases de données,

– Serveurs de Moteur de recherche

– Antivirus

– Pare-feu

– Utilitaire réseau

– Chiffrement et signature numérique

– Sauvegarde et Backup

– Logiciels de dessin

– Visionneuses de fichiers PDF

– serveur de bases de données,

– Serveurs de Moteur de recherche

– Antivirus

– Pare-feu

– Utilitaire réseau

– Chiffrement et signature numérique

– Sauvegarde et Backup

Serveur• Est un ordinateur dédié à l'administration

d'un réseau informatique. Il gère l'accèsaux ressources et aux périphériques et les connexions des différents utilisateurs.

• Il est équipé d'un logiciel de gestion de réseau : un serveur de fichiers prépare la place mémoire pour des fichiers, un serveur d'impression gère et exécute les sorties sur imprimantes du réseau…

• Un serveur d'applications rend disponible sur son disque dur les programmes pouvant être appelés à travers le réseau.

Apache• Est le serveur web le plus utilisé : 57% des

serveurs, selon un sondage de Netcraft de juin 2002.

• Stable, sûr et modulable, il supporte l'interfaçage avec les bases de données (MySQL, PostgreSQL, ...),

• Les scripts écrits dans des langages comme Perl, PHP,... ainsi qu'une large gamme d'autres modules.

• Ses capacités avancées de configuration font de lui l'un des serveurs les plus sûrs et les plus polyvalents disponibles!

Le Web dynamique

11

Connecter le Web et les

SGBDs

12

Modèles & architectures

13

Support technique du Web

14

• La problématique :

– Le maintien des sessions transactionnelles

– La performence

– La sécurité

– La réutilisation du code

Problématique Web & SGBD

Les BD : petit rappel

16

Les (+) d’un SGBD

17

Les principaux SGBDs

18

Serveur HTTP

19

Serveurs Web en ligne

20

Techniques de connexion

(pour obtenir des contenus dynamiques)

21

Les technologies de connexion• CGI : le standard

• Langages de scripts serveur– JSP, ASP, PHP, …

– Langages s’appuyant sur CGI et proposant des facilités (exemple : séssions…)

Passerelle CGI : principe

23

Passerelle CGI : les (+) et les (-)

24

Extensions propriétaires de CGI

25

CGI : mise en œuvre

26

CGI : réception des paramètres

27

La chaine de développement Web

28

La chaine de développement Web

29

La chaine de développement Web

30

• Cold Fusion

• Active Server Page (ASP)

• Java Server Page (JSP)

• Servelet

• PHP

• etc

Langages de scripts Serveur

Langage de scripts PHP

32

• Php : hypetext processor

• Langage de script HTML interprété côté serveur

• =/= Java script qui s’exécute côté client

• Le php permet de réaliser des sites web dynamiques

• Le php est disponible dans plusieurs environnements tel qu’Unix (linux, AIX), Windows (98/NT/XP….)

• Php possède une impressionnante quantité d’outils (manipulation d’images, traitement de fichiers, accès aux bases de données…)

• Contient des instructions : demande au serveur d’effectuer des actions

Langage de scripts PHP

Pourquoi PHP

34

Pourquoi PHP

35

Le langage

36

Architecture d’un site web avec php

• Le moteur d'interprétation du langage lit un fichier source PHP, en respectant les définitions et règles suivantes :

– Un bloc PHP est un groupe continu de lignes, encadré par deux balises : <? et ?> ou <?php et php?>

– Toute ligne située à l'extérieur de ces balises n'est pas interprétée et est envoyée telle quelle dans le flux de sortie.

– Toute ligne située à l'intérieur de ces balises est considérée comme une instruction PHP et est donc interprétée par le moteur.

– Les instructions PHP n'apparaissent pas dans le résultat généré.

– Lorsqu'une erreur survient, un message est intégré dans le flux de sortie, et la génération du script est interrompue.

Langage de scripts PHP

Le langage

39

php coté serveur

php coté serveur

php coté client

top related