Hello ! 👋

La partie la plus difficile de toute entreprise est souvent de se lancer. Et il semble que vous ayez réussi. Félicitations !

En partant d'ici, nous avons un long chemin à parcourir pour apprendre la programmation en général et le No-Code (la capacité de créer des programmes sans apprendre des langages de programmation complexes) en particulier. Mais avant toute chose, il convient de comprendre les termes de base.

Si vous êtes déjà un professionnel de l'informatique, n'hésitez pas à sauter ce module d'introduction. Nous aborderons ici les concepts les plus fondamentaux. Application, front-end, base de données, protocole HTTP, etc.

Vous êtes prêt ? C'est parti !


Théorie générale

Les bases de la programmation

Les ordinateurs, bien qu'ils puissent sembler très intelligents, sont par nature incapables de faire quoi que ce soit par eux-mêmes. Ils ont besoin d'instructions claires. Il existe même une vieille blague du genre : "L'ordinateur ne fait pas ce que vous voulez, mais ce que vous lui avez ordonné de faire".

Il s'avère que la"programmation" au sens large - c'est la création d'instructions (commandes) claires et compréhensibles pour un ordinateur. Et les instructions elles-mêmes dans un langage compréhensible par un ordinateur sont un "programme".

Et il convient ici de souligner l'expression "un langage compréhensible par un ordinateur" (computer-understandable language). En effet, nous parlons une langue, et l'ordinateur en parle une autre. Il ne comprend pas la parole humaine (du moins jusqu'à ce qu'il reçoive un programme qui lui apprendra à comprendre la parole). Tout comme nous, sans formation spéciale, nous ne comprenons pas le langage machine (ou code machine), qui peut être représenté par une séquence de 1 et de 0.

10110100 00111010

Totalement incompréhensible, non ?

Pour assurer la communication, des langages de programmation ont été créés (et de nouveaux sont constamment créés).

Il existe des langages dits"de bas niveau". Ils sont très proches des codes machine, mais les commandes sont écrites sous une forme plus compréhensible pour une personne. Le représentant le plus célèbre de ces langages est l'"Assembleur".

L'étape suivante est celle des langages de programmation de "haut niveau". La plupart des langages de programmation modernes en font partie : Java, C ++, Python, Go et bien d'autres. Ils sont conçus pour être rapides et faciles à utiliser par le programmeur. En même temps, une seule commande dans un tel langage peut être traduite en un ensemble très complexe et long de commandes en code machine.

Et voici un nouveau terme : "traducteur". Il s'agit exactement de l'outil qui traduit (ou compile) le texte écrit dans un langage de haut niveau en un ensemble d'instructions machine. En même temps, nous ne devrions pas nous inquiéter (ou beaucoup moins) du fait que tous les ordinateurs sont différents, qu'ils utilisent des processeurs différents et que ces processeurs utilisent des jeux d'instructions différents. Le traducteur fera ce travail pour nous.

La plateforme AppMaster appartient aux plateformes No-Code. On peut la qualifier sans risque d'étape suivante du développement. Avec elle, il est devenu possible de créer des applications de niveau entreprise sans apprendre aucun langage de programmation, sans écrire de code complexe. C'est ce que nous allons faire dans ce cours. En effet, à l'aide de blocs visuels clairs, nous décrivons simplement ce qui doit être fait. Ensuite, les technologies AppMaster.io sont déjà activées et elles écrivent elles-mêmes du code à grande vitesse.

Soit dit en passant, ce code est écrit dans le langage Go (également connu sous le nom de GoLang). Et, d'une part, c'est très important. Après tout, nous sommes certains d'utiliser un langage moderne spécialement développé par Google pour créer des programmes très efficaces. D'autre part, cela n'a pas d'importance. Après tout, vous pouvez totalement oublier le langage utilisé (il peut même être remplacé par un autre si une solution plus efficace est trouvée), et vous concentrer uniquement sur la création d'une application, et non sur les subtilités de sa mise en œuvre technique.

Avant de poursuivre, soyons clairs. Dans le texte ci-dessus, des termes différents sont utilisés - "Programmes", "Applications". Il s'agit de synonymes qui signifient la même chose.

On peut aussi ajouter "Logiciel", ce terme désigne généralement un ensemble de programmes (applications). Par exemple, le logiciel installé sur votre ordinateur. Le mot "Logiciel" peut également être considéré comme un synonyme.

Types d'applications

Quels types d'applications existe-t-il ? Essayons de rationaliser et de structurer un peu.

  1. Console
    Elles peuvent également être appelées applications basées sur le texte ou interface de ligne de commande.
    Comme leur nom l'indique, ces applications ne disposent pas d'une interface graphique familière (bien qu'elle puisse être mise en œuvre à l'aide de symboles pseudographiques, et même des éléments interactifs peuvent être ajoutés), et le contrôle s'effectue en saisissant des commandes textuelles dans la console.
    Il peut sembler que ce type d'application soit dépassé depuis longtemps. Mais en fait, en raison des exigences moindres en matière de ressources matérielles, elles ne perdent pas leur pertinence à ce jour. Dans le même temps, dans de nombreux secteurs, l'utilisation de la ligne de commande présente même certains avantages en termes de simplicité et de facilité d'utilisation.

  2. Applications de bureau
    Applications qui sont installées et exécutées sur des ordinateurs.
    Par exemple, les applications bureautiques de Microsoft : Word, Excel, PowerPoint, etc.
    Ou un navigateur, grâce auquel vous ouvrez des sites sur Internet et, probablement, vous lisez même ce texte.
    A propos, le terminal pour travailler avec la ligne de commande est aussi souvent une application de bureau.

  3. Mobile
    Vous avez très probablement un smartphone. Le système d'exploitation qu'il utilise n'a pas d'importance : Android, iOS ou un autre plus rare. Dans tous les cas, les applications que vous utilisez sur votre smartphone sont des applications mobiles.
    Il s'agit par exemple de navigateurs, de messageries instantanées, de jeux ou d'applications pour les réseaux sociaux.

  4. Intégrées (embedded)
    Ces applications (bien que dans ce cas il soit correct d'utiliser le terme logiciel) sont plus difficiles à remarquer, mais elles sont utilisées pour contrôler divers appareils et équipements.
    Grâce au logiciel intégré, l'imprimante traite les travaux d'impression, le routeur distribue l'Internet et le fonctionnement d'une grande variété d'équipements est assuré.

  5. Applications web
    Applications qui interagissent avec le navigateur et fonctionnent en utilisant l'Internet.
    C'est le type d'applications le plus courant à l'heure actuelle, et nous nous intéresserons de près à leur création dans ce cours.

Il existe de nombreux types d'applications web. Nommons les principales d'entre elles :

  • Landings. Petites pages d'information où l'on peut remplir un formulaire ou laisser une demande quelconque.
  • Portails d'information. Il s'agit de sites d'actualités (par exemple, Yahoo !) ou de sites sportifs (Fifa).
  • Les boutiques en ligne. Des petits magasins locaux aux grandes places de marché internationales.
  • Les réseaux sociaux. Twitter, Facebook et bien d'autres.
  • Jeux. Des simples jeux en mode texte aux jeux en 3D les plus avancés.
  • LMS (Learning Management System).
  • CMS (Content Management System). Grâce à eux, vous pouvez facilement gérer le contenu du site, ajouter de nouveaux articles.
  • Systèmes CRM (Customer Relationship Management). Systèmes permettant d'automatiser les relations avec les clients.
  • Lesservices en ligne. Leur diversité mérite une classification à part. Parmi eux, on trouve des services de prévisions météorologiques, des services de recherche, des services bancaires, et bien d'autres encore.

Bien, nous avons déterminé les applications, nous avons fait la classification de base, nous avons trié les types d'applications web. Mais comment cela fonctionne-t-il ?

Et c'est là que nous arrivons à des termes très importants.

Front-end et Back-end

L'illustration la plus simple est le théâtre. Nous assistons à la représentation, nous voyons les artistes sur la scène, nous les applaudissons, nous recevons des saluts en retour. Et en même temps, nous savons avec certitude que le théâtre ne se limite pas à l'auditorium, et ne s'arrête pas à la scène. Quelque part, les costumes sont cousus, les préparatifs sont en cours dans la loge, quelque part, le metteur en scène donne des instructions. Nous ne voyons pas tout cela, mais nous savons avec certitude que c'est là, et que sans tout cela, le théâtre ne pourrait pas fonctionner.

De la même manière, tout est organisé dans les applications web.

Il y a une couche que nous voyons. La page qui s'affiche lorsque nous ouvrons un site. Cette page comporte probablement une sorte d'animation et même des boutons sur lesquels on peut cliquer.

Cette couche visible est appelée "Frontend". Elle comprend tout ce qui se trouve du côté de l'utilisateur. Tout ce qui s'affiche sur l'écran de votre appareil. Quelque chose que vous pouvez voir et même sentir.

Mais en même temps, nous pouvons être sûrs que tout ne se limite pas au frontend. Après tout, le frontend lui-même, depuis peu, n'est ni sur l'écran ni dans la mémoire de l'ordinateur. Il apparaît lorsque nous décidons d'ouvrir un autre site et que nous entrons son adresse dans le navigateur.

Nous faisons une demande d'affichage du site et recevons une réponse. Quels sont les blocs qu'il contient, où ils sont situés, comment ils se présentent, quelles sont les polices utilisées. Nous appuyons sur un bouton et la commande est envoyée au serveur pour qu'il calcule certaines informations, émette une réponse et fournisse une solution au problème. Ce système de demande et de réponse, Request-Response, est la pierre angulaire du fonctionnement de toutes les applications Web.

La demande sur Internet va vers le serveur, du côté invisible à nos yeux, vers le "Backend". En même temps, la demande elle-même contient aussi certaines informations, elle a des paramètres. Sur la base de ces informations, le backend décide de la réponse à envoyer (ou il peut faire la moue poliment, accuser réception de la demande, mais ne plus transmettre de données).

Le protocole de transfert de données lui-même s'appelle HTTP - HyperText Transfer Protocol. Vous pouvez voir ces 4 lettres au début de la barre d'adresse du navigateur. Cela indique que l'interaction sera réalisée à l'aide du protocole HTTP. On peut dire que les parties ont convenu de la langue dans laquelle elles communiqueront.

Et ne vous laissez pas tromper par son nom. En effet, à l'aube de l'Internet, le protocole a été conçu exclusivement pour l'hypertexte. C'est-à-dire un texte avec des liens, avec la possibilité d'aller sur une autre page, d'obtenir un autre texte. Aujourd'hui, il permet de transférer n'importe quelle donnée : des images drôles, des chansons, des vidéos de danse de Tik-Tok.

Dans les modules suivants du cours, nous traiterons en détail la structure des demandes et des réponses. Nous créerons des demandes avec des réponses, ainsi que la logique de leur traitement. A ce stade, il suffit de comprendre le principe même du transfert des données du frontend vers le backend et vice-versa.

D'ailleurs, les données elles-mêmes n'apparaissent pas par magie. L'apparition des demandes du côté du frontend est facile à comprendre - vous les saisissez vous-même. Mais pour que les informations vous soient transmises, il faut organiser d'une manière ou d'une autre leur stockage et leur traitement.

À cette fin, les "bases de données" (DB) fonctionnent. Elles stockent les données sous une forme structurée. Et il existe des systèmes qui gèrent ces données - les SGBD (systèmes de gestion de base de données). Ils vous permettent d'écrire de nouvelles données dans la base de données, d'en extraire des données, de les modifier, de les supprimer (tout cela est désigné par l'abréviation CRUD - Create, Read, Update, Delete). Nous étudierons tout cela en détail dans les prochains modules. Voyons ce que sont les bases de données en général, comment leur travail est organisé et comment il est facile de les gérer dans AppMaster.

Que diriez-vous de l'essayer en pratique ? Il est temps de faire le premier...


Travail à domicile

Vous devez activer le terminal pour travailler avec la ligne de commande. Sous Windows, l'application souhaitée s'appelle CMD, sous MacOS - Terminal.

Utilisez l'application console curl (si elle n'est pas installée sur votre ordinateur - réparez-la). Elle est conçue spécifiquement pour envoyer une requête à un service spécifique et recevoir une réponse de celui-ci.

Par exemple, envoyez une requête HTTP au service BoredAPI. Il s'agit d'un service qui peut capter une activité pour toutes les occasions.

Pour ce faire, entrez la commande suivante dans le terminal :

curl "http://www.boredapi.com/api/activity?type=diy"

Veuillez noter que l'adresse peut être divisée conditionnellement en deux parties - avant et après le point d'interrogation.

La première partie est l'adresse de la requête elle-même. Dans cet exemple - "http://www.boredapi.com/api/activity"

La deuxième partie est constituée des paramètres de la demande. Dans l'exemple - "type=diy". C'est-à-dire que le paramètre de la requête est "type" avec la valeur "diy". Ainsi, nous avons indiqué que nous voulons obtenir une telle activité que vous pouvez faire vous-même (diy - Do It Yourself).

Voyez quelle réponse a été reçue. Trouvez-y les informations dont vous avez besoin. Dans les modules suivants, nous analyserons en détail la forme de la réponse, en quoi elle consiste. À ce stade, il suffit de comprendre que c'est exactement ce à quoi ressemble la réponse à la demande du backend avant d'être traitée logiquement et affichée joliment sur le frontend.

Consultez la documentation du service (http://www.boredapi.com/documentation) et faites vous-même une demande plus complexe avec différents paramètres. Par exemple, découvrez quelle activité convient à une entreprise qui compte plus de 5 mais moins de 10 personnes.

Pour consolider la matière, essayez de maîtriser un service plus complexe. Par exemple - https://www.alphavantage.co/

Lisez la documentation, obtenez le taux de change ou les cours de la bourse dans la base de données.

Avant toute utilisation, vous devez vous enregistrer et obtenir une clé d'accès personnelle.