Quel langage de programmation utiliser ?
Fermémariam-j Messages postés 1357 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 25 novembre 2024 - 1 nov. 2022 à 10:26
- Quel langage de programmation utiliser ?
- Utiliser chromecast - Guide
- Application de programmation - Guide
- Comment utiliser l'ia - Accueil - Guide Intelligence artificielle
- Impossible d'utiliser ce numéro de téléphone pour la validation - Forum Gmail
4 réponses
Tu parles de deux choses en même temps (même si elles sont reliées).
Un logiciel qui accepte plusieurs connexions "en même temps" s'appelle un "serveur".
Un client est un logiciel qui se connecte à un serveur.
On parle souvent de "serveur" pour un gros ordinateur qui peut faire plusieurs choses.
Par exemple, il peut envoyer des pages web, des téléchargements, ou gérer les courriels.
On appelle "service" chacune de ces façons de fonctionner du serveur.
Un navigateur comme Chrome ou Firefox sont des clients. J'utilise Thunderbird pour mes courriels. C'est un autre client.
Maintenant, avec quel langage écrire un serveur et/ou un service?
Il vaut mieux que ce soit un langage compilé et non interprété pour des raisons d'efficacité.
Le client peut être écrit dans n'importe quel langage sauf si ses tâches sont lourdes.
Personnellement, j'écrirais mon serveur en C ou en C++. Mon client pourrait être dans un de ces langages ou Python.
Mais c'est un choix personnel. D'autres auront peut-être des avis différents.
Pour les bases de données, ça dépend de ce que tu veux offrir comme services.
Pour les prérequis, connaître assez bien un langage de programmation. Bien connaître le concept de sockets, etc.
Le site Comment Ça Marche est un serveur. Est-ce qu'il n'accepte qu'un seul client à la fois?
Le protocole au niveau des serveur fait qu'il peut accepter plusieurs clients à la fois. Il y a même des ordi où il y a plusieurs copies du serveur.
Dans ce cas, ça prend un protocole pour accéder aux différentes bases de données. Ce qu'on appelle les signaux ou sémaphores.
L'administrateur du site peut être un client particulier et doit être validé comme tel par le serveur.
On peut utiliser n'importe quel langage pour les clients. Mais en général, l'administrateur fera des transfert plus gros et plus complexes. Il devrait être écrit dans un langage compilé.
Je ne m'y connais pas vraiment sur les types d'ébergement. J'espère que quelqu'un d'autre saura mieux te répondre sur ce sujet.
30 oct. 2022 à 17:37
Salut,
Dans ce cas, ça prend un protocole pour accéder aux différentes bases de données. Ce qu'on appelle les signaux ou sémaphores.
Protocole et sémaphores n'ont rien à voir l'un avec l'autre...
30 oct. 2022 à 22:43
Comment puis-je configurer des protocoles ?
31 oct. 2022 à 09:04
Hors sujet, il faut déjà voir précisément ce que tu veux faire et ce que tu énonces n'est pas assez précis.
Tu indiques qu'on doit pouvoir se connecter mais à quoi et pour quoi faire ?
31 oct. 2022 à 10:11
J'aimerais faire une partie avec un client web auquel on peut se connecter au serveur d'un navigateur (pour les usagés) et une autre partie avec un programme exécutable depuis un PC (réservé à l'administration).
Je voudrais que les utilisateurs se connectent depuis internet (https, http) au logiciel et que l'administration ait un exécutable (.jar, .exe...) directement installé sur un PC pour s'y connecter. Et eux tous se connectent au serveur du logiciel.
Modifié le 31 oct. 2022 à 10:16
bap_dej a écrit :
J'aimerais créer un logiciel ayant un accès depuis un client (un programme directement installé sur ordinateur) et aussi en ligne (pouvant s'y connecter depuis un navigateur) qui puisse s'utiliser avec plusieurs connexions simultanées.
Un navigateur est un client. S'il n'y a pas de bonne raison de ne pas utiliser un navigateur dans 100% des cas, je ne vois pas de différence fondamentale entre ce que tu penses être 2 cas distincts.
Tu pourrais simplement construire une application Web adossée à une base de données. Une combinaison classique et supportée par les hébergements même les plus modestes est PHP pour le langage serveur et MySQL pour le système de gestion de base de données, le tout préinstallé par défaut et fonctionnant avec un serveur Web, souvent Apache, ou NGINX (à moins que tu aies des compétences en administration système, prend un hébergement avec ces éléments préinstallés).
Quant aux langages ou technologies qu'il faut maîtriser pour faire ce type de choses :
- HTML, CSS, JavaScript pour la front-end (partie cliente exécutée par le navigateur)
- PHP, SQL pour la partie back-end (partie exécutée du côté serveur)
Si tu es débutant en programmation, tu as pas mal de travail, mais tu peux commencer progressivement.
Tu as de nombreuses ressources sur le Web.
L'une d'elle, qui couvre toutes ces technologies et permet de commencer de zéro ou presque, est : https://www.w3schools.com/ (en anglais).
Sous Windows, tu peux t'installer un environnement complet comprenant un serveur Apache, MySQL et PHP en installant un WampServer, et utiliser Notepad++ pour écrire ton code (par exemple).
31 oct. 2022 à 16:01
Merci de ta réponse.
Mais comme je voudrais faire un logiciel de gestion commerciale, j'avais pensé de faire un partie web pour que les client commandent et une partie avec un client executable pour faire la gestion je pense ça plus simple que tout faire sur web qui est pas forcément pratique en terme de la saisie des articles etc...
Modifié le 31 oct. 2022 à 17:18
Aujourd'hui ce n'est pas plus ou moins simple du point de vue de l'utilisateur. Les gens sont habitués au Cloud. Tu as une flopée d'ERP en SaaS, mais c'est toi qui vois et cela correspond aussi à un modèle économique.
Je pense que tu anticipes beaucoup trop tes choix techniques, si tu es débutant (tu dis "niveau débutant même novice dans le domaine de la programmation"), et que tu ne sais pas programmer, tu as beaucoup de chemin à parcourir avant de pouvoir faire un "logiciel de gestion commerciale" et tu devrais commencer par apprendre les bases d'un langage de programmation, puis essayer de mener à bien des projets beaucoup plus modestes.
Si tu veux le faire sous la forme d'un programme qui s'exécute sur ton ordinateur, je suppose que tu voudras une interface graphique (des fenêtres avec des trucs à cliquer) et il te faudra apprendre la programmation événementielle pour gérer des environnements fenêtrés et les widgets qui les composent en composant avec le système d'exploitation (API native ou bibliothèque pour assurer la portabilité sur différents systèmes d'exploitation).
Si c'est ce que tu veux faire, tu peux appendre un langage, par exemple Java ou C++, dans lesquels ces applications exécutables lourdes "on premise" sont souvent programmées.
Tu commenceras à apprendre à créer des programmes en console (en mode terminal) avant de créer des programmes graphiques (en mode fenêtré), ... car il faut bien apprendre à marcher avant de savoir courir. Tu ne vas pas commencer à faire des applications fenêtrées dès le début.
A titre d'exemple, le site dont j'ai donné l'adresse https://www.w3schools.com/ contient des tutoriels d'apprentissage de Java et de C++ qui sont assez étoffés. Lorsque tu arrives au bout de ces cours, tu ne sais toujours pas écrire une application fenêtrée pour plusieurs raisons raisons, parmi lesquelles : (i) il faut assimiler les compétences précédentes avant de pourvoir le faire comme indiqué précédemment et (ii) cela ne fait pas de toutes façons pas partie intégrante du langage. Il te faudra un cours plus avancé dédié à l'apprentissage de telle ou telle API ou de telle ou telle bibliothèque.
Avec une application Web, tu ne passes pas par cette phase intermédiaire d'apprentissage, car le HTML, CSS et JavaScript te permettent d'emblée de gérer une l’interaction graphique avec l'utilisateur, les clics sur les boutons, etc. et ... la question de la portabilité est éliminée du côté utilisateur grâce au navigateur.
Cela dit, si tu ne sais pas programmer du tout, cela ne te fera pas de mal d'apprendre un langage de programmation non spécifiquement destiné au Web comme premier langage. Tu pourrais même commencer par un langage plus facile à apprendre que ceux que j'ai cités, comme Python, comme premier langage.
31 oct. 2022 à 18:17
Après, ça m'embêterai pas de faire que du web histoire de facilité comme tu dis. Je suis partant pour faire du web uniquement sans problème mais est-ce que il y aurait des inconvénients et des avantages à utiliser uniquement le web ?
31 oct. 2022 à 18:40
Chaque technologie a ses avantages et ses inconvénients, bien sûr. Avec l'expérience, tu apprendras à choisir les bonnes technologies pour tes projets.
31 oct. 2022 à 18:59
Oui, il y a des avantages et des inconvénients.
31 oct. 2022 à 10:24
Bonjour,
Pour te donner un exemple:
Ce site: http://libertybasic.fr/forum/index.php est hébergé par: "PHP bost" et ça coûte dans les 215 Euros par an.
Il comporte un forum et un espace de stockage (50 Mo par membre, illimité pour l'administrateur).
Mais tu peux héberger toi-même, ton pc doit alors rester en fonction 24 h/24.
31 oct. 2022 à 11:41
PHPBoost est un système de gestion de contenu (CMS) et pas un hébergeur.
Des hébergements PHP avec MySQL, il y en a de très nombreux et bien moins chers.
https://www.google.com/search?q=hé%3Bbergement_PHP_mysql=
Il y a aussi des hébergements gratuits.
1 nov. 2022 à 10:26
Erratum: l'hébergeur c'est IONOS by 1&1.
Et le prix élevé c'est parce qu'on a dû activer une ancienne version par flemme de mettre à jour.
30 oct. 2022 à 14:53
Merci pour ton aide.
Est-il possible que le serveur puisse avoir plusieurs clients ? Car j'aimerais faire un partie avec un client web auquel on peut se connecter d'un navigateur (pour les usagés) et un autre partie avec un programme exécutable depuis un PC (réservé à l'administration).
Si oui, faut-il des langages de programmation particuliers pour chaque clients ? lesquelles ?
Quel type d'hébergement dois-je utiliser ?
30 oct. 2022 à 17:21
bonjour,
le client web, c'est donc le navigateur.
quel est le budget de ton projet? cela aidera à te suggérer les solutions les plus appropriées.
Modifié le 30 oct. 2022 à 22:36
Bonjour, je n'ai pas vraiment de budget précis. Je voudrais dépensé juste un minimum car pour l'instant je ne veux faire que des tests.