Support de cours Développement de logiciels libres Emna Bouazizi emna.bouazizi@gmail.com ISIM De Monastir Année Univ. 2011/2012 1
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 Foundation offre à 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ès aux 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
Problématique Web & SGBD La problématique : Le maintien des sessions transactionnelles La performence La sécurité La réutilisation du code
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
Langages de scripts Serveur Cold Fusion Active Server Page (ASP) Java Server Page (JSP) Servelet PHP etc
Langage de scripts PHP 32
Langage de scripts PHP 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
Pourquoi PHP 34
Pourquoi PHP 35
Le langage 36
Architecture d un site web avec php
Langage de scripts 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.
Le langage 39
php coté serveur
php coté serveur
php coté client