Pour programmer un logiciel, vous devrez d'abord consacrer un temps non négligeable à l'apprentissage d'un langage de programmation et quelles que soient les difficultés que vous éprouverez, ne vous découragez pas et gardez à l'esprit que beaucoup de programmeurs renommés sont autodidactes. Une fois que vous arriverez à penser comme un programmeur et que vous aurez assimilé les bases et les concepts d'un langage, vous pourrez commencer à créer de petites applications sans y investir trop de temps. L'expérience s'ajoutant aux efforts de votre apprentissage vous permettra de savoir aborder puis résoudre des problèmes de plus en plus « pointus ». Vous pourrez alors envisager de créer votre application.
Étapes
-
Choisissez un langage pour démarrer. Si vous n'avez jamais programmé auparavant, vous devrez vous limiter à un langage qui soit abordable pour vos débuts, mais sans perdre de vue qu'il devra vous permettre d'atteindre vos objectifs. Vous n'aurez que l'embarras du choix pour décider de vous plonger dans l'apprentissage d'un langage de programmation s'appliquant parfaitement au domaine d'applications que vous voulez aborder [1] X Source de recherche .
- Le C est le « doyen » des langages de programmation généraliste. Malgré son âge, il reste un des langages les plus utilisés à ce jour. Pratiquement tous les systèmes d'exploitation ont été élaborés au moyen du langage C. Ce langage a été conçu pour être portable et il peut être utilisé aussi bien sur des serveurs que sur des ordinateurs de bureau ou des dispositifs embarqués. Le C est aussi un langage dit « procédural » servant à la programmation de « haut niveau » aussi bien qu'à l'accès direct au matériel si besoin est. Apprendre le C vous permettra d'avoir par la suite une approche relativement aisée du C++ et de Java.
- Le langage C++ est l'héritier le plus puissant du C auquel il emprunte une grande partie de sa syntaxe et de sa philosophie, mais il lui ajoute entre autres le concept de programmation orientée objets ou POO . Le C++ est souvent utilisé dans le domaine de la création d'applications « lourdes » telles que Microsoft Office ou les jeux vidéos où il est prisé pour la vitesse des exécutables qu'il produit. Vous devrez consacrer beaucoup de temps à la maitrise du C++, mais cela vous apportera des opportunités professionnelles des plus intéressantes par la suite.
- Java utilise une syntaxe apparentée au C et au C++. Java est un langage de « haut niveau » totalement orienté objets fonctionnant dans un environnement d'exécution virtuel devant être installé sur le système d'exploitation où il sera utilisé et où il est totalement fait abstraction du matériel. Ce langage aux applications multiples est très demandé sur le marché du travail.
- Le Python est un langage interprété open source. Facile à assimiler, il est de plus en plus adopté dans les établissements d'enseignement secondaire et supérieur ainsi que dans les milieux scientifiques. Ses concepteurs l'ont doté d'un nombre impressionnant de bibliothèques de fonctions permettant de résoudre la plupart des problèmes de programmation, qu'il s'agisse d'applications tournant sur des ordinateurs de bureaux ou sur des serveurs à l'aide de frameworks spécifiques. Python est très intéressant en développement parce que vous pourrez tester « à la volée » le code que vous saisissez sans avoir à le compiler.
-
Installez un environnement de développement. Pour commencer à écrire du code, vous aurez besoin de quelques outils logiciels, groupés la plupart du temps sous la forme d'un environnement de développement . Vos besoins précis dépendront essentiellement du langage que vous utiliserez.
- Un éditeur de code : tous les programmeurs apprécieront de travailler sur un éditeur dédié au langage de leur choix. Bien que vous puissiez travailler sur l'éditeur élémentaire livré avec votre système, comme Notepad sous Windows, vous trouverez la vie bien plus facile si vous en utilisez un qui vous apporte certaines fonctionnalités comme la coloration syntaxique, l'appel d'outils externes de compilation, d'exécution ou de déverminage. Parmi ceux-ci, vous trouverez Notepad++ pour Windows, TextMate sous Mac ou encore Jedit et Geany qui sont téléchargeables pour tous les systèmes.
- Un compilateur ou un interpréteur : le code source produit en C, C++ ou Java doit être compilé en un langage exécutable ou binaire qui soit compris par l'ordinateur. Vous aurez besoin dans ces cas d'un compilateur adapté au langage dans lequel vous codez. La plupart des compilateurs, en plus d'effectuer leur tâche principale, vous sortiront une liste des erreurs ou des bogues trouvés. Python, quant à lui, nécessitera un interpréteur , qui permettra la traduction et l'exécution simultanées de votre code sans requérir de compilation.
- Un EDI ou Environnement de Développement Intégré : certains langages de programmation bénéficient d'un environnement où sont intégrés tous les outils dont vous aurez besoin, incluant l'éditeur, le compilateur et parfois un débogueur . Ces environnements sont disponibles sur les sites web des éditeurs du langage.
-
Lisez des tutoriels. Si vous n'avez jamais programmé auparavant, vous devrez, dès le début, apprendre à penser comme un programmeur. Recherchez essentiellement pour vos débuts des tutoriels généralistes vous introduisant aux principaux concepts de la programmation au moyen du langage que vous avez choisi. Ceci doit inclure les concepts majeurs tels que la syntaxe, les variables, les fonctions, les instructions conditionnelles, les boucles et la manière de conjuguer le tout.
-
Téléchargez des échantillons et des programmes open source. Décortiquer des échantillons de code vous aidera dans la compréhension des mécanismes utilisés pour l'accomplissement de certaines tâches au moyen du langage de votre choix. Il existe un grand nombre d'échantillons et de petits programmes open source dont vous pourrez télécharger le code afin de le décortiquer. Démarrez avec des programmes simples relationnés si possible au type d'application que vous voulez construire.
-
Créez des programmes simples pour apprendre les bases. Lorsque vous commencerez à écrire votre propre code, faites-le en appliquant les concepts les plus élémentaires. Écrivez quelques petits programmes en utilisant les entrées et sorties les plus simples puis complexifiez peu à peu les mécanismes pour en décortiquer le fonctionnement, jusqu'à en arriver à des concepts plus poussés comme les manipulations de données et la création de fonctions. N'hésitez pas à faire des essais sous toutes leurs formes, jusqu'à casser vos programmes s'il le faut.
-
Inscrivez-vous sur des forums de programmeurs. Pouvoir s'adresser à des programmeurs ayant de l'expérience au sujet d'un problème que vous rencontrez vous apportera beaucoup. Vous trouverez un grand nombre de communautés de programmeurs ayant acquis une grande expérience et qui sont passionnés par leur langage de prédilection qui est aussi celui que vous avez choisi d'apprendre. Inscrivez-vous sur quelques forums actifs et lisez tout ce que vous pourrez. N'ayez pas peur de poser des questions , mais soyez sûr, avant de le faire, d'avoir tout essayé de votre côté pour tenter d'apporter une solution à votre problème.
-
Comprenez que l'apprentissage d'un langage peut parfois être fastidieux. Ne vous découragez pas, la route du succès est toujours semée d'embuches et personne n'a jamais réussi à écrire un programme un tant soit peu complexe du jour au lendemain, sauf les vantards. Apprendre comment utiliser correctement un langage de programmation vous demandera beaucoup de temps et de patience, mais vous vous rendrez peu à peu compte que vous gagnez en efficacité, jusqu'au jour où vous serez capable de vous attaquer à des réalisations plus sophistiquées [4] X Source de recherche .Publicité
-
Concevez votre projet sur le papier. Il sera très utile de vous créer un document descriptif auquel vous référer lors du processus de programmation. Ce document décrira les buts de votre programme et en détaillera les fonctionnalités. Cela vous permettra de rester concentré sur les fonctions de votre programme pendant tout le processus de codage.
- Le document de conception devra traiter de chacune des fonctionnalités que vous voulez mettre en application ainsi que de la façon dont vous les implémenterez.
- Vous devrez prendre en considération les interactions possibles avec un utilisateur lors du déroulement du programme ainsi que la façon dont ce dernier pourra effectuer son travail avec le programme.
-
Établissez un diagramme de flux de votre programme. Ce diagramme devra mettre en évidence la façon dont l'utilisateur pourra naviguer d'une fonction du programme à l'autre. Un diagramme de flux devrait suffire si votre application reste assez simple.
-
Déterminez la structure applicable à votre programme. Les buts de votre programme vous dicteront l'architecture à lui appliquer. Savoir quelle structure s'applique le mieux à votre programme vous aidera pour la suite du développement [5] X Source de recherche .
-
Commencez avec un programme de type 1-2-3 . C'est la structure la plus simple qui soit applicable à un programme et vous vous sentirez à l'aise avec votre langage. Techniquement, le programme va démarrer, demander une entrée ou une action à l'utilisateur et afficher un résultat puis s'arrêter.
- Après la structure 1-2-3 vient le REPL . REPL est l'abréviation de Read-Execute-Print-Loop ou Lire-Exécuter-Afficher-Boucler . Il s'agit à la base du même flux d'actions que celui qui est défini dans la structure 1-2-3 , à ceci près que l'étape 3 étant terminée, le programme retourne en boucle à l'étape 1 .
- Évaluez la nécessiter d'utiliser une structure en Pipeline . Il s'agit d'une structure complexe qui modifie les entrées fournies par l'utilisateur et tourne en boucle continue. Ce genre de structure est applicable à des programmes ne nécessitant que très peu d'actions de l'utilisateur, comme le traitement d'un flux RSS. Ces structures sont généralement écrites sous la forme d'un nombre variable de classes partageant une même boucle.
Publicité
-
Concentrez votre attention sur une fonctionnalité. Un prototype est généralement axé sur une seule des fonctions principales d'un programme. Si vous créez un organiseur personnel, votre prototype sera essentiellement constitué par un calendrier sur lequel vous ajouterez peu à peu des fonctions évènementielles.
-
Travaillez jusqu'à ce que le prototype fonctionne. Il doit fonctionner en tant que programme autonome et constituera la base de tout ce qui lui sera ajouté par la suite. C'est la raison pour laquelle vos efforts doivent être concentrés sur ce prototype jusqu'à ce qu'il fonctionne sans aucun défaut.
- Un prototype vous permettra d'effectuer rapidement des modifications que vous testerez les unes après les autres.
- Faites aussi tester votre prototype par d'autres personnes afin d'être certain qu'il fonctionne correctement.
- Attendez-vous à des changements considérables de votre prototype pendant vos travaux de développement.
-
N'ayez pas peur de casser votre prototype. L'expérimentation est la seule raison d'être d'un prototype. Elle vous permet de vérifier la faisabilité de toutes les fonctionnalités d'un programme avant de vous plonger dans le codage. S'il cesse de fonctionner et que vous n'en trouvez pas la raison, abandonnez-le et reprenez la phase de conception. Cela vous épargnera du temps et bien des maux de tête.Publicité
-
Créez un algorithme défini sous la forme d'un pseudocode . Ce sera le squelette de votre projet sur lequel s'articulera le reste de votre développement. Le pseudocode n'est qu'une approche du code réel, mais il ne peut n’être ni compilé ni interprété par l'ordinateur. Il est essentiellement conçu pour aider les programmeurs à comprendre le fonctionnement du logiciel et analyser tous les évènements qui pourront se produire lors de son déroulement.
- Le pseudocode fait grossièrement référence à la syntaxe du langage de programmation qui sera utilisé et doit être structuré de la même manière que le serait du code réel.
-
Développez votre pseudocode sur la base du prototype. Vous pouvez utiliser le prototype existant comme base de votre pseudocode. Vous pouvez aussi adapter le code utilisé dans le prototype dans une structure étendue à votre programme final. Quoi qu'il en soit, ne perdez pas le temps que vous avez déjà passé à faire fonctionner votre prototype.
-
Commencez à coder. Vous en arrivez maintenant au « plat de résistance ». C'est cette étape du développement qui consommera la plus grande partie de votre temps. Vous devrez effectuer un grand nombre de compilations et d'essais pour vérifier que votre programme fonctionne. Si vous travaillez en équipe, coder sur la base d'un pseudocode aidera à une bonne coordination entre tous les participants.
-
Commentez tout votre code source. Utilisez les balises de commentaires admises par votre langage de programmation. L'ajout de commentaires dans un code source représentera une aide précieuse pour vous-même et toutes les personnes qui auront à revenir ultérieurement sur la maintenance du programme. Ne noyez pas le code source dans les commentaires : décrivez l'action de chaque module ou fonction du programme et placez davantage d'explications lorsque vous aborderez un mécanisme complexe.Publicité
-
Vérifiez toutes les fonctionnalités ajoutées à votre logiciel. Chacune des nouvelles fonctionnalités ajoutées à votre programme doit être compilée et essayée. Plus de personnes participeront à ces tests, plus il vous sera facile de détecter les erreurs. Vous devrez informer au préalable les participants à cette phase de tests que votre programme n'est encore qu'une version de développement et qu'ils doivent s'attendre à des erreurs assez sérieuses.
- Cette première version de test d'un programme est généralement appelée version alpha . Vous pourrez décider de publier plusieurs versions alpha au fur et à mesure des corrections que vous lui apporterez.
-
Vérifiez l'implémentation de toutes les fonctionnalités prévues. Une fois que vous aurez implémenté toutes les fonctionnalités de votre programme, vous devrez commencer une série de tests intensifs portant sur tous ses aspects. Cette série de tests devra être soumise au plus grand nombre possible d'utilisateurs.
- Cette seconde version de test d'un programme est appelée version bêta . Vous pourrez décider de publier plusieurs versions bêta au fur et à mesure des corrections que vous lui apporterez.
-
Testez la version de prédiffusion de votre programme. Les versions de prédiffusion ou Release Candidate de votre logiciel pourront être publiées lorsque vous y aurez corrigé tous les bogues qui vous auront été signalés durant les tests précédents et ajouté toutes les fonctionnalités annoncées. Les versions rc d'un programme sont généralement très proches de celle de la diffusion finale, mais les bogues qui peuvent y être rencontrés sont parfois très vicieux parce qu'ils seront souvent difficiles à détecter et à reproduire.Publicité
-
Pensez à ce qui pourrait ajouter de la valeur à votre programme. La nature d'un programme sera déterminante pour choisir ce qui pourrait lui ajouter de la valeur. Vous devrez apporter une réponse avant la diffusion officielle de votre programme : il peut s'agir de sons ou d'icônes personnalisés ou encore de le rendre complètement multilingue. Si votre logiciel est assez sophistiqué, lui ajouter un fichier d'aide conséquent s'affichant dans la langue choisie par l'utilisateur devrait être bien perçu.
-
Évaluez la nécessité de sous-traiter la mise en valeur. Si vous n'avez pas les talents ou la main d'œuvre nécessaires pour créer les éléments qui pourront ajouter de la valeur à votre logiciel, vous devriez penser en faire sous-traiter la réalisation. Vous trouverez une multitude d'entrepreneurs indépendants ou même de volontaires capables de créer ce dont vous avez besoin pour ajouter de la valeur à votre logiciel.
-
Implémentez la mise en valeur de votre programme. Vérifiez avant toute chose que les fonctionnalités de votre logiciel ne peuvent pas être perturbées par les éléments lui ajoutant de la valeur et que rien n'y parait superflu. Une telle implémentation intervient habituellement lors de la phase de développement final du programme, à moins qu'elle ne soit partie intégrante du logiciel lui-même, ce qui est souvent le cas lors de la création de jeux vidéos.Publicité
-
Considérez une diffusion de votre programme en open source . La diffusion open source d'un programme est la plupart du temps gérée par une communauté de volontaires. Les exemples les plus connus de logiciels open source sont Python.org et LibreOffice qui sont aujourd'hui utilisés par des millions de personnes dans le monde. Tout un chacun pourra examiner votre code et lui apporter des modifications qui pourront éventuellement en étendre considérablement les fonctionnalités. Ne vous attendez pas à tirer de profits financiers autres que les dons que vous pourriez solliciter de vos utilisateurs désirant vous apporter leur support. La publication de votre programme en mode open source vous fera avant tout connaitre du public et avec un peu de chance, certaines entreprises à l'affut de programmeurs expérimentés vous contacteront.
-
Créez une boutique en ligne. Si vous voulez vendre votre logiciel, vous pourrez créer une boutique en ligne sur votre site web. Gardez en tête que vos clients attendront d'un tel logiciel qu'il soit parfaitement fonctionnel, exempt de « bogues » et correctement maintenu.
- Vous pouvez imaginer de développer des services payants autour de votre programme, comme l'ajout de greffons lui apportant davantage de fonctionnalités ou la formation du personnel de vos clients.
-
Attachez-vous à la maintenance régulière de votre programme. Lorsque votre application sera publiée, attendez-vous à recevoir des notifications de vos nouveaux utilisateurs au sujet de bogues affectant son fonctionnement. Classez ces bogues par niveaux de criticité, puis commencez à en rechercher la cause et à leur apporter des solutions. Au fur et à mesure de votre progression, vous devrez commencer à publier des mises à jour « mineures » de votre programme ou des greffons correctifs en mettant certaines parties à jour.
- Un service après-vente bien organisé aura des effets positifs sur votre clientèle. Les utilisateurs de votre programme n'hésiteront pas à faire fonctionner le « bouche-à-oreille », ce qui résultera en une publicité à la hauteur de la qualité de vos services.
-
Faites de la publicité autour de votre programme . Les utilisateurs potentiels de votre logiciel doivent être informés de son existence avant d'en acheter une licence. Faites des versions d'essais gratuites que vous proposerez sur votre site. Contactez des sites web diffusant des revues spécialisées sur les logiciels, créez des communiqués de presse mettant en exergue ses caractéristiques les plus importantes et envoyez-leur une copie fonctionnelle afin qu'ils effectuent leurs essais.Publicité
Références
- ↑ http://lifehacker.com/5401954/programmer-101-teach-yourself-how-to-code/all
- ↑ https://riptutorial.com/fr/home
- ↑ http://venturebeat.com/2013/10/31/the-7-best-ways-to-learn-how-to-code/
- ↑ http://www.shamusyoung.com/twentysidedtale/?p=12271
- ↑ http://www.yacoset.com/Home/how-to-design-a-computer-program