Archives pour la catégorie DOSSIER

Le JavaScript

JavaScript est un langage de programmation de scripts principalement employé dans les pages web interactives mais aussi pour les serveurs. C’est un langage orienté objet à prototype, c’est-à-dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs permettant de créer leurs propriétés, et notamment une propriété de prototypage qui permet d’en créer des objets héritiers personnalisés.

Les caractéristiques du JavaScript

  • C’est un langage orienté objet.
  • Le code n’est pas compilé :
    il est donc plus rapide à produire (pas besoin de compilateur, un seul fichier, …)
  • Il est exécuté par le navigateur du visiteur (le client), et dépend donc de celui-ci.
  • Il est déterminé par une norme, nommée ECMA-262 ou ECMAScript. De la même manière que le W3C se charge de définir clairement le (x)HTML, le JS possède une norme qui fixe également des lois et des limites pour celui-ci, rendant ainsi ce langage plus « officiel ». Ainsi, le code est plus facile à écrire, car il y a beaucoup moins de problèmes de compatibilité. Il y a cependant pour le JS quelques différences d’un navigateur à l’autre (des fonctions de l’un qui ne marchent pas sur l’autre, …), mais cela n’a pas beaucoup de conséquences.

Le langage JavaScript peut être aussi utilisé coté serveur( via node.js par exemple)

Le langage SQL

sql-database

I) Présentation du langage

Le SQL (Structured Query Language) est un langage permettant de communiquer avec une base de données. Ce langage informatique est notamment très utilisé par les développeurs web pour communiquer avec les données d’un site web. La premiere version du langage

II) Caracteristiques du langage

-SQL est un langage de définition de données (LDD), c’est-à-dire qu’il
permet de créer des tables dans une base de données relationnelle, ainsi
que d’en modifier ou en supprimer.
-SQL est un langage de manipulation de données (LMD), cela signifie
qu’il permet de sélectionner, insérer, modifier ou supprimer des données
dans une table d’une base de données relationnelle.
-Il est possible avec SQL de définir des permissions au niveau des
utilisateurs d’une base de données. On parle de DCL (Data Control
Language).

La programmation orientée objet

I) definition et origine

La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique élaboré par les Norvégiens Ole-Johan Dahl et Kristen Nygaard au début des années 1960 et poursuivi par les travaux d’Alan Kay dans les années 1970. Il consiste en la définition et l’interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d’un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs. Il s’agit donc de représenter ces objets et leurs relations ; l’interaction entre les objets via leurs relations permet de concevoir et réaliser les fonctionnalités attendues, de mieux résoudre le ou les problèmes. Dès lors, l’étape de modélisation revêt une importance majeure et nécessaire pour la POO. C’est elle qui permet de transcrire les éléments du réel sous forme virtuelle.

II) Les principes

A) l’Objet

Concrètement, un objet est une structure de données valuées et cachées qui répond à un ensemble de messages. Cette structure de données définit son état tandis que l’ensemble des messages qu’il comprend décrit son comportement :

  • Les données — ou champs — qui décrivent sa structure interne sont appelées ses attributs ;
  • L’ensemble des messages forme ce que l’on appelle l’interface de l’objet ; c’est seulement au travers de celle-ci que les objets interagissent entre eux. La réponse à la réception d’un message par un objet est appelée une méthode (méthode de mise en œuvre du message) ; elle décrit quelle réponse doit être donnée au message.

Certains attributs et/ou méthodes (ou plus exactement leur représentation informatique) sont cachés : c’est le principe d’encapsulation. Ainsi, le programme peut modifier la structure interne des objets ou leurs méthodes associées sans avoir d’impact sur les utilisateurs de l’objet.

Un exemple avec un objet représentant un nombre complexe : celui-ci peut être représenté sous différentes formes (cartésienne (réel, imaginaire), trigonométrique, exponentielle (module, angle)). Cette représentation reste cachée et est interne à l’objet. L’objet propose des messages permettant de lire une représentation différente du nombre complexe. En utilisant les seuls messages que comprend notre nombre complexe, les objets appelants sont assurés de ne pas être affectés lors d’un changement de sa structure interne. Cette dernière n’est accessible que par les méthodes des messages.

B) Le typage et le polymorphisme

Dans la programmation par objet, chaque objet est typé. Le type définit la syntaxe (« Comment l’appeler ? ») et la sémantique (« Que fait-il ? ») des messages auxquels peut répondre un objet. Il correspond donc, à peu de chose près, à l’interface de l’objet. Toutefois, la plupart des langages objets ne proposent que la définition syntaxique d’un type (C++, Java, C#, …) et rares sont ceux qui fournissent aussi la possibilité de définir aussi sa sémantique (Eiffel avec sa conception par contrats).

Un objet peut appartenir à plus d’un type : c’est le polymorphisme ; cela permet d’utiliser des objets de types différents là où est attendu un objet d’un certain type. Une façon de réaliser le polymorphisme est le sous-typage (appelé aussi héritage de type) : on raffine un type-père en un autre type (« le sous-type ») par des restrictions sur les valeurs possibles des attributs. Ainsi, les objets de ce sous-type sont conformes avec le type père. Toutefois, le sous-typage est limité et ne permet pas de résoudre le problème des types récursifs (un message qui prend comme paramètre un objet du type de l’appelant). Pour résoudre ce problème, Cook définit en 1995 la sous-classification et le typage du second ordre qui régit la programmation orientée objet : le type est membre d’une famille polymorphique à point fixe de types (appelée classe). Les traits sont une façon de représenter explicitement les classes de types. (La représentation peut aussi être implicite comme avec Smalltalk, Ruby, etc.)

On distingue dans les langages objets deux mécanismes du typage :

le typage dynamique : le type des objets est déterminé à l’exécution lors de la création desdits objets (Smalltalk, CLOS, Python, PHP…),
le typage statique : le type des objets est vérifié à la compilation et est soit explicitement indiqué par le développeur lors de leur déclaration (C++, Java, C#, Pascal…), soit déterminé par le compilateur à partir du contexte (Scala, OCaml…).

De même, deux mécanismes de sous-typage existent : l’héritage de type simple (Smalltalk, Java, C#) et l’héritage multiple (C++, Python, CLOS).

PROTOCOLE TELNET

index

I) Qu’est ce que Telnet

Telnet (telecommunication network) est un protocole utilisé sur tout réseau TCP/IP, permettant de communiquer avec un serveur distant en échangeant des lignes de textes et en recevant des réponses également sous forme de texte.
Il était notamment utilisé pour administrer des serveurs UNIX distant ou de l’équipement réseau, avant de tomber en désuétude par défaut de sécurisation (le texte étant échangé en clair) et l’adoption de SSH.

Telnet est un protocole de type client-serveur s’appuyant sur TCP. Les clients se connectent généralement sur le port 23 du serveur.

Parmi les caractères envoyés par le serveur Telnet, il y a évidemment les caractères de texte à afficher, mais il y a aussi des séquences de caractères qui permettent de contrôler l’affichage, par exemple pour effacer le contenu de la ligne courante. Par souci de portabilité, Telnet définit des séquences d’échappement qui ne dépendent pas du type de terminal.

II) Connexion a Telnet via PHP

Pour réaliser une connexion a distance vers un client Telnet via PHP, la méthode consiste a créer un socket(sorte de connecteur réseau), pus de se connecter au Telnet a l’aide de la commande socket_connect. Une fois cela fait, il faut stopper l’exécution du programme durant quelques instants, le temps que la console ait le temps d’afficher(sinon les commandes qui seront envoyés seront envoyés trop vite, par exemple une commande tel que conf t sera envoyé lors de la demande de mot de passe pour la connexion a telnet). Enfin, on envoie nos commandes a l’aide de socket_write

youyou

HTML/CSS

html5_logo_512

I)Qu’est ce que l’HTML ?

l’HTML (pour HyperText Markup Language) est un langage de balisage servant a créer des pages web, c’est a dire des pages consultable via un navigateur comportant des ressources multimédias dont des images, des formulaires de saisie, et des programmes informatiques(grâce a JavaScript entre autre).
Ainsi, tous les sites sur lesquels vous naviguez sont en HTML (qu’il soit écrit a la main ou généré a l’aide d’un langage de programmation).

Pour decrire des pages internet, le langage HTML possede plus de 91 éléments. En suivant la spécification de HTML 5, les fonctionnalités implémentées par HTML peuvent être réparties ainsi :

    • Structure générale d’un document HTML

Au plus haut niveau, un document HTML est séparé entre un en-tête et un corps. L’en-tête contient les informations sur le document, notamment son titre et éventuellement des métadonnées. Le corps contient ce qui est affiché.

    • Informations sur la langue

Il est possible d’indiquer la langue de n’importe quelle partie du document et de gérer le mélange de texte s’écrivant de gauche à droite avec du texte de droite à gauche.

    • Marquage sémantique

HTML permet de différencier des contenus spécifiques tels que les citations d’œuvres externes, les extraits de code informatique, les passages en emphase et les abréviations. Certains de ces éléments, conçus initialement pour permettre le support de documentations techniques, sont très rarement employés (différenciation entre les éléments de variable et d’exemple de valeur dans un code informatique, par exemple, ou encore instance d’un terme défini dans le contexte).

    • Listes

HTML différencie des listes non ordonnées et des listes ordonnées, selon que l’ordre formel du contenu dans le code est en soi ou non une information. Des listes de définition existent également, mais sans que leur champ d’application ne soit exactement déterminé.

    • Tables

Cette fonctionnalité a été développée pour permettre la présentation de données tabulaires mais a été immédiatement exploitée pour ses puissantes capacités de mise en page.

    • Hyperliens

La fonctionnalité première de HTML.

    • Inclusion d’images, d’applets et d’objets divers

À l’origine HTML permettait seulement de donner des hyperliens sur les médias externes. L’invention d’éléments spécialisés pour le multimédia a permis l’inclusion automatique d’image, de musique, de vidéo, etc. dans les pages web.

    • Éléments de regroupement

Ne conférant pas de signification au contenu qu’ils balisent, ces éléments génériques permettent d’appliquer des styles de présentation, de réaliser des traitements via des scripts ou tout autre opération nécessitant d’isoler une partie du contenu.

    • Style de la présentation

Chaque élément, voire tout le document, peut se voir appliquer des styles. Les styles sont définis dans le document ou proviennent de feuilles de style en cascade (CSS) externes.

    • Marquage de présentation du texte

Développé avant la généralisation de CSS pour fournir rapidement des fonctionnalités aux graphistes. D’usage désormais officiellement déconseillé pour la plus grande partie.

    • Cadres

Aussi connu sous le nom de frames, une fonctionnalité souvent décriée qui permet d’afficher plusieurs documents HTML dans une même fenêtre.

    • Formulaire pour l’insertion interactive de données

Les éléments de formulaire permettent aux visiteurs d’entrer du texte et des fichiers dans les pages Web.

    • Scripts

Permet d’associer des morceaux de programmes aux actions des utilisateurs sur le document. Les langages utilisés sont généralement JavaScript et VBScript.

II)Le CSS
01

Le langage CSS (pour Cascading Style Sheets, ou Feuille de Style en Cascade en français) est un langage
informatique complémentaire au HTML permettant de mettre en forme votre page web. Ce langage a vu le jour au milieu des années 1990 et s’est correctement adapté aux différents navigateurs au début des années 2000. Nous en sommes actuellement a la troisième version de CSS (CSS3). L’un des enjeux principaux du CSS est de gérer la mise en forme hors des documents. Ainsi, on décrit uniquement la structure de la page en HTML et on décrit toute la présentation dans une feuille CSS.

De ce fait, les avantages des feuilles de style sont multiples :

      
  • La structure du document et la présentation peuvent être gérées dans des fichiers séparés
  •   

  • La conception d’un document se fait dans un premier temps sans se soucier de la présentation, ce qui permet d’être plus efficace
  •   

  • Dans le cas d’un site web, la présentation est uniformisée : les documents (pages HTML) font référence aux mêmes feuilles de styles. Cette caractéristique permet de plus une remise en forme rapide de l’aspect visuel
  •   

  • Un même document peut donner le choix entre plusieurs feuilles de style, par exemple une pour l’impression et une pour la lecture à l’écran. Certains navigateurs web permettent au visiteur de choisir un style parmi plusieurs
  •   

  • Le code HTML est considérablement réduit en taille et en complexité, puisqu’il ne contient plus de balises ni d’attributs de présentation.

Programmation evenementielle

I) Qu’est ce que la programmation evenementielle ?

Il existe un ensemble de langages de programmation, chacun est spécialisé dans un domaine d’application donné et chacun possède un type spécifique. On distingue :

  • Programmation structuré ou modulaire : le programme est vu comme un ensemble d’unités structurés hiérarchiquement. Il existe une interaction entre les modules et on fait généralement distinction entre les données et les traitements.
  • Programmation orientée objet : le programme n’est une autre qu’une collection d’objet qui communique. Un objet et par définition une instance d’une classe dont les composantes peuvent être de deux types : propriétés et méthodes.
  • Programmation événementielle : Les composants d’une application événementielle c’est à dire les objets interagissent entre eux et avec l’environnement. Ils communiquent en réponse à des événements. Ces événements peuvent correspondre à une action de l’utilisateur : un click sur un bouton de commande, une écriture dans une zone de texte, un choix dans une case d’option ou une case à cocher, le déplacement d’un objet, … Ils peuvent aussi être déclenchés par le système : chargement d’une feuille, un top déclenché par l’horloge.

Les événements sont captés par le système d’exploitation, le traitement consiste en l’exécution des procédures événements associées à celui-ci s’il en existe. C’est le programmeur qui doit prévoir la procédure à exécuter en réponse à un événement donné. Par exemple, le déclenchement de l’événement click sur un bouton quitter doit terminer l’exécution, le choix d’un élément dans un menu doit déclencher certaines opérations, un top d’horloge doit modifier le contenu d’une zone d’image.

un Objet0

Important Le programmeur doit toujours avoir à l’esprit le schéma suivant :

  • Objet : O Evénement : E Traitement : T
  • Si l’événement E se produit sur l’objet O alors le traitement T est exécuté.

Exemple : un bouton dans une interface graphique

  • Attributs : une image, un label, une couleur de fond, une police de caractères.
  • Méthodes : se dessiner.
  • Evénement : réagir quand on clique dessus.

II)Outils de travail

Un environnement de développement développement intégrés (IDE : Integrated Develompent Environment) est un ensemble d’outils qui en plus des tâches classiques d’un langage de programmation offre des fonctionnalités étendues permettant de couvrir une plus large partie du cycle de création d’un logiciel. On peut distinguer des tâches telles que :

  • Compilation et déboguage
  • Déploiement de l’application.
  • Intégrer des outils de test et de vérification.
  • Outil de création graphique (icône).
  • Interface avec les SGBD.
  • Générateur de menus.
  • Un ensemble d’assistants.

Dans ce qui suit, des exemples d’IDE chez des éditeurs différents et basés sur des langages de programmation différents :

  • Borland Delphi
  • Borland Jbuilder
  • Oracle JDevelopper
  • Microsoft Visual Basic et C#
  • Microsoft Visual C++

Le langage Pascal

2004_niklaus_wirth
Pascal est un langage de programmation impératif crée en 1970 par Niklaus Wirth qui, conçu pour l’enseignement, se caractérise par une syntaxe claire, rigoureuse et facilitant la structuration des programmes.
c’est un langage orienté objet et sin typage est statique, c’est-à-dire que toutes les variables doivent avoir un type défini au moment de la compilation.
En général, les fichiers sources propres au langage Pascal sont reconnaissables a l’extension .pas.

Le code source est organisé suivant différentes possibilités :

  • Un programme principal commence par le mot-clé program, facultatif dans certaines implémentations. Il est compilé et lié avec les unités qu’il utilise en un fichier exécutable. Cette phase de compilation est le cas le plus fréquent dans les compilateurs récents. Au contraire, le Pascal UCSD, par exemple, produisait du bytecode.
  • Une bibliothèque dynamique commence par le mot-clé library. Elle est compilée en un fichier portant l’extension .dll sous Windows, .so sous UNIX. Les bibliothèques dynamiques sont apparues dans le langage Pascal en même temps que Delphi.
  • Un fichier unité commence par le mot-clé unit. Il est inclus dans des programmes ou des bibliothèques, et peut être compilé en un code objet standard (extension .o ou .obj) ou dans un format particulier, tel que .dcu pour Delphi et .ppu pour Lazarus.

Voici un exemple de code ecrit en Pascal

program Hello World;
begin
writeln('Hello World');
readln;
end.

On peut voir que chaque programme démarre par l’instruction begin et fini par l’instruction end. Ces instructions sont équivalentes aux accolades({}) en C
Le langage n’est pas sensible a la casse: les mots réservés (comme begin par exemple) peuvent être écrit en majuscule ou en minuscule.

Le PowerShell

powershell

I) Qu’est-ce que le powershell

PowerShell est un langage de script développé par Microsoft qui est fondé sur la programmation orientée objet. Le logiciel PowerShell (fichier exécutable powershell.exe) est l’interpréteur de l’interface en ligne de commande d’un ensemble plus vaste appelé Windows PowerShell.
A l’aide de ce langage, il est possible d’automatiser des taches tels que:
.Récupérer les adresses Mac des cartes réseau physique d’une machine
.Ajouter de nouveaux utilisateurs a un Active Directory
.

Windows PowerShell est le successeur des interfaces en ligne de commande DOS/Windows fournies par

  • command.com (c’est-à-dire l’interface MS-DOS) de Windows Me, Windows 98 et de ses prédécesseurs
  • cmd.exe de Windows NT depuis 1993

On peut aussi mentionner Windows Scripting Host (WSH), introduit en 1998, qui connut un certain succès auprès des administrateurs mais ne permet pas une utilisation interactive : les scripts peuvent être appelés depuis la ligne de commande, mais ils doivent être préalablement enregistrés dans un fichier.
Aucune de ces interfaces n’est conforme à POSIX 2 (POSIX étant une norme faite pour les shell Unix qui eux ne sont pas orientés objet mais plutôt flux de texte à décomposer et à interpréter).

Voici quelques points a retenir a propos de Powershell:
· Scripting orienté objet (objets .NET), contrairement au Shell

· Syntaxe au format {verbe}-{nom} (ex: get-command) aisée à assimiler

· 4 types de commandes

· Cmdlets

· Scripts (fichiers .ps1)

· Programmes exécutables

· Système de pipeline identique ( | ) au Shell

· Auto-complétion des commandes

· Possibilité d’interagir avec les applications Windows (ex: Active Directory)

Le PHP

php_elephant

Qu’est ce que le PHP ?

PHP (officiellement, ce sigle est un acronyme récursif pour PHP Hypertext Preprocessor) est un langage de scripts généraliste et Open Source, spécialement conçu pour le développement d’applications web. Il peut être intégré facilement au HTML.

PHP dispose d’un très grand nombre d’API, ce qui le rend très populaire auprès des développeurs. Une API (Application Programming Interface), est un ensemble de bibliothèques qui permet aux programmeurs d’interagir avec les systèmes d’exploitations, les bases de données ou autres applications.

PHP est disponible pour la quasi totalité des systèmes d’exploitations actuels. Cela rend le code portable sur d’autres plates-formes avec peu de ressources à modifier pour les adaptations.

PHP joui de longues associations avec plusieurs bases de données, notamment avec MySQL. Cependant, PHP travaille aussi très bien avec Oracle, DB2, SQLite, PostgreSQL, Sybase et Microsoft SQL Server.

PHP bénéficie d’un large public, car:

  • Il est facile à apprendre:
    • Sa syntaxe simple en fait un langage facile à apprendre pour les programmeurs et des débutants.
  • Il s’harmonise parfaitement avec HTML:
    • Vous pouvez combiner des scripts PHP à l’intérieur de votre code HTML ou au milieu des balises HTML ou tout simplement ne mettre que du code PHP dans des fichiers.
  • PHP dispose d’une vaste bibliothèque de fonctions et d’API:
    • PHP à la capacité d’interagir avec LDAP, bases de données et le système de fichiers est en fait une grande « boite à outils » pour les développeurs.
  • Vous pouvez créer rapidement des applications Web et des applications de base de données:
    • PHP est souvent utilisé avec les bases de données, notamment des bases de données open-source, avec beaucoup de documentations officielles disponibles sur le thème du partage de PHP et MySQL.
  • Il est multi-plate-formes:
    • PHP est utilisé sur Windows, Linux, commercial unix et MacOS X.