Introduction à la Conception d'Applications Informatiques

Header :

Ce cours vise à vous familiariser avec les différents aspects de la conception d'applications informatiques, en commençant par les rôles et les métiers clés impliqués, puis en explorant les concepts de base qui sous-tendent la création de logiciels. Cela vaut aussi bien pour un jeu vidéo, un site, ou une application de banque.


Body

Les Différents Métiers

1. Front-end Developer (Développeur Front-end)

  • Rôle : Imaginez-vous comme un architecte qui crée la façade d'un bâtiment. Le développeur front-end est responsable de la création de ce que les utilisateurs voient et interagissent lorsqu'ils visitent un site web ou utilisent une application.
  • Technologies : Vous utiliserez HTML pour structurer le contenu, CSS pour styliser et mettre en forme, et JavaScript pour rendre les choses interactives (comme les boutons cliquables).
  • Tâches : Créer des pages web ou des interfaces utilisateur, vous assurer que tout fonctionne bien du côté client (navigateur), et que l'expérience utilisateur est agréable.

2. Back-end Developer (Développeur Back-end)

  • Rôle : Imaginez-vous comme le cerveau caché derrière un robot. Le développeur back-end s'occupe de tout ce qui se passe en coulisses pour rendre une application fonctionnelle. Cela comprend la gestion des données, la sécurité, l'authentification des utilisateurs, etc.
  • Technologies : Vous travaillerez avec des serveurs, des bases de données et des langages de programmation (comme Python, Java, ou PHP) pour créer la logique de l'application.
  • Tâches : Concevoir et développer les serveurs, gérer les données, créer des API (interfaces de programmation d'application) pour que le front-end puisse communiquer avec le back-end.

3. Fullstack Developer (Développeur Fullstack)

  • Rôle : Vous êtes comme un chef de projet capable de tout faire, de la conception de l'interface utilisateur à la gestion des bases de données et de la logique métier.
  • Technologies : Vous devez avoir une solide compréhension des technologies front-end et back-end, ce qui signifie que vous pouvez travailler avec HTML, CSS, JavaScript, des bases de données, et des langages de programmation.
  • Tâches : Vous êtes responsable de tout, de la création d'une interface utilisateur attrayante à la gestion de l'infrastructure et de la sécurité.

4. UX Designer (Concepteur d'Expérience Utilisateur)

  • Rôle : Vous êtes le créateur d'expérience utilisateur. Votre mission est de rendre l'application aussi conviviale et agréable que possible pour les utilisateurs.
  • Tâches : Vous menez des recherches pour comprendre les besoins des utilisateurs, créez des prototypes d'interfaces utilisateur, et assurez-vous que chaque interaction avec l'application est fluide et intuitive.

5. Gestionnaire de Projet

Ce métier et parfois découpé en plein de casquettes, je ne vais pas tous les voir en détails, je vais plutôt voir les différents aspects extérieurs à simplement mettre les mains dans le cambouis lors d'un projet informatique. Sachez simplement que en fonction de la taille de la boite, une personne peut s'occuper de tout, ou au contraire, une personne s'occupera uniquement d'un seul de ces aspects.

Chantier 1 : Architecture du Code
1. Structure du Projet

Lorsque vous travaillez sur un projet informatique, il est essentiel d'organiser vos fichiers et dossiers de manière logique. Cela facilite la collaboration et la maintenance du code.

2. Modularité

Imaginez que vous construisez un ensemble de blocs LEGO. Chaque bloc est un module réutilisable que vous pouvez utiliser dans différentes parties de votre application. La modularité vous aide à éviter la répétition du code et facilite les mises à jour.

3. Relation entre les Objets

Dans un projet informatique, il y a de nombreux objets qui interagissent les uns avec les autres pour accomplir des tâches. Comprendre comment ces objets se connectent et communiquent est essentiel pour créer une application fonctionnelle.

4. Conventions de Codage

Les conventions de codage sont comme des règles grammaticales pour écrire du code. Elles assurent la cohérence du code au sein de l'équipe de développement et facilitent la lecture et la compréhension du code.

5. Versionnage du Code

Le versionnage du code est comme une machine à remonter le temps pour votre projet. Il vous permet de suivre les modifications apportées au code au fil du temps, de travailler sur différentes fonctionnalités en parallèle et de collaborer avec d'autres développeurs.

Chantier 2 : Processus de Développement
1. Méthodologies de Développement

Imaginez que vous construisez une maison. Les méthodologies de développement sont comme des plans et des processus qui vous guident tout au long du projet. Elles définissent comment vous allez travailler, planifier, et collaborer pour mener à bien le projet.

2. Cycle de Vie du Projet

Un projet informatique suit généralement un ensemble d'étapes, de la conception initiale à la livraison du produit final. Comprendre ces étapes vous aide à gérer le projet de manière efficace.