Rappel : qu'est ce qu'un ordinateur La partie matérielle (hardware) : L ordinateur et le serveur Nous allons éviter le mot dévoyé et tombé dans l'usage courant d'ordinateur au profit de calculateur. En effet, l'élément essentiel est le processeur qui permet de faire des calcules en binaire. Autour de ce processeur nous allons adjoindre un ensemble de périphérique internes (ceux qui sont dans la grosse boite qualifiée d'ordinateur) et externes (hors de la boite). Depuis quelques années, nous assistons à apparition des périphériques intégrés (en générale à la carte mère). Tous ces périphériques servent des tâches spécifiques dont nous avons plus ou moins conscience. Un élément essentiel est alors l'objet permettant de connecter (parfois en chaîne) tous ces périphériques : il s'agit de la carte mère. En effet, la carte mère va permettre de connecter ensemble les différents périphériques physiquement. En règle générale les périphériques ont pour but de permettre ou de simplifier les interactions avec l'utilisateur. Donner les fonctions des périphériques suivants, vous indiquerez si ce sont des périphériques d'entrée ou de sortie de l'information : écran, carte graphique, carte son, clavier, sourie, imprimante. La partie logicielle : Sans directives, le matériel reste un ensemble d'objets inerte en particulier en informatique. Tout le monde c'est une fois retrouver devant un appareil qui ne veut pas faire son office après qu'il est été branché... Pour que l'ensemble travaille il faut informer le matériel sa raison d'être et comment interagir avec le matériel auquel il est connecté. C'est le rôle des logiciels de premier niveau : les firmware qui donne «l'identité du matériel et leur fonctionnalité», le «bios» situé sur la carte mère et qui permet à l'ensemble du matériel d interagir. Aujourd'hui transparent, le bios permet une première interaction avec l'utilisateur pour optimiser l utilisation du matériel connecté et sa reconnaissance.
Entrer dans le bios et regarder les paramètre auxquels l'utilisateur à accès. Citer ceux qui vous semble le plus utile. Enfin, le chipset, permet de gérer les échanges entre les calcules envoyés au processeur et l'expédition des résultats et la mise en mémoire tampon (RAM). Afin de permettre à un utilisateur d'interagir avec le matériel, c'estàdire de l'exploiter, on utilise un système d'exploitation. Le système d'exploitation est conservé sur un périphérique de stockage de données. Il fût un temps très proche ou le système d'exploitation était sur une disquette et les données sur une autre. Les ordinateurs performants avaient à l'époque deux lecteurs de disquette pour cette raison. Parmi les fonctions usuelles du système d'exploitation nous trouvons : parcourir les données, structurer et déplacer les données, installer et lancer un logiciel, gérer l'execussion des tâches demandées par l'utilisateur et les listes d'attente... ATTENTION : la structure arborescente de la gestion des données est fondamentalement différente d'un système d'exploitation à l'autre. Ne pas le comprendre revient quasiment à ne pas pouvoir s'en servir. De même il existe des systèmes multitâches ou non. Citer quelques systèmes d'exploitation et indiquer précisément ce qui les distinguent :
Lancer une fenêtre MSDoS, tester quelques commandes, indiquer à quoi peut servir une telle fenêtre dans Windows aujourd'hui. Enfin, nous avons les logiciels dédiés qui permettent à l'utilisateur de faire un travail possible avec un ordinateur. Indiquer pour chaque objectif un logiciel apte à le remplir : mise en page calcule des notes d'une classe parcourir Internet rédiger un programme en java lire l'heure archiver et classer ses documents Mais qu'est ce qu'un programme (qui donne vie aux beaux logiciels que nous aimons)? Un programme peut être vu comme une suite d'instruction simple compréhensible par le processeur. Hors le processeur ne sait faire que des additions en binaire. Simuler l'addition de 17 + 5 en binaire et donner le résultat en base 10. Imaginer le travail pour faire une soustraction avec des 1 et des 0 et à disposition une zone de mémoire. Le travail qui consistait à programmer avec des 0 et des 1 (au départ sur des fiches à trous) s'appelait la programmation binaire. Ces programmeurs écrivaient directement à un niveau de compréhension de la machine. Heureusement pour nous les technique ont évolué. Aujourd'hui, un programmeur tape un code dans un langage de programmation et compile celui ci à l'aide d'un compilateur ce qui lui donne la suite des 1 et des 0 seule comprise par la machine. Il existe différent langage de programmation, ils se distinguent par leur syntaxe, leur performance, leurs orientations, les outils et le matériel auxquels s'adressent plus particulièrement les programmes qui seront rédigés.
Algobox est un logiciel qui simule un langage de programmation avec une syntaxe et une sémantique proche du français. Il va nous permettre d'isoler les instructions simples de la programmation et d'imaginer un premier programme. Télécharger et installer Algobox sur votre clef USB : Programmer le jeu du livre et de la tortue. Qu'est ce qu'un serveur : Le serveur désigne deux choses distinctes mais ayant le même but. Mettre à disposition d'un réseau d'ordinateurs (les clients) des données. C'est pourquoi on parle de connexion clients serveurs. Dans ce but, le serveur est un ordinateur dont la tâche dédiée est de fournir aux clients les données demandées et si possible de les mettre en forme. Pour ce faire, le serveur est constitué d'une partie matérielle, de logiciel dont l'objectif est la classification, la présentation et l'expédition des données et d'une partie en générale très importante qui concerne les données. Remarque : tout ordinateur peut faire office de serveur. Le protocole réseau est le langage et les modes de transmission des informations, il répond aux besoins : transmettre les données demandées, s'assurer qu'elles sont reçues. Les protocoles qui nous intéresseront sont le ftp et le http. Ce sont les protocoles usuels sur Internet. Rechercher ce que signifie : web, www, ftp, http, ipv4 et ipv6. Quel problème est levé par la norme ipv6? Le matériel est de même nature que pour un ordinateur, seule les performances des différentes parties vont être très distinctes. Les logiciels de
fonctionnement du serveur en tant que machine (en général transparent pour le développeur de site WEB), les logiciels d'échange de données (pour nous apache), «des logiciels» de dynamisation des pages (php, java, javasrcipt) et les logiciels de structuration des données (arborescence par défaut ou base de données (mysql)). Pour échanger avec un serveur un client (machine) doit posséder un logiciel d'accès (appeler aussi client) : navigateur, client de messagerie, client ftp... Comment ça se passe? Le développeur peut mettre à disposition du développement statique de type page texte (avec objet multimédia) dans ce cas la page est un code sous forme de balises, ce code est envoyé par le serveur et compiler par le navigateur qui sait reproduire le mise en forme demandée. Le navigateur (depuis 2003) sait aussi compiler de petit programme dans le langage javascript. Le défaut de ce système apparaît lorsque les programmes qui rendent animées les pages consultées sont importants. Il faut alors mieux pré compiler le programme sur le serveurdirectement c'est le rôle de php... La machine client ne fait alors plus le travail et il n'y a plus de ralentissement dans le traitement des pages. L'autre besoin est d'obtenir des informations des clients, de les organiser et de les archiver. Dans ce cas, l'outil le plus adapté est une base de données. Les choses sont bien faites quelques fois, puisque php, mysql et les pages html, javasript et les autres fonctionnent très bien ensemble. Le développement très important de ces technologie à permis de créer des outils très performants dans la création de site qui permettent une gestion dynamique, une installation automatique et le développement en ligne. Nous allons en voir ci dessous. Rechercher le sens et les fonctionnalités de mysql, phpmyadmin, xhtml, maya, W3C, html, easyphp.
Résumons tout cela par des schémas. Un site statique Un site dynamique : Cette image provient de : siteduzero.com Développer son site : Nous allons maintenant regarder comment développer trois types de site : un site texte image simple,un site de type blog avec le magnifique Dotclear et un site de photos avec le sublime Piwigo. ATTENTION : tout code est rédigé dans un éditeur de code sans mise en forme (type blocnote) pour être compilable. Même par le navigateur.
Le code html est simple mais fastidieux à écrire. Aujourd'hui, oh chance, quasiment tous les traitements de texte permettent d'enregistrer sa page sous une forme html. Cela signifie que le traitement de texte ajoute au texte brut les balises html permettant d'afficher. Pour des fonctions plus avancées nous utiliserons un éditeur html ou éditeur de pages web. Toutefois, sauf pour des utilisations spécifiques, ces outils fortement plébiscités sont en partie tombés en désuétude au profit des CMS que nous allons utilisés. Rechercher des éditeurs HTML payants, gratuits ou libres (non verrons ce mot plus tard). Rechercher le sens de CMS, qui sont ces nouveaux ovnis, à quoi servent ils? Dotclear et Piwigo sont des CMS. Ils utilisent le langage php et l'outil mysql pour fonctionner. Ils ont l'avantage de posséder un installateur automatique et d'être multiutilisateur. L'instalation est en trois étape : s'assurer que php et mysql sont installés sur le serveur créer une base de données pour abriter les éléments du site installer le CMS suivant la procédure indiquée dans la documentation associée Rechercher d'autre CMS, indiquer leurs usages, leurs objectifs et l'expertise des personnes auxquels ils s'adressent. ATTENTION : se référer au blog prof pour les astuces d'installation en particulier sur clef USB. Logiciels libres, gratuits, propriétaires : La fréquente confusion entre logiciels libres et gratuits est non seulement fausse mais honteuse. Un logiciel ou plus généralement un programme propriétaire est un programme dont le développeur ou le commanditaire ne souhaite pas que son produit soit utiliser sans son consentement et en particulier que le code source du programme soit utiliser,modifier ou ré exploité sans son
consentement. Toutefois, de tels produits peuvent être payant ou gratuit. Ils répondent à des législations liés à la propriété intellectuelle, aux brevets et aux licences d'utilisation et d'usages. Un logiciel libre quand a lui répond à une licence libre ou open source (attention nuance). L'adjectif libre signifie que l'on peut exploiter librement le document numérique avec l'obligation de citer son origine et ses auteurs. Un document open source est un document sous licence libre mais qui offre en plus son code source. Quelques exemples : Supposons un livre rédigé avec open office. Ce livre peut être libre mais en pdf protégé. Mais il peut aussi être open source, l'auteur offre aux lecteurs le document pdf mais aussi le document open office. Le format MP3 est gratuit mais propriétaire. Les auteurs peuvent a tout moment interdire son utilisation ou la rendre payante. Le format ogg est libre et open source. Rechercher des logiciels, photos, livres gratuits, libres ou open source. Peuton avoir un logiciel propriétaire libre? Télécharger sur votre clef USB une licence libre et une licence open source, utiliser l'une ou l'autre dans vos pages WEB afin de laisser libre accès à vos documents tout en protégeant les usages qui peuvent en être fait. Une situation fréquente est de retrouver une photo gratuite utilisée pour faire du profit ou de la publicité. Notons que la possibilité de breveter un programme revient à breveté un algorithme. Il va sans dire que celui qui pose des brevets sur les algorithmes usuels des mathématiques devient richissime... Cette idée pour faire du profit annihile tout progret. Vous pensez que le libre est aberrant alors arrêtez Internet, votre smartphone, facebook... En effet, tous utilisent un apas démesuré pour le profit des logiciels
libres. Il est d'autre par évident que ce sont pour différentes raisons les plus performants mais beaucoup d'institutions ne retiennent que l'aspect gratuit, les critiques et les utilisent. Paradoxale, suicidaire, ou peut être tout simplement moderne c'estàdire fait de consommation sans intelligence. Rechercher des systèmes d'exploitation libre et open source. Qu'est ce qu'un live cd? Rechercher et graver sa distribution linux éducation pour obtenir un live CD. Les logiciels nomades ou portables : Ces logiciels sont reconditionnés pour avant toute chose être exploités sur tout ordinateur. Leur installation doit rester indépendante du système d'exploitation et de l'ordinateur utilisé pour l'installation. C'est la première difficulté. Une deuxième pas toujours opérationnelle est d'être suffisamment rapide malgré l'utilisation d'un support externe (une clef USB par exemple). L'avantage pour nous ce ces outils est de permettre de se retrouver avec ses outils et dans un environnement familier quel que soit le lieu ou l'on travaille. Ceci est particulièrement utile pour un professeur des écoles qui travail à l'école, chez lui et peut être même dans plusieurs écoles.