Skip to main content
Global

3.4 : Création de logiciels

  • Page ID
    166969
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Nous venons de discuter des différents types de logiciels et nous pouvons maintenant nous demander : comment les logiciels sont-ils créés ? Si le logiciel est l'ensemble d'instructions qui indique au matériel ce qu'il doit faire, comment ces instructions sont-elles écrites ? Si un ordinateur lit tout comme un et zéro, devons-nous apprendre à écrire des logiciels de cette façon ? Heureusement, un autre type de logiciel est écrit, en particulier pour les développeurs de logiciels qui souhaitent écrire des logiciels système et des applications, appelés langages de programmation. Les personnes qui peuvent programmer sont appelées programmeurs informatiques ou développeurs de logiciels.

    À l'instar d'un langage humain, un langage de programmation se compose de mots-clés, de commentaires, de symboles et de règles grammaticales pour construire des instructions sous forme d'instructions valides compréhensibles par l'ordinateur pour effectuer certaines tâches. En utilisant ce langage, un programmeur écrit un programme (appelé code source). Un autre logiciel traite ensuite le code source pour convertir les instructions de programmation en une forme lisible par machine, les uns et les zéros nécessaires à l'exécution du processeur. Ce processus de conversion est souvent appelé compilation, et le logiciel est appelé compilateur. La plupart du temps, la programmation se fait dans un environnement de programmation ; lorsque vous achetez une copie de Visual Studio auprès de Microsoft, cela fournit aux développeurs un éditeur pour écrire le code source, un compilateur et de l'aide pour de nombreux langages de programmation de Microsoft. Parmi les langages de programmation les plus connus aujourd'hui, citons Java, PHP et les différentes versions de C (Visual C, C++, C#.)

    Behaviorism_1.gif
    Figure\(\PageIndex{1}\) : Convertir un programme informatique en exécutable. L'image de Ly-Huong T. Pham est sous licence CC-BY-NC

    Des milliers de langages de programmation ont été créés depuis le premier langage de programmation en 1883 par une femme nommée Ada Lovelace. L'une des anciennes langues de type anglais appelée COBOL est utilisée depuis les années 1950 jusqu'à nos jours dans les services que nous utilisons encore aujourd'hui, tels que les systèmes de paie et de réservation. Le langage de programmation C a été introduit dans les années 1970 et est resté un choix populaire. Certains nouveaux langages tels que C# et Swift prennent également de l'ampleur. Les programmeurs sélectionnent le langage le mieux adapté au problème à résoudre pour une plate-forme de système d'exploitation donnée. Par exemple, des langages tels que HTML et JavaScript sont utilisés pour développer des pages Web.

    Il est difficile de déterminer quelle langue est la plus populaire car elle varie. Cependant, selon TIOBE Index, l'une des entreprises qui classent la popularité des langages de programmation tous les mois, les cinq premières en août 2020 sont C, Java, Python, C++ et C# (2020). Pour plus d'informations sur cette méthodologie, veuillez consulter la page de définition du TIOBE . Pour ceux qui souhaitent en savoir plus sur la programmation, Python est un bon premier langage à apprendre, car il s'agit non seulement d'un langage moderne pour le développement Web, mais il est également simple à apprendre et couvre de nombreux concepts fondamentaux de la programmation qui s'appliquent à d'autres langages.

    Une personne peut écrire certains programmes. Cependant, la plupart des logiciels sont écrits par de nombreux développeurs. Par exemple, il faut des centaines d'ingénieurs logiciels pour écrire Microsoft Windows ou Excel. Pour s'assurer que les équipes peuvent fournir des logiciels de qualité en temps voulu avec le moins d'erreurs, également appelées bogues, des méthodologies formelles de gestion de projet sont utilisées, un sujet que nous aborderons dans le chapitre 10.

    Logiciels open source et logiciels à code source fermé

    Lorsque l'ordinateur personnel a été lancé pour la première fois, les passionnés d'informatique se sont immédiatement regroupés pour créer des applications et résoudre des problèmes. Ces passionnés d'informatique étaient heureux de partager les programmes qu'ils avaient créés et les solutions aux problèmes qu'ils avaient découverts ; cette collaboration leur a permis d'innover plus rapidement et de résoudre les problèmes.

    Cependant, lorsque les logiciels ont commencé à devenir une activité commerciale, cette idée de tout partager est tombée en disgrâce pour certains. Lorsqu'un logiciel met des centaines d'heures à se développer, il est compréhensible que les programmeurs ne veuillent pas le donner. Cela a conduit à un nouveau modèle commercial de licences logicielles restrictives, qui exigeait le paiement du logiciel au propriétaire, un modèle qui domine toujours aujourd'hui. Ce modèle est parfois appelé source fermée, car le code source reste la propriété privée et n'est pas mis à la disposition d'autres personnes. Microsoft Windows, Excel, Apple iOS sont des exemples de logiciels à code source fermé.

    Cependant, nombreux sont ceux qui pensent que les logiciels ne devraient pas être soumis à des restrictions. Comme les premiers amateurs des années 1970, ils estiment que l'innovation et le progrès peuvent être réalisés beaucoup plus rapidement si nous partageons ce que nous apprenons. Dans les années 1990, alors que l'accès à Internet connectait de plus en plus de personnes, le mouvement open source a pris de l'ampleur.

    Un logiciel open source est un logiciel dont le code source peut être copié et utilisé par tous. Pour les non-programmeurs, il ne sera pas très utile à moins que le format compilé ne soit également mis à la disposition des utilisateurs. Cependant, pour les programmeurs, le mouvement open source a conduit au développement de certains des logiciels les plus utilisés au monde, notamment le navigateur Firefox, le système d'exploitation Linux et le serveur Web Apache.

    Certaines personnes craignent que les logiciels open source ne soient vulnérables aux risques de sécurité étant donné que le code source est disponible. D'autres rétorquent qu'étant donné que le code source est disponible gratuitement, de nombreux programmeurs ont contribué à des projets logiciels open source, en réduisant les bogues, en ajoutant des fonctionnalités et en corrigeant les bogues beaucoup plus rapidement que les logiciels à code source fermé.

    De nombreuses entreprises se méfient des logiciels open source précisément parce que le code est accessible à tous. Ils estiment que cela augmente le risque d'attaque. D'autres rétorquent que cette ouverture réduit le risque car le code est exposé à des milliers de programmeurs qui peuvent intégrer des modifications de code pour corriger rapidement des vulnérabilités.

    En résumé, certains avantages du modèle open source sont les suivants :

    • Le logiciel est disponible gratuitement.
    • Le code source du logiciel est disponible ; il peut être examiné et révisé avant son installation.
    • La vaste communauté de programmeurs qui travaillent sur des projets open source permet de corriger rapidement des bogues et d'ajouter des fonctionnalités.

    Certains avantages du modèle à code source fermé sont les suivants :

    • Fournir une incitation financière aux développeurs de logiciels ou aux entreprises
    • Support technique de la société qui a développé le logiciel.

    Aujourd'hui, des milliers d'applications logicielles open source sont disponibles en téléchargement. Open Office Suite est un exemple de logiciel de productivité open source. Sourceforge.net est un bon endroit pour rechercher des logiciels open source, où des milliers d'applications logicielles sont disponibles en téléchargement gratuit.

    Licences logicielles

    Les entreprises ou les développeurs sont propriétaires des logiciels qu'ils créent. Le logiciel est protégé par la loi par des brevets, des droits d'auteur ou des licences. Il appartient aux propriétaires du logiciel d'accorder à leurs utilisateurs le droit d'utiliser le logiciel conformément aux termes des licences.

    Pour les fournisseurs de solutions fermées, les conditions varient en fonction du prix que les utilisateurs sont prêts à payer. Les exemples incluent un utilisateur unique, une installation unique, plusieurs utilisateurs, plusieurs installations, par réseau ou par machine.

    Ils ont des niveaux d'autorisation spécifiques que les fournisseurs open source peuvent accorder en utilisant le code source et définissent les conditions de version modifiées. Les exemples incluent la distribution gratuite, le remix, l'adaptation pour un usage non commercial, mais à condition que le code source récemment révisé soit également concédé sous licence selon des termes identiques. Bien que les fournisseurs de logiciels libres ne gagnent pas d'argent en facturant leurs logiciels, ils génèrent des revenus grâce à des dons ou à la vente de support technique ou de services connexes. Par exemple, Wikipédia est une encyclopédie à contenu libre en ligne très populaire utilisée par des millions d'utilisateurs. Pourtant, elle compte principalement sur les dons pour soutenir son personnel et ses infrastructures.

    Référence

    Indice TIOBE pour août 2020. Consulté le 4 septembre 2020 sur https://www.tiobe.com