2015 Présentation : Choix de solution technique Les langages de programmation A1.2.1, Élaboration et présentation d'un dossier de choix de solution technique A1.2.2, Rédaction des spécifications techniques de la solution retenue Mickael DAHAN-Dan Nabet-KIPAKA Héritier ERDF 01/05/2015 Sommaire Les langages informatique ..................................................................................................................3 1- Introduction ............................................................................................................................3 2- Définition de la notion de langages de programmation ...........................................................3 3- 10 des langages de programmation les plus utilisés au monde ................................................3 3.1- Le Java .....................................................................................................................................3 3.2 - Le langage C ............................................................................................................................4 3.3 - Le C++ .....................................................................................................................................4 3.4 - L’Objective-C ...........................................................................................................................5 3.5 - Le C# .......................................................................................................................................5 3.6 - Le PHP.....................................................................................................................................6 3.7 - Le Python ................................................................................................................................6 3.8 - Le Ruby ...................................................................................................................................7 3.9 - Le SQL ....................................................................................................................................7 3.10 - Le JavaScript ........................................................................................................................8 4- Rédaction des spécifications techniques de la solution retenue ...............................................8 4.1 - La solution retenue ................................................................................................................8 4.2 Avantages .................................................................................................................................9 4.3 Inconvénients.......................................................................................................................... 10 4.3 Les langages "serveur" ............................................................................................................ 11 KIPAKA - Solution Technique Projet « SecFacture » 2 Les langages informatique 1- Introduction Le choix d'un langage de programmation pour une tâche de développement logiciel est souvent un choix difficile et qui suscite des débats passionnés. Utiliserons-nous Java ? Perl ? PHP? Python ? Ces débats sont parfois qualifiés de « religieux » du fait de l'enthousiasme qu'y mettent leurs participants, et de la rapidité avec laquelle ils écrasent les alternatives (« Java est le standard de l'industrie » ou « Python est trop lent ») sans trop chercher à collecter des faits précis. 2- Définition de la notion de langages de programmation Un langage de programmation est un langage permettant de formuler des algorithmes et de produire des programmes informatiques qui appliquent ces algorithmes. 3- 10 des langages de programmation les plus utilisés au monde 3.1- Le Java C’est quoi ? Le Java est un langage de programmation orienté objet qui a été développé par Sun Microsystems dans les années 90. C’est l’un des langages de programmation les plus populaires, devenu un standard chez les programmes d’entreprise, dans les contenus et jeux Web ou encore les applications mobiles. C’est également le langage de programmation utilisé pour le système d’exploitation mobile Android. Le Java est fait pour travailler sur de nombreuses plateformes : un programme codé sur Mac OS X pourrait par exemple fonctionner sur Windows. Par où commencer ? Apprendrejava.be ; Openclassrooms.com ; java.developpez.com KIPAKA - Solution Technique Projet « SecFacture » 3 3.2 - Le langage C C’est quoi ? Le langage C est le langage de programmation le plus vieux et le plus utilisé au monde, créé dans les années 70. Il pose les bases de nombreux autres langages, comme le C#, le Java… il est donc conseillé de s’y intéresser de près. Le C est principalement utilisé pour intégrer des systèmes d’opérations et des applications incrustées dans des pages Web. Par où commencer ? C.developpez.com ; Openclassrooms.com ; Apprendreinformatique.com 3.3 - Le C++ C’est quoi ? Le C++ est un langage de niveau intermédiaire qui possède des fonctions orientées objet et qui était à l’origine fait pour améliorer le langage C. Le C++ est le moteur de nombreux programmes très connus comme Firefox, Winamp ou encore ceux de la KIPAKA - Solution Technique Projet « SecFacture » 4 suite Adobe. Il est utilisé pour développer des applications, des systèmes d’exploitation, des serveurs et clients internet très performants ou encore des jeux vidéo. Par où commencer ? Sites.univ-provence.fr ; Cpp.developpez.com ; Openclassrooms.com 3.4 - L’Objective-C C’est quoi ? L’Objective-C est un langage de programmation généraliste et orienté objet utilisé par les systèmes d’exploitation et applications Apple. Il fait fonctionner OS X et iOS ainsi que leurs interfaces de programmation. Il peut ainsi être utilisé pour développer des applications iPhone, ce qui a généré un engouement massif pour ce langage de programmation qui a longtemps été considéré comme démodé. Par où commencer ? Openclassrooms.com ; Objective-c.developpez.com ; Fr.tuto.com 3.5 - Le C# C’est quoi ? Le C#, prononcer « C sharp », est un langage de programmation à paradigmes multiples développé par Microsoft via la .NET initiative. Il combine des principes du C et KIPAKA - Solution Technique Projet « SecFacture » 5 du C++ et est un langage généraliste utilisé pour développer des logiciels pour Microsoft et les plateformes Windows. Par où commencer ? Unity3D-dev.com ; Dotnet.developpez.com ; Openclassrooms.com 3.6 - Le PHP C’est quoi ? Le PHP (pour Hypertext Processor) est un langage de programmation libre utilisé pour le développement de sites Internet et d’applications dynamiques. Il peut être directement incrusté dans des documents HTML plutôt que par un fichier externe, ce qui l’a rendu très populaire chez les développeurs Web. Le PHP fait fonctionner plusieurs millions de sites Internet (environ 200 millions), notamment WordPress et Facebook. Par où commencer ? Apprendre-php.com ; Openclassrooms.com ; Lephpfacile.com 3.7 - Le Python C’est quoi ? Le Python est un langage de programmation de haut niveau utilisé pour les sites Internet et les applications mobiles. Il est considéré comme un langage plutôt facile à maîtriser pour les débutants grâce à sa syntaxe compacte et parce qu’il est très lisible, ce qui permet aux développeurs d’utiliser moins de lignes de code pour exprimer une fonction qui en KIPAKA - Solution Technique Projet « SecFacture » 6 aurait nécessité plus dans d’autres langages. Il fait fonctionner les applications Web d’Instagram, Pinterest et est utilisé par Google, Yahoo! et même la NASA ! Par où commencer ? Openclassrooms ; Python.developpez.com ; Framasoft.net 3.8 - Le Ruby C’est quoi ? Le Ruby est un langage orienté objet utilisé pour développer des sites Internet et des applications mobiles, créé pour être simple et facile à écrire. Il fait fonctionner le Ruby on Rails. Comme le Python, le Ruby est considéré comme étant un langage de programmation idéal pour les néophytes. Par où commencer ? Jeveuxapprendreruby.fr ; Ruby-lang.org ; Ruby.developpez.com 3.9 - Le SQL C’est quoi ? Le Structured Query Language (SQL) est un langage spécialisé pour gérer les données en relation avec une base de données de systèmes de management. Il est plus communément utilisé pour ses fonctions de requêtes, qui cherchent des informations dans les bases de données. KIPAKA - Solution Technique Projet « SecFacture » 7 Par où commencer ? Sql.sh ; Sql.developpez.com ; Oseox.fr 3.10 - Le JavaScript C’est quoi ? Le JavaScript est un langage de programmation développé par Netscape dont la syntaxe est un dérivé du C. Il peut être utilisé d’un navigateur Internet à un autre et est considéré comme essentiel dans le développement de fonctionnalités Web interactives et/ou animées. Il peut également être utilisé dans le développement de jeux. De nombreux « interprètes » du JavaScript sont directement intégrés dans les extensions de Chrome, Safari, Adobe Acrobat et la suite créative d’Adobe. Par où commencer pour apprendre a développer ? Openclassrooms ; Lehtml.com ; Javascript.developpez.com Bien sûr, il existe d’autres langages de programmation qui pourraient vous être utiles mais ceux que nous venons de vous présenter vous permettront de créer selon vos envies. À la rédaction, beaucoup n’ont pas eu la chance de se familiariser avec l’un de ces langages de programmation et il faut bien avouer que la simple vue de lignes de code leur donne facilement mal à la tête ! Mais ils aimeraient bien prendre le temps d’en savoir plus sur ces outils qui façonnent le monde d’aujourd’hui. Cela vous a-t-il motivé pour donner vie à vos idées ? 4- Rédaction des spécifications techniques de la solution retenue 4.1 - La solution retenue KIPAKA - Solution Technique Projet « SecFacture » 8 Nous avons choisi le langage de programmation PHP version 5.4.3 pour le projet « Secfacture ». Ce qui distingue PHP des langages de script comme le Javascript, est que le code est exécuté sur le serveur, générant ainsi le HTML, qui sera ensuite envoyé au client. Le client ne reçoit que le résultat du script, sans aucun moyen d'avoir accès au code qui a produit ce résultat. Vous pouvez configurer votre serveur web afin qu'il analyse tous vos fichiers HTML comme des fichiers PHP. Ainsi, il n'y a aucun moyen de distinguer les pages qui sont produites dynamiquement des pages statiques. Le grand avantage de PHP est qu'il est extrêmement simple pour les néophytes, mais offre des fonctionnalités avancées pour les experts. Ne craignez pas de lire la longue liste de fonctionnalités PHP. Vous pouvez vous plonger dans le code, et en quelques instants, écrire des scripts simples. 4.2 Avantages KIPAKA - Solution Technique Projet « SecFacture » 9 4.3 Inconvénients A l'origine du Web, le HTML était le seul langage existant. Il présente l'avantage d'être relativement simple à maîtriser et de produire des pages très légères et rapides à transmettre, même lorsque le débit est faible. Mais les possibilités initiales de ce langage de description de page étaient très limitées et ne permettaient qu'une mise en page sans aucune saveur. L'apparition des feuilles de style (CSS) en 1994 permet d'ajouter de la couleur ainsi que de nombreuses autres possibilités en minimisant toujours la taille des données à transmettre. Les CSS s'utilisent en complément du langage HTML ou XHTML. KIPAKA - Solution Technique Projet « SecFacture » 10 4.3 Les langages "serveur" Les utilisateurs du Web, toujours plus exigeant, réclament davantage encore. En 1995, le langage PHP (Personal Home Page Tools) propose un concept novateur : le serveur qui héberge le site sera désormais capable d'exécuter des scripts (des petits programmes) qui vont fabriquer ou modifier la page HTML juste avant de l'envoyer à l'internaute. Pour prendre un exemple, lorsque vous faites une recherche à l'aide de Google, la page de résultats qui vous est envoyée a été fabriquée "à la volée" et n'existait pas telle quelle sur le serveur de Google. Le PHP s'est très vite développé pour intégrer de nouvelles fonctionnalités et accepter des nouveaux modules tels que SQL (gestion de bases de données). Un site qui propose des pages générées à l'aide d'un langage serveur est appelé site "dynamique". A contrario, un site proposant des pages HTML qui existent telles quelles sur son disque est appelé site "statique". Au lieu d'utiliser des tonnes de commandes afin d'afficher du HTML (comme en C ou en Perl), les pages PHP contiennent des fragments HTML dont du code qui fait "quelque chose" (dans ce cas, il va afficher "Bonjour, je suis un script PHP !"). Le code PHP est inclus entre une balise de début <?php et une balise de fin ?> qui permettent au serveur web de passer en mode PHP. KIPAKA - Solution Technique Projet « SecFacture » 11