Utilisateur:Silex6/Bac à sable - archive 1 - 2014
Utilisation par l'optimiseur
[modifier | modifier le code]Les indexes sont en particulier exploités par l´optimiseur de requêtes:
- L'optimiseur est le composant des SGBD qui recherche la manière la plus économique d'exécuter une requête. L'optimiseur examine les différents scénarios possibles et estime le nombre d'opération nécessaires pour chaque scénario, puis opte pour le scénario qui en demande le moins. Le nombre d'opérations nécessaire dépends de la présence d'indexes, ainsi que du nombre de lignes de la table et de la répartition des valeurs[1].
Principe
[modifier | modifier le code]Un index est une structure entretenue en vue de permettre de localiser des enregistrements dans un fichier. L'utilisation des indexes est basé sur l'observation suivante: pour trouver un livre dans une bibliothèque, au lieu d'examiner un par un chaque livre, il est plus rapide de consulter le catalogue où ils sont classés par thème, auteur et titre[2]. Chaque entrée d'un index comporte une valeur extraite des données et un pointeur sur son emplacement d'origine. Un enregistrement peut être ainsi facilement retrouvé en recherchant sa localisation dans l'index[3].
Un index peut être ordonné, haché, dense ou épars[3]:
- Un index ordonné contient une liste de valeurs extraites d'une table et triés.
- Dans un index haché les valeurs sont transformées par une fonction de hachage.
- Dans un index dense, la totalité des enregistrements d'une table sont référencés.
- Dans un index épars seuls une partie des enregistrements sont référencés.
L'index primaire d'une table est le premier qui est utilisé pour localiser les enregistrements. Une table peut également contenir des indexes secondaires en complément de l'index primaire[3]. Chaque table peut comporter un ou plusieurs indexes. Un index peut être issu d'un seul champ ou peut combiner plusieurs champs[2].
Technique
[modifier | modifier le code]Les indexes sont utilisés par les SGBD pour de nombreuses opérations. Les indexes facilitent les opérations de tri, de recherche, de regroupement et de jointure[2]. La structure la plus courante des index est l'arbre B[4]. D'autres structures existent mais sont rarement utilisées - ISAM, les tables de hachage ou les bitmaps[4].
- structure en arbre: un tronc auquel sont attachées des branches avec des ramifications et des feuilles au bout. Toutes les recherches sont effectuées en partant du tronc. En recherchant parmi les branches celle qui contient la valeur à trouver, jusqu'à avoir atteint une feuille[3].
Les indexes sont enregistrés sur des disques durs. Ces appareils lisent les données bloc par bloc. Le temps nécessaire pour lire un bloc est généralement très inférieur au temps nécessaire pour le localiser. Pour accélérer les opérations, les arbres d'index comportent un très grand nombre de ramifications, toutes enregistrées dans un même bloc. La recherche d'un enregistrement dans un lot de plusieurs millions nécessite alors 2 ou 3 opérations de localisation et lecture de bloc[4].
Les indexes peuvent être ajoutés par une commande SQL[2]. L'existence d'index est cruciale pour accélérer les opérations de manipulation de données. L'utilisation inadéquate des indexes est la principale cause de déception[5]. Le système de gestion de base de données (abr. SGBD) ne trouvera pas les indexes qui sont nécessaires pour effectuer efficacement les opérations qui lui sont demandées[5]. Les raisons de l'utilisation inadéquate sont que la documentation des SGBD concernant l'utilisation des indexes est souvent vague et succinte, et met en avant leurs inconvénients plus que leurs avantages[5].
À l'ère de l'informatique omniprésente, l'utilisateur a à sa disposition une gamme de petits appareils informatiques tels que smartphone ou assistant personnel, et leur utilisation fait partie de l'ordinaire de sa vie quotidienne. Ces appareils rendent l'accès à l'information facile pour tout le monde, n'importe où et n'importe quand.
Les appareils sont notamment[6]:
- des appareils mobiles en complément des ordinateurs personnels: smartphones, assistants personnels, tablettes.
- des téléphones intelligents qui permettent l'accès sans fil aux services d'information n'importe où dans le monde.
- des cartes à puce qui servent de pièce d'identité pour permettre l'accès aux informations confidentielles.
- des petits appareils domestiques qui peuvent être manipulés avec un navigateur web.
- les set-top-box, les télévision interactives et les consoles de jeu qui permettent l'accès à des services en ligne.
- des appareils embarqués dans les véhicules: ordinateur de bord, système de navigation, de diagnostic ou téléphone incorporé.
C'est une philosophie diamétralement opposée à celle des ordinateurs personnels: Au lieu de simuler une activité du monde réel par un ordinateur, un appareil informatique dédié est utilisé dans le cadre de cette activité. Par exemple au lieu de se servir d'un ordinateur pour lire un document, qui lui donnera à l'écran l'aspect d'un livre, l'utilisateur se sert d'un appareil dédié - la liseuse - qu'il pourra porter dans les mains comme un vrai livre et qui ressemble à du papier[7].
Les systèmes d'informatique de cette ère sont décentralisés, diversifiés, fortement connectés et simples d'emploi:
- Décentralisés: Dans les système d'informatique omniprésente, les calculs sont distribués entre une variété de petits appareils, chacun ayant une fonctionnalité qui lui est propre. Comparativement à l'ère des mainframes un ordinateur central unique, très puissant effectuait tout les calculs, et était connecté à une batterie de terminaux passifs. Avant que les calculs soient déportés en vue d'utiliser la puissance de calcul des ordinateurs personnels[6].
- diversifiés: Dans les systèmes d'informatique omniprésente, les fonctionnalités sont apportées par une gamme d'appareils, où chacun est destiné à un certain usage et un certain public. Ce qui contraste avec les système basés sur les ordinateurs personnels, où une machine universelle - l'ordinateur personnel - est utilisée, et où les fonctionnalités sont apportées essentiellement par les logiciels. La diversité des plateformes matérielles et logicielles des systèmes omniprésents contraste également avec le marché des ordinateurs personnels ou la majorité des appareils sont estampillés du logo de Microsoft Windows et du label "Intel inside"[6].
- fortement connectés: Les appareils d'informatique omniprésente s'intègrent de manière transparente dans une infrastructure informatique, ils utilisent l'infrarouge la technologie bluetooth, les câbles et les technologies Wifi pour communiquer avec différentes systèmes backend tels que le courrier électronique. L'utilisation nomade et internationale est rendue possible par l'exploitation des réseaux de téléphonie mobile et des accords de roaming entre les opérateurs. Selon les mots du directeur général de IBM, cette connectivité donne la possibilité d'utiliser n'importe quelle application sur n'importe quel appareil en utilisant n'importe quel réseau. Les possibles problèmes d’interopérabilité que pourraient provoquer la diversité des appareils sont évités par un alignement aux standards industriels[6].
- simple d'emploi: chaque appareil d'informatique omniprésente est destiné à un certain public et un certain usage. Ce qui permet d'éviter la complexité due à l'universalité d'un ordinateur personnel. Les appareils sont fait pour être utilisés par intuition et la lecture du mode d'emploi n'est pas nécessaire[6].
l'informatique ubquitaire est la troisième ère de l'histoire de l'informatique[7], qui succède à l'ère des ordinateurs personnels et celle des mainframe. Dans cette ère l'utilisateur a à sa disposition une gamme de petits appareils informatiques tels que smartphone ou assistant personnel, et leur utilisation fait partie de l'ordinaire de sa vie quotidienne. Ces appareils rendent l'accès à l'information facile pour tout le monde, n'importe où et n'importe quand. Les utilisateurs ont alors la possibilité de s'échanger des données facilement, rapidement et sans effort, quel que soit leur position géographique[6]. Cette omniprésence de l'accès à l'information a un fort impact sur la société, modifie les habitudes de travail et de vie privée[6].
La commission Européenne utilise les mots intelligence ambiante pour décrire le milieu créé par les appareils. L'amérique privilégie les mots informatique ubiquitaire, tandis que le Japon parle de société des réseaux pervasifs[8].
l'informatique ubquitaire est la troisième ère de l'histoire de l'informatique[7], qui succède à l'ère des ordinateurs personnels et celle des mainframe. Durant l'ère des mainframes un grand ordinateur était utilisé collectivement par plusieurs personnes. Dans l'ère suivante - celle des ordinateurs personnels - un ordinateur appartient et est utilisé exclusivement par une seule personne. Dans l'ère de l'informatique omniprésente l'utilisateur a à sa disposition une gamme de petits appareils informatiques tels que smartphone ou assistant personnel, et leur utilisation fait partie de l'ordinaire de sa vie quotidienne[7].
Durant l'ère des mainframes et celle des ordinateurs personnels se servir d'un ordinateur signifiait s'asseoir devant un écran, utiliser le clavier et la souris; toute l'attention de l'utilisateur est tournée vers la machine, et il devient solitaire, déconnecté du monde qui l'entoure. Dans l'ère de l'informatique omniprésente, l'utilisation des appareils fait partie du quotidien et n'est pas considérée comme une activité à part, à tel point que l'utilisateur finit par ne plus penser que c'est un ordinateur qui est utilisé[7].
C'est une ère de convergence ou une gamme d'appareils disparates communiquent discrètement à travers un tissu de réseaux héterogènes. Le milieu est composé de machines intelligentes, qui surveillent nos faits et gestes, nos habitudes et anticipent les demandes. Dans ce milieu les gens sont entourés d'écrans incrustés dans des objets du quotidien, qui communiquent discrètement, de manière non intrusive et presque invisible. Des minuscules pièces informatiques telles les puces RFID incrustent de l'intelligence un peu partout dans les objets du quotidien: sur les habits, les murs ou le porte-monnaie. Dans ce milieu un téléphone est transformé en un terminal capable de lire des vidéos, de surfer sur le Web, d'écouter de la musique, de prendre des photos, de participer à des visioconférences et beaucoup d'autres choses.
L'ère de l'informatique omniprésente succède à l'ère des ordinateurs personnels. Une nouvelle gamme
Les appareils d'informatique omniprésente des années 2010 comportent de sérieuses limitation en terme de puissance de calcul, de capacité de stockage. Ils fonctionnent souvent sur batterie et doivent être conçus en vue de ne pas souffrir d'une coupure de courant. La situation est cependant appelée à évoluer vers une puissance de calcul supérieure, pour une taille et un prix inférieur[6].
les améliorations des technologies de télécommunication, en particulier les technologies sans fil tels que le GSM accroît l'accessibilité des informations. En 2010 la bande passante des technologies sans fil se rapproche de plus en plus de celles des télécommunications par câble et l'Internet évolue vers une technologie universelle pour accéder à des services en ligne[6].
L'informatique omniprésente est la vision de . Bien qu'imaginée avant la montée d'Internet, elle comporte une forme de réseau omniprésent.
Le mot ubiquitous computing (en français l'informatique omniprésente) a été utilisé la première fois en 1988 par Marc Weiser du Xerox PARC pour désigner sa vision du futur[7] - l'informatique du 21ème siècle telle qu'il l'a imaginée. Dans son idée les outils informatiques sont embarqués dans des objets de la vie quotidienne. Les objets sont utilisés aussi bien au travail qu'à la maison[7]. Selon lui « les technologies les plus profondes sont celles qui sont devenues invisibles. Celles qui nouées ensemble forment le tissu de notre vie quotidienne au point d'en devenir indissociables »[7]. Bien qu'imaginée avant la montée d'Internet, son idée comporte une forme de réseau omniprésent.
Dans les années 1990 de nombreuses entreprises commerciales ont embrassé cette vision du futur, et exploré de potentiel économique de services omniprésents et d'appareils innovants. Une décennie plus tard le smartphone est devenu la figure emblématique de l'informatique omniprésente: l'appareil informatique le plus populaire et le plus omniprésent qui n'aie jamais existé[7].
Les appareils mobiles sont de petits appareils informatiques - certains peuvent être mis dans les poches[9]. Ils sont typiquement dérivés des téléphones mobiles, et permettent d'accéder au Web, de lire des e-mails, de prendre des fotos, de jouer à des jeux vidéo, d'écouter de la musique, de regarder des clips vidéo. Il peuvent également comporter un calendrier ou un carnet d'adresses[10].
La plupart des appareils mobiles n'ont pas de disque dur et les programmes sont enregistrés sur des mémoires internes ou des cartes. Ils fonctionnent sur batterie, ont un écran de petite taille, un clavier dépouillé, et peu de puissance de calcul. Ils sont typiquement d'usage personnel[10] Il est souvent possible de les relier à un ordinateur. Certains appareils mobiles peuvent être connectés à Internet et il peuvent alors servir à envoyer des e-mails, accéder au Web et aux tchats[9].
Les appareils mobiles les plus populaires sont les smartphones; viennent ensuite les assistants personnels, les liseuses, les ordinateurs de poche, les lecteurs MP3 et les appareils photo numériques[9]. Il y a également les consoles de jeu portables (Sony PSP, Nintendo DS) et les baladeurs numériques (iPod, Zune)[10][11].
Entre 2009 et 2012 les ventes de smartphones et de tablettes sont passé de moins de 200 millions à plus de 700 millions d'unités, dépassant largement les ventes d'ordinateurs personnels. Les ventes d'ordinateurs personnels déclinent et les ventes de téléphones mobiles classiques sont en baisse[12].
Avec l’avènement de ces appareils, l'ère de l'informatique omniprésente (pervasive computing) succède à l'ère des ordinateurs personnels. Cette nouvelle catégorie d'appareils permettent l'accès aux informations à tout le monde, partout et tout le temps. Les utilisateurs ont alors la possibilité d'échanger des informations rapidement et efficacement quelle que soit leur emplacement[13]. Les ordinateurs personnels sont alors remplacés par des appareils plus petits, moins coûteux, fonctionnant sur batterie, et connectés à des réseaux sans fil. Ces appareils n'ont souvent pas de clavier, mais un écran tactile[14].
Selon eMarketer, on estime que 55% de la population mondiale possède un téléphone mobile - dont un certain nombre de smartphones. 80% de la population d'Europe de l'Ouest et 65% de la population de l'Amérique Latine en possèdent un. Dans certains pays le nombre d'abonnements de téléphonie mobile est supérieur au nombre d'habitants[11].
un smartphone est un ordinateur de poche qui combine les fonctions d'un téléphone mobile avec celles d'un ordinateur (accéder au web, envoyer des e-mails, et écouter de la musique)[15]. BlackBerry est un des premiers appareils de ce type, lancé par le groupe canadien Research In Motion en 1999[15]. L'arrivée des smartphones a changé les habitudes d'utilisation. Outre les appels et les messages SMS, les smartphones sont couramment utilisés pour accéder à Internet, envoyer des e-mails, prendre des photos, consulter les prévisions météo, jouer, ou accéder aux réseaux sociaux[11].
Une tablette est un ordinateur portable très léger et sans clavier. Le texte est entré manuscrit à l'aide d'un stylo, en touchant l'écran, ou par oral. La puissance de calcul d'une tablette est inférieure à celle d'un ordinateur de bureau. Sur les tablettes convertibles, l'écran peut être retourné, et l'appareil peut ainsi être utilisé comme un notebook. Le iPad de Apple est une tablette qui exécute les mêmes logiciels que le iPhone; il a un écran de 10 pouces et pèse 600 grammes[15]. Les tablettes électroniques existent depuis 1990[réf. nécessaire] et ont été remises à la mode par le lancement du iPad en 2010[11]. Ces appareils sont à mi-chemin entre le téléphone et l'ordinateur personnel. En 2013 la majorité de ces appareils sont équipés d'un système d'exploitation pour smartphone et ils sont utilisés pour les mêmes activités qu'un ordinateur personnel[11]. Après la sortie du iPad, Steve Jobs, son auteur, annonçait la fin de l'ère des ordinateurs personnels[11].
Un laptop est un ordinateur portable, suffisamment petit pour être placé dans une valise. Sa puissance de calcul est comparable à celle d'un ordinateur de bureau. Il est équipé d'un écran plat, d'un processeur puissant, d'un disque dur et d'un lecteur de DVD. Un notebook est un ordinateur portable plus petit qu'un laptop, plus léger et moins équipé: pèse moins de 2 kg, n'a pas de lecteur DVD, a une batterie plus petite et un processeur moins puissant[15].
Ils comportent un clavier ou un écran sensible à la pression, manipulable avec un stylo ou avec les doigts. Il existe un nombre toujours plus grand d'applications pour smartphones. Certaines permettent de lire des documents dans des formats courants (exemple: Microsoft Office), ce qui rend flou la différence entre téléphone intelligent et ordinateur de poche[10].
de poche | tablette | notebook | laptop | |
Poids | 100 g. | 300 g - 1kg | < 2 kg | 2-5 kg |
taille (en pouces)[16] | 2-3 | 5-11 | 11-14 | 12-15 |
prix indicatif ($) | 150-400 | 200-550 | 600-2000 | 600-2300 |
En 2013 les smartphones et les tablettes sont les moteurs de l'expansion du marché des appareils mobiles. Ces appareils sont équipés d'un système d'exploitation pour smartphone et sont destinés aux particuliers. A mesure qu'évolue le marché, le limite entre le smartphone et le téléphone mobile riche devient plus floue. Les smartphones sont décrits comme des ordinateurs de poche avec des fonctions incorporées de téléphonie mobile[17].
Principales matières | Lieu | |
---|---|---|
Baccalauréat en informatique appliquée[18] | programmation, architecture, algorithmique, informatique théorique, mathématiques, français. | Université de Moncton, Canada |
Diplôme de deuxième cycle en informatique appliquée[19] | intelligence artificielle, traitement numérique des images, génie logiciel.
Connaissances en algorithmique, en bases de données, architecture des ordinateurs et systèmes d'exploitation |
Université du Québec à Chicoutimi, Canada |
Certificat en informatique appliquée[20] | programmation, bases de données, systèmes d'information, intelligence artificielle, génie logiciel, télécommunication | TELUQ, formations à distance, Canada |
La science informatique est orientée autour des notions et des principes et les formations à l'utilisation de produits n'en font pas partie. Or les étudiants sont demandeurs de formations pratiques, qui sont généralement requises pour travailler dans l'industrie informatique. Ces formation pratiques font partie de l'informatique appliquée. Les domaines typiques sont le génie logiciel, le management du système d'information, et la télécommunication[21].
L'informatique est un domaine de science et de technologie tournée sur l'étude des différents aspects du calcul par des machines. Le calcul (anglais computing) consiste à résoudre des problèmes et appliquer des technologies dans le but d'obtenir quelque chose[22].
L'informatique a en commun avec les mathématiques un ensemble de notions de logique qui permettent de modéliser le monde réel - sous forme de nombres dans le cas des mathématiques. L'informatique a en commun avec les disciplines d'ingénierie l'étude de comment réaliser quelque chose d'utile - dans le cas de l'informatique des machines de calcul, de la logique et des programmes[22].
De l'informatique ont émergé des disciplines spécialisées. L'informatique théorique est orientée vers les notions théoriques et logiques dérivées des mathématiques, tandis que l'ingénierie informatique est orientée sur la conception et la fabrication d'ordinateurs et est dérivée de l'électronique[22]. Plus tard a émergé l'ingénierie logicielle, orientée sur comment construire de logiciels où la qualité du produit fini et le temps de construction est prévisible et réduit au minimum[22].
Le domaine scientifique de l'informatique est subdivisé en de nombreux sous-domaines, ayant chacun un sujet d'étude différent, comme par exemple les graphes, les langages formels, les bases de données, l'architecture informatique, les compilateurs, les langages de programmation, l'intelligence artificielle, l'interface homme-machine, ou l'exploration de données[22].
La mise en application des notions de science informatique a fait émerger différents champs de connaissance interdisciplinaire[22]:
- la géomatique, où les technologies informatiques sont exploitées pour manipuler des cartes géographiques, qui sont utilisées notamment par l'administration publique des villes et les gouvernements.
- les systèmes biomédicaux, où les technologies informatiques sont utilisés dans le domaine de la santé pour soigner des patients, veiller sur eux et tenir leur dossier médical.
- les technologies de l'information dont le champ d'étude est la manipulation et la maintenance des systèmes informatiques, des réseaux informatique, des systèmes d'exploitation, du matériel et du logiciel.
- la sécurité informatique, dont le champ d'étude sont les faiblesses, les vulnérabilités des systèmes informatique, les menaces auxquels ils sont exposés, et les moyens de les protéger et les rendre moins vulnérables.
L'informatique appliquée est un nouveau champ de connaissances qui s'intéresse aux différents sujets de science informatique qui peuvent être directement exploités dans l'industrie informatique[22]. Il s'agit d'un sous-ensemble des connaissances en science informatique. Il comporte des notions de base et des théories, et l'accent est mis sur mise en pratique des connaissances plutôt que la recherche[22].
Le stockage et la recherche d'informations dans des bases de données et un des champs de connaissances théoriques et pratiques de l'informatique appliquée. La médecine, les bibliothèques, la géographie, l'organisation des entreprises, les voyages en avion et les fichiers de police sont quelques uns des domaines d'application de ces connaissances[23].
La manipulation des images et de la vidéo est un des sujets d'informatique appliquée qui a beaucoup évolué entre 1980 et 2010.
Les étudiants en science apprennent à vérifier des hypothèses concernant des phénomènes en recherchant un moyen de les confirmer et ainsi alimenter les connaissances sur un sujet. Les ingénieurs apprennent les connaissances déjà acquises sur un sujet, et les moyens de s'en servir pour réaliser quelque chose d'utile, et les comportements à adopter lorsque ce travail est fait en groupe[24].
Il existe une forte demande en ingénieurs de la part de l'industrie informatique. Ceux-ci sont formés par des écoles spécialisées. Les universités, qui forment des scientifiques, recherchent à combler le fossé qu'il existe entre une formation scientifique et une formation d'ingénieur en proposant des formations intermédiaire dites d´informatique appliquée[24].
Nom | Année | Auteur | Contenu | Distribution |
---|---|---|---|---|
Framework | 1984 | Ashton-Tate | Traitement de texte, tableur, base de données, dessin | Commercialisé |
Microsoft Office | 1990 | Microsoft | Traitement de texte, tableur, présentation, base de données, courrier, agenda | Commercialisé |
WordPerfect Office | 1994 | Corel | Traitement de texte, tableur, présentation, base de données | Commercialisé |
Lotus SmartSuite | 1994 | Lotus Software | Traitement de texte, tableur, présentation, base de données, courrier, agenda | Commercialisé |
OpenOffice.org | 2000 | Sun Microsystems | Traitement de texte, tableur, présentation, base de données, dessin | Logiciel libre |
Zoho Office | 2005 | Zoho Corporation | Traitement de texte, tableur, présentation, calendrier, etc. | Service en ligne |
iWork | 2005 | Apple | Traitement de texte, tableur, présentation | Commercialisé |
Google Docs | 2006 | Traitement de texte, tableur, présentation | Service en ligne |
Cite Microsoft Office, Google Docs, LibreOffice, iWork et Zoho Suite. [40]
Cite Microsoft Office, OpenOffice et StarOffice. [41]
Une suite bureautique est une collection de programmes informatiques en rapport avec les opérations basiques du travail de bureau. La collection comporte généralement un traitement de texte, un tableur, un programme de présentation. Il peut également y avoir un programme de manipulation de données, un lecteur de e-mail, un calendrier et un carnet d'adresses[28].
Le travail de bureau consiste essentiellement à acheter des marchandises, manager du personnel, approuver des payements et des demandes[29], ce qui nécessite de rédiger et classer des documents, de répondre à des appels téléphoniques, d'organiser des réunions et des rendez-vous, et de comptabiliser des ventes, des factures et des salaires. C'est le travail des réceptionnistes, des dactylos, des secrétaires et des assistantes de direction[30].
Travail de bureau
[modifier | modifier le code]Essentiellement le travail de bureau consiste à acheter des marchandises, manager du personnel, approuver des payements et des demandes[31]. Ce qui demande de contrôler, inscrire, trier et classer des informations: Rédiger, classer des documents, répondre à des appels téléphoniques, organiser des réunions et des rendez-vous et les inscrire à l'agenda, comptabiliser des ventes, des factures et des salaires[32]. Les employées de bureau sont réceptionnistes, secrétaires, dactylo ou assistantes de direction. Leur tâches peuvent être d'écrire des lettres, d'enregistrer des inscriptions, de créer des rapports, et de communiquer par écrit ou par téléphone[31].
Le travail de bureau est réalisé par des scribes depuis l'antiquité, principalement par des hommes[33]. Avant l'informatisation c'était un travail manuel, laborieux et peu répandu. Depuis 1980 un travailleur sur deux travaille dans un bureau et les trois quarts des employées de bureau sont des femmes. Les premiers secteurs concernés sont les banques et les assurances.
L'activité est assistée par ordinateur depuis 1985[33]. Les employées de bureau se servent de logiciels de traitement de texte pour rédiger des lettres ou des rapports, et utilisent des logiciels de tableur pour créer des rapports de synthèse. Les technologies de télécommunication permettent de coupler l'ordinateur avec la photocopieuse, le téléphone ou le télex[34].
Jusqu'en 1970 c'était un travail manuel et laborieux. Puis le traitement de texte a remplacé la dactylographie, et les communications ont été facilitées par le téléphone. Entre 1985 et 2000 l'utilisation des ordinateurs personnels c'est généralisée, les logiciels sont devenus plus puissants et plus simples d'emploi. Les possibilités de capture à la source ont diminué l'utilisation du clavier pour re-introduire des informations[34].
La concurrence est rude dans le secteur industriel des équipements de bureautique. Il existe de nombreux producteurs de matériels et de logiciels, d'équipement de télécommunication et de services. Cette concurrence entraîne une baisse rapide des prix et une évolution rapide de la technologie[34].
Définition
[modifier | modifier le code]Un ordinateur est composé de matériel et de logiciel. Le matériel sont les musiciens et les instruments, tandis que le logiciel est la musique[35]. Sans logiciel l'ordinateur ne fait rien parce qu'il n'a pas reçu les instructions lui indiquant ce qu'il doit faire[35]. Les logiciels sont sous la forme de programmes informatique, qui indiquent à l'ordinateur comment effectuer les tâches[36]. Le logiciel détermine les tâches qu'un appareil informatique peut effectuer[36].
Alors que lors de la vente d'un appareil informatique, l'accent est souvent mis sur le matériel informatique, c'est avant tout le logiciel qui donne à l'ordinateur sa valeur ajoutée[35]. Le mot anglais software (en français: logiciel) était à l'origine utilisé pour désigner tout ce qui est immatériel dans un ordinateur: des programmes, des données, des documents, des photos[36]...
Les deux principales catégories de logiciels sont le logiciel applicatif et le logiciel système. Le logiciel applicatif est destiné à aider les usagers à effectuer une certaine tâche, et le logiciel système est destiné à effectuer des opérations en rapport avec l'appareil informatique[36].
La plus importante pièce de logiciel est le système d'exploitation. Il sert à manipuler le matériel informatique, diriger le logiciel, organiser les fichiers, et faire l'interface avec l'utilisateur[35]. Les logiciels disponibles dans le commerce sont toujours destinés à être utilisés avec un système d'exploitation donné[35].
Les autres types de logiciel sont les applications, les utilitaires, les programmes et les pilotes (anglais driver). Les applications sont utilisées pour effectuer une tâche. Les utilitaires sont utilisés pour manipuler l'ordinateur ou à des fins de diagnostic. Un pilote est un logiciel qui permet d'utiliser un matériel informatique. D'une manière générale tout ce qui est programme informatique est logiciel[35].
Le secteur industriel
[modifier | modifier le code]L'activité de l'industrie du logiciel consiste à la vente de services, au développement et à la vente de logiciels prêts à porter en grande distribution, ainsi qu'au développement et à la vente de logiciels sur mesure. En 1990 les plus grands éditeurs de logiciels aux États-Unis sont IBM, Microsoft, Computer Associates, Digital et Oracle. Les États-Unis sont à la fois le premier consommateur et le premier producteur mondial de logiciels, concurrencé principalement par l'Europe et le Japon (Siemens/Nixdorf, Bull et Sony): dans les années 1980 la production / consommation des États-Unis représente 60% de la production mondiale de logiciels, et 52% de la consommation[37].
Dans les années 1950 les logiciels étaient souvent créés par les fabricants de matériel informatique et vendus avec le matériel, parfois des sociétés d'ingénierie créaient sur demande des logiciels applicatifs selon les besoins de l'utilisateur, cependant les systèmes d'exploitation étaient exclusivement le fait de fabricants de matériel. Les éditeurs de logiciels - sociétés spécialisées dans le logiciel - sont devenus courants dès les années 1960. Trente ans plus tard il existe plusieurs milliers d'éditeurs de logiciels aux États-Unis[37].
Les lois de la propriété intellectuelle et du secret industriel sont destinées à protéger les intérêts des producteurs de logiciel, et les motiver à investir le temps et l'argent nécessaire pour produire et distribuer de nouveaux produits. La distribution de copies illégales de logiciels (piratage) a pour effet direct de diminuer la rentabilité de la production de logiciel par une baisse des ventes, et comme effet indirect de diminuer la motivation des producteurs. La valeur marchande des copies vendues illégalement est souvent supérieure au chiffre d'affaire des ventes des producteurs et cette vente illégale est une des principales préoccupations de tout les éditeurs de logiciel[37].
Les droits
[modifier | modifier le code]En Europe de l'Ouest les logiciels sont protégés par la loi en tant qu’œuvres littéraires auquelles s'applique la convention de Berne. Convention qui prévoit qu'un accord explicite de l'auteur est obligatoire avant de retoucher, de modifier, de publier le logiciel, ou de s'en servir comme base pour réaliser un autre logiciel[37].
Un contrat de licence fixe les droits et les obligations du fournisseur et de l'utilisateur du logiciel. Ce contrat formalise également les biens et les services qui devront être offerts par le fournisseur. Lorsque les logiciels ont commencé à être vendus en grande distribution, ce contrat - auparavant signé par l'acheteur - a été remplacé par une licence sur emballage (anglais shrink wrap), qui lie automatiquement et tacitement le fournisseur avec l'utilisateur du moment que ce dernier ouvre l'emballage du logiciel[37].
Les logiciels sont également protégés par les lois du secret industriel, destinées à empêcher la concurrence de se servir des caractéristiques techniques du logiciel dans ses produits. Pour les logiciels vendus en grande distribution sous licence sur emballage, cette protection est assurée en gardant secret le code source du logiciel et en commercialisant uniquement le code objet: la découverte des caractéristiques techniques à partir du code objet nécessite des outils spécialisés et un gros effort de réflexion[37].
Créée en 1984 comme outil de soutien de la philosophie libre, la licence GNU General Public License (abr. GPL) garantis que le code source d'un logiciel, initialement publié par son auteur, ne sera jamais mis sous secret industriel en application des lois de copyright par quiconque le récupère et le redistribue[38].
Logiciel libre
[modifier | modifier le code][58] Open Source
Le logiciel libre est un mouvement social basée sur la philosophie formulée par Richard Stallman dans les années 1980. Open Source est une manière de créer des logiciels qui est basée sur cette philosophie[38].
Richard Stallman, à l'origine de cette mouvance, se décrit lui-même comme étant « le dernier survivant de la culture Hacker ». Selon le livre de Steven Levy, les hackers sont une communauté et une culture née en 1960 à l'institut de recherche en intelligence artificielle du MIT et presque disparue dans les années 1980[38]. Dans cet institut de jeunes hobbyistes passent leur temps à étudier les ordinateurs et explorer les possibilités qu'offrent la programmation de ces machines. Dans ce milieu les programmes informatiques sont traités de la même manière que n'importe quelle information scientifique: mis à la disposition de tout un chacun pour étude, exploitation et amélioration[38]. Il y règne un fort esprit de coopération et de partage, le code source des programmes est utilisé comme moyen de communication, et le fait de restreindre l'accès au code source limite les interactions de la communauté[38].
En 1984 Richard Stallman, selon sa philosophie libre, lance la création d'un système d'exploitation (GNU) et fait appel à un conseiller juridique de la Free Software Foundation pour créer une nouvelle licence de distribution, la GNU General Public License (abr. GPL), qui garantis que le code source d'un logiciel, initialement publié par son auteur, ne sera jamais mis sous secret industriel en application des lois de copyright par quiconque le récupère et le redistribue[38].
Dans son ouvrage GNU Manifesto, Richard Stallman suggère aux producteurs de logiciels de changer leur manière de travailler, et, au lieu d'acheter et vendre du logiciel, de le considérer comme une commodité produite en coopération entre les utilisateurs et les entreprises du secteur. Il suggère que même si le logiciel est libre, les utilisateurs auront besoin d'assistance dans l'utilisation et la modification du logiciel, services que les entreprises peuvent vendre[38].
La GPL est la licence la plus fréquemment appliquée aux logiciels libre. En 2002 plus de 50% des projets de sourceforge sont sous licence GPL, et c'est également la licence appliquée à la plupart des distribution Linux[38].
le bazar
[modifier | modifier le code][59] cathedral and bazaar
Les langages de programmation peuvent aussi servir à des échanges d'idées entre des personnes, notamment des programmeurs. Les restrictions légales imposées à ce genre d'échanges pénalisent l'innovation.
Une des idées de l'open source est que les revues de code effectuées par le public diminuent les coûts de développement et améliorent la qualité des logiciels.
Le développement open source est né dans les années 1960 dans l'univers fermé des hackers, qui est devenu célèbre dans les années 1990 par ses logiciels: Unix, le world wide web et Linux sont des logiciels célèbres qui ont été développés par des hackers.
Le développement open source est soutenu activement par ses partisans depuis plus de 30 ans, qui se qualifient eux-même fièrement de hackers.
Eric S. Raymond, dans son livre La cathédrale et le bazar, compare la démarche de construction utilisée pour les logiciels open source Linux et fetchmail - le bazar - avec la démarche traditionnelle des éditeurs de logiciels - la construction de cathédrales[39].
Les employés des éditeurs de logiciels travaillent à la construction de logiciels qu'ils n'apprécient pas particulièrement et ne vont jamais utiliser. Au contraire le développeurs de Linux sont aussi ses utilisateurs et bénéficient personnellement de leurs réalisations.
La récompense à un programmeur n'est pas proportionnelle à l'effort entrepris mais aux résultats obtenus. Une technique classique des hackers est de réutiliser le code source d'un logiciel qui réponds partiellement aux objectifs.
Dans la démarche classique des éditeurs de logiciels, leurs employés développent des logiciels que, la plupart du temps, ils ne vont jamais utiliser. Dans la démarche open source les usagers sont co-développeurs du logiciel, selon le principe que plus il y a d'yeux et plus les bugs sont faciles à voir. Une nouvelle version du logiciel est publiée chaque jour, voir plus, ce qui permet aux utilisateurs de constater une évolution constante[39]. Au contraire, dans le procédé classique - les bâtisseurs de cathédrale - une petite équipe dédicacée s'occupe de trouver et corriger des bugs. Ce qui peut demander des mois. Les périodes entre chaque version de logiciel sont relativement longues. D'où de fréquentes déceptions que le produit publié n'est pas parfait[39].
Dans le procédé open source - le bazar, le code source est public et accessible à tout le monde; les développeurs ne sont pas choisis, mais sont le résultat d'une sélection naturelle: pour que le développeur participe il faut qu'il soit intéressé au produit, qu'il ait pris le temps de l'étudier, qu'il ai réussi à en comprendre suffisamment pour arriver à y apporter des modification au code source. Un individu qui a réussi à aller si loin a forcément le profil pour devenir co-développeur du logiciel[39].
Créer un logiciel
[modifier | modifier le code]Le nombre d'échecs de construction de logiciels, on ouvert les yeux des ingénieurs sur la nécessité d'un travail discipliné de construction. Une étude réalisée en 1995 fait état que dans seulement 16% des cas la construction d'un logiciel se déroule comme prévu: La construction se termine dans les délais prévus, et le logiciel offre toutes les fonctionnalités prévues. Les raisons de ces succès sont généralement une forte implication de l'utilisateur final et de la direction, une planification précise et un cahier des charges clair et exhaustif. Ces 4 facteurs sont présents dans plus de 50% des constructions réussies.
L'implication de l'utilisateur permet à l'ingénieur qui crée le logiciel d'avoir une idée claire du but à atteindre, sans laquelle il a très peu de chance de réussir. Le cahier des charges a une importance clé dans la réussite de la construction, parce que de nombreux aspects du travail sont intangibles.
Il peut y avoir de nombreuses causes d'échec, parmi lesquels le dépassement des délais et des coûts de fabrication. Selon l'étude de Capers Jones publiée en 1996, 12% des causes de défaut des logiciels proviennent du cahier des charges, 24% de la conception, et 38% proviennent de la programmation. Une erreur dans le cahier des charges peut entrainer plusieurs erreurs de conception et de programmation, qui sont parfois constatées après que le produit aie été mis sur le marché.
software patents [61]
software and computer science [62]
computer literacy [64]
discovering computers [65]
software engineering
créer des logiciels est une activité intellectuelle et prends du temps[40]. La construction d'un logiciel comporte généralement différentes activités telles que l'étude de faisabilité, l'analyse des besoins, la conception, la programmation, les tests, le déploiement et la maintenance[40]. La construction d'un logiciel modérément complexe dans un délai raisonnable n'est généralement pas réalisable par une personne seule[40]. La construction nécessite alors d'être découpée en tâches qui seront réparties entres plusieurs personnes d'une entreprise ou d'une équipe[40].
L'étude de faisabilité permet de déterminer si le logiciel peut être réalisé: si il est possible d'apporter une solution technique au problème posé, en tenant compte du système informatique à disposition. L'analyse des besoins permet de produire la spécification fonctionnelle qui servira de référence pour la conception et la programmation. La conception consiste à choisir les technologies et les outils qui devront être utilisés, tandis que la programmation consiste à créer des programmes exécutable en se servant des langages de programmation. Les tests consistent à simuler des scénarios d'utilisation en vue de vérifier le fonctionnement correct du programme. La maintenance sont des travaux de modification effectués à posteriori, après la distribution du logiciel[40].
La construction doit suivre une démarche logique et réfléchie en vue d'éviter des produits de piètre qualité, qui donnent des résultats incorrects et tombent en panne. L'utilisation systématique d'une démarche réfléchie fait du travail de programmation une discipline d'ingénierie[40]. Si créer un logiciel simple, répondant à un problème simple, peut être effectué de manière informelle par une personne seule, plus le logiciel est complexe plus sa construction est complexe, coûteuse en temps et vouée à l'échec[40]. Les principales causes d'échec sont: la construction prends plus de temps que prévu, ce qui peut augmenter considérablement le coût de construction. Le logiciel ne donne pas les résultats attendus ou est abandonné par l'utilisateur parce qu'il tombe trop souvent en panne[40].
L'évolution du matériel informatique, les nouveaux domaines d'utilisation des ordinateurs tels que la science, l'image et le son, l'industrie ou la communication ont augmenté l'importance du logiciel et la complexité moyenne de celui-ci[40]. Les logiciels simples ne sont alors plus que des exercices ou des résolutions théoriques de problèmes, tandis que la résolution de problèmes concrets nécessite des logiciels complexes où le travail discipliné de construction est une nécessité[40].
Ceci dans le but d'aboutir à un logiciel de bonne qualité: simple à utiliser, à modifier et à comprendre et fiable. Il offre la possibilité d'effectuer toutes les opérations courantes en rapport avec son domaine d'application, il utilise raisonnablement la mémoire et le processeur et peut être facilement adapté à des changements de ses fonctionnalités ainsi qu'à l'évolution des systèmes informatiques sur lesquels il repose[40].
[67] Software industry, 1999
software engineering [68]
[69] Software industry and platforms
[71] Open source software development
[73] software quality
[74] software reuse
[75] software products
paquet
[modifier | modifier le code][76] software package
Les logiciels sont "emballés" sous une forme qui facilite le transport avant d'être distribués aux utilisateurs. Pour un logiciel vendu en grande distribution, le colis (anglais package) est conçu pour permettre l'utilisation immédiate du logiciel sans l'intervention d'un informaticien. Il contient généralement le code objet des programmes, le nécessaire pour les installer et la documentation. Le colis est rarement vendu, et généralement mis à disposition assorti d'une licence d'utilisation. Le fournisseur peut y ajouter des services de formation, de maintenance, de mise à jour et de garantie, souvent sur paiement additionnel[41].
Pour l'acheteur un logiciel spécifique coûtera plus cher et la procédure sera plus longue. Il est généralement attendu un retour sur investissement plus important. Un logiciel standard demandera quant à lui, une adaptation des pratiques de travail de l'utilisateur. Des pratiques qui pourront difficilement être changées par la suite[42].
[78] deployment
le déploiement est un procédé en plusieurs étapes qui vise à placer un logiciel dans son environnement cible de manière à ce qu'il soit prêt à être utilisé. La première étape consiste à emballer (anglais package) un logiciel en vue de faciliter son envoi vers l'environnement cible. Puis une étape dite d´installation consiste à effectuer les opération nécessaires pour placer le logiciel dans son environnement cible, ceci peut nécessiter une modification de la configuration des logiciels déjà en place. L'opération de désinstallation consiste à effectuer les opérations inverse de l'installation, en vue de retirer le logiciel[43].
La procédure d'installation est typiquement automatisée par des logiciels - qui sont essentiellement des outils de décompression[43].
[79] version release
Un logiciel évolue durant toute sa vie, et est typiquement distribué plusieurs fois, à plusieurs stades de son évolution, appelés versions ou release[44].
[80] program vs software
[81] software consists of...
Logiciel n'est pas synonyme de programme informatique. Un logiciel un ensemble typiquement composé de plusieurs programmes, ainsi que tout le nécessaire pour les rendre opérationnels: fichiers de configuration, images bitmaps, procédures automatiques[45]. les programmes sont sous forme de code binaire ainsi que parfois sous forme de code source[44].
La différence entre logiciel standard et spécifique c'est que pour le premier le cahier des charges est créé et entretenu exclusivement par le fournisseur, tandis que pour un logiciel spécifique le cahier des charges est sous le contrôle de l'acheteur[45].
économie
[modifier | modifier le code][82] software industry
Les différents produits sur le marché du logiciel peuvent être classifiés de différentes manières[46]:
- En fonction de la manière dont ils interagissent avec le matériel, directement pour les logiciels système, ou indirectement pour les logiciels applicatifs et les middleware.
- en fonction de l'utilisation cible: les entreprises ou les particuliers.
- en fonction du niveau de standardisation. Les deux extrêmes étant le logiciel standard et le logiciel spécifique.
Il n'y a pas de distinction claire entre un logiciel standard et un logiciel spécifique et il existe un continuum entre ces deux extrêmes[46]:
- Un logiciel spécifique est construit dans le but de répondre à la demande d'un client en particulier, ce type de logiciel peut être créé par le département informatique de l'entreprises qui s'en sert, ou alors celle-ci fait appel à un éditeur de logiciel.
- Un logiciel standard est créé dans le but d'être vendu en grande distribution, et réponds au plus petit dénominateur commun des besoins de différents utilisateurs. Un logiciel standard s'adresse à un marché anonyme, parfois à la suite d'une expérience pilote répondant aux besoins spécifiques de certains consommateurs[46].
Les principaux procédés de commercialisation des logiciels sont la production sur mesure de logiciels spécifiques pour les entreprises, la vente de logiciels standard destinés aux entreprises et la vente de ces derniers aux particuliers[46].
- les logiciels vendus aux particuliers sont distribués dans la grande distribution, ou pré-installés dans le matériel informatique, le consommateur paye les frais uniques d'une licence d'utilisation. Ce procédé est apparu dans les années 1980.
- Pour les logiciels standards vendus aux entreprises, celles-ci contactent généralement directement des producteurs, les coûts des licences sont négociés, et sont souvent accompagnés de contrats de service en rapport avec la mise en place et l'utilisation du logiciel qui sont payés de manière régulière.
- Pour les logiciels spécifiques, le client contacte directement le producteur, et paie le coût de fabrication du produit. Les services additionnels sont souvent demandés par le client et font partie du contrat conclu avec le fournisseur. Ce procédé existe depuis 1960.
Tandis que les décisions d'achat des entreprises sont prises collectivement, la décision d'acquisition d'un logiciel par un particulier est souvent personnelle et tient compte autant de facteurs objectifs tels le prix, la valeur ajoutée, l'efficacité, que de facteurs subjectifs tels l'apparence visuelle, la facilité d'utilisation, ou la réputation de l'auteur, en particulier dans le domaine des jeux vidéo[46]. Les activités des entreprises du secteur du logiciel sont, outre de créer des logiciels, d'assurer l'installation du logiciel chez le client ainsi que son exploitation. Pour une entreprise comme SAP (numéro un du logiciel en Europe) l'installation de leurs logiciels et la formation des utilisateurs est une part non négligeable de leur activité[46].
Pour les produits numériques tels que les logiciels, la création de la première copie coûte très cher, tandis que les copies subséquentes coûtent très peu. Pour un logiciel, la création du code source demande un investissement important, sans aucune garantie de succès[46]. Une fois créé, un logiciel peut être copié sans perte de qualité, la copie étant strictement identique à l'original. Des outils de partage de fichiers en pair à pair sont utilisés pour copier, souvent illégalement, des logiciels, comme ça se fait dans le marché de la musique. Les logiciels couramment copiés sont ceux qui peuvent être utilisés tels quels par les particuliers - logiciels de bureautique ou jeux vidéo. Ces copies entrainent des manques à gagner pour les producteurs et ceux-ci incluent dans leurs produits des mécanismes de protection[46].
Les situations de monopole sont caractéristiques du secteur du logiciel: Il arrive souvent qu'une seule technologie ou un seul vendeur contrôle un pan du marché[46]. Le marché du logiciel est sujet à l'effet réseau: la popularité élevée d'un logiciel le rend d'autant plus intéressant pour l'acheteur. Ce phénomène renforce les fortes et grandes entreprises et fragilise les fragiles petites entreprises. Ce qui explique que les petites entreprises peu populaires doivent se battre pour survivre, et explique les situations de monopole[46]. L'adhésion des logiciels aux standards technologiques permet aux producteurs de profiter de l'effet réseau: le fait que plusieurs produits adhèrent au même standard facilite les échanges d'informations ce qui les rend plus intéressants pour l'utilisateur[46].
histoire
[modifier | modifier le code]L'industrie du logiciel a commencé dans les années 1950. Auparavant les constructeurs d'ordinateurs vendaient le logiciel (encore appelé code des programmes) avec le matériel[46]. Le mot software (en français logiciel) est apparu en 1959[46] et diverses entreprises spécialisées dans le logiciel ont été fondées dans les années 1960[46].
Les premiers éditeurs de logiciels travaillaient sur commande. Suite à une commande adressée par le client, la société fixait un prix pour la construction du logiciel ou pour la main d'oeuvre. Il a ensuite été constaté qu'un logiciel créé pour un client pouvait être utilisé par d'autres. C'est ainsi que sont apparus les logiciels standards, les tout premiers étaient des logiciels systèmes avant l'arrivée de logiciels applicatifs standards[46].
La vente de logiciels aux particuliers est apparue dans les années 1990, la stratégie pour ce type de commerce est dérivé de ce qui se fait pour les entreprises[46].
- (en)Ken England, Gavin JT Powell, Microsoft SQL Server 2005 Performance Optimization and Tuning Handbook,Digital Press - 2011, (ISBN 9780080554082)
- (en)Carlos Coronel, Steven Morris et Peter Rob,Database Systems: Design, Implementation, and Management,Cengage Learning - 2012, (ISBN 9781111969608)
- (en)S. K. Singh,Database Systems: Concepts, Design and Applications,Pearson Education India - 2009, (ISBN 9788177585674)
- (en)Gavin Powell,Beginning Database Design,John Wiley & Sons - 2006, (ISBN 9780764574900)
- (en)Tapio Lahdenmaki et Mike Leach,Relational Database Index Design and the Optimizers,John Wiley & Sons - 2005, (ISBN 9780471721369)
- (en)Uwe Hansmann,Pervasive Computing: The Mobile World,Springer - 2003, (ISBN 3540002189)
- (en)John Krumm,Ubiquitous Computing Fundamentals,CRC Press - 2009, (ISBN 1420093614)
- (en)Pasi Ahonen,Safeguards in a World of Ambient Intelligence,Springer - 2008, (ISBN 1402066627)
- (en)Gary B. Shelly et Misty E. Vermaat,Discovering Computers 17th Edition: Complete, Living in a Digital World,Cengage Learning - 2011, (ISBN 9781111530327)
- (en)Deborah Morley et Charles S. Parker,Understanding Computers: Today & Tomorrow, 2009 Upate: Today and Tomorrow,Cengage Learning - 2009, (ISBN 9780324830132)
- (en)Rachel Pasqua et Noah Elkin,Mobile Marketing: An Hour a Day,John Wiley & Sons - 2012, (ISBN 9781118588291)
- (en)David A. Patterson, John L. Hennessy,Computer Organization and Design: The Hardware/Software Interface,Newnes, 2013, (ISBN 9780124078864)
- (en)Uwe Hansmann,Pervasive Computing: The Mobile World,Springer - 2003, (ISBN 9783540002185)
- (en)David A. Patterson, John L. Hennessy,Computer Organization and Design: The Hardware/Software Interface,Newnes, 2013, (ISBN 9780124078864)
- (en)Ralph Stair,Principles of Information Systems, 11th ed.,Cengage Learning, 2012, (ISBN 9781133629665)
- diagonale écran
- (en)Mark Bauhaus,Mobile Device Security For Dummies,John Wiley & Sons - 2011, (ISBN 9781118093801)
- « Baccalauréat en informatique appliquée - Université de Moncton »
- « <Diplôme de deuxième cycle en informatique appliquée - UQAC »
- « Certificat en informatique appliquée - TELUQ »
- (en)Tony Greening,Computer Science Education in the 21st Century,Springer - 2000, (ISBN 9780387988818)
- (en)Kenneth E. Hoganson,Concepts in Computing,Jones & Bartlett Learning - 2007, (ISBN 9780763742959)
- (en)J. E. Doran,Mathematics and Computers in Archaeology,Harvard University Press - 1975, (ISBN 9780674554559)
- « Software engineering programs are not computer science »
- (en)June Jamrich Parsons et Dan Oja,New Perspectives on Computer Concepts 2013,Cengage Learning - 2012, (ISBN 9781133190585)
- (en)James A. White,Just the Computer Essentials: A Plain-english, No-nonsense Guide to Buying and Maintaining a PC Running the Windows Vista Operating System for Your Home Or Home Office,IROL Press LLC - 2007, (ISBN 9780979297168)
- (en)Dennis E. Adonis,Mastering Information Technology for CXC CSEC CAPE
- (en)Santiago Remacha Esteras,Infotech Teacher's Book,Cambridge University Press -2008, (ISBN 9780521703000)
- (en)Zenon W. Pylyshyn, Liam Bannon,Perspectives on the Computer Revolution,Intellect Books - 1989, (ISBN 9780893913694)
- (en)Nick Higgins,Office Work - A Questions and Answers Careers Book Series,Crimson Publishing - 2002, (ISBN 9780856607752)
- (en)Zenon W. Pylyshyn, Liam Bannon,Perspectives on the Computer Revolution,Intellect Books - 1989, (ISBN 9780893913694)
- (en)Nick Higgins,Office Work - A Questions and Answers Careers Book Series,Crimson Publishing - 2002, (ISBN 9780856607752)
- (en)Gregory Anderson,The White-blouse Revolution: Female Office Workers Since 1870,Manchester University Press - 1988, (ISBN 9780719024009)
- (en)United States. Congress. Office of Technology Assessment,Automation of America's Offices, 1985-2000, Volume 1,DIANE Publishing - 1985, (ISBN 9781428923317)
- (en)Dan Gookin,PCs For Dummies,John Wiley & Sons - 2011, (ISBN 9781118051504)
- (en)June Jamrich Parsons et Dan Oja,New Perspectives on Computer Concepts 2013: Comprehensive,Cengage Learning - 2012, (ISBN 9781133190561)
- (en)United States. Congress. Office of Technology Assessment,Finding a balance: computer software, intellectual property, and the challenge of technological change,DIANE Publishing, (ISBN 9780160361883)
- (en)Kirk St. Amant - Brian Still,Handbook of Research on Open Source Software: Technological, Economic, and Social Perspectives,Idea Group Inc (IGI), 2007, (ISBN 9781591408925)
- (en)Eric S. Raymond, The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary,O'Reilly Media - 2008, (ISBN 9780596553968)
- (en)K. L. JAMES,SOFTWARE ENGINEERING,PHI Learning Pvt. Ltd. - 2008, (ISBN 9788120335899)
- (en)United States. National Bureau of Standards,Introduction to Software Packages,Sheila Frankel, 1984
- (en)Ivica Crnkovic et Magnus Peter Henrik Larsson, Building Reliable Component-based Software Systems,Artech House - 2002, (ISBN 9781580535588)
- (en)Roger Lee,Software Engineering Research, Management and Applications,Springer - 2008, (ISBN 9783540707745)
- (en)Bharat Bhushan Agarwal, Sumit Prakash Tayal,Software Engineering,Firewall Media, (ISBN 9788131802151)
- (en)Ian Sommerville,International computer science series,Pearson Education - 2007, (ISBN 9780321313799)
- (en)Peter Buxmann - Heiner Diefenbach et Thomas Hess,The Software Industry: Economic Principles, Strategies, Perspectives,Springer - 2012, (ISBN 9783642315091)