Développer la partie dynamique des interfaces utilisateur web ou web mobile Flashcards

1
Q

Quel(s) intéret(s) y a-til de protéger les champs d’un formulaire côté frontend (taille max d’un champ, complexité d’un password, …) étant donné qu’un utilisateur peut modifier tout le code html/javascript sur son navigateur web ? (et donc faire sauter les protections ainsi mises en place)

A

Protéger les champs d’un formulaire côté frontend a plusieurs intérêts, même si ces protections peuvent être contournées:

  1. Amélioration de l’expérience utilisateur : Les validations côté frontend fournissent des retours immédiats à l’utilisateur, réduisant la frustration et évitant des soumissions inutiles.
  2. Réduction de la charge serveur : Empêcher les erreurs simples (comme des champs vides ou mal formatés) côté frontend diminue les requêtes inutiles envoyées au serveur.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quel(s) protocole(s) peut(vent) être utilisé(s) entre le frontend et le backend d’une application Web ?

A

L’HTTP et l’HTTPS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Expliquez la différence entre HTTP et HTTPS ?

A

Le protocole HTTPS est plus sécurisé que le protocole HTTP.
En HTTPS, les données sont chiffrées.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

C’est quoi un protocole en informatique ? Pouvez vous citer quelques exemples de protocoles ?

A

Un protocole en informatique est un ensemble de règles définissant la manière dont les données sont échangées entre différents systèmes ou appareils . Par exemple, HTTP/HTTPS pour le web, SMTP pour les emails ou SSH pour se connecter de manière sécurisée sur un serveur distant (Hébergeur mutualisé, VPS, …).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Lors d’une comparaison en javascript, qu’elle est la différence entre “===” et “==” ? pourquoi privilégier “===” ?

A

Le “==” compare deux valeurs tandis que le “===” compare deux valeurs ET vérifie si le type des valeurs est le même. Il est vivement conseillé d’utilisé “===” pour plus de fiabilité.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

En javascript, j’ai une variable nommée ‘toto’ qui contient un tableau d’entiers. Comment puis-je afficher le premier élément du tableau ? comment puis-je afficher le nombre d’éléments contenus dans le tableau ?

A

console.log(toto[0]);
puis
console.log(toto.length);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Si je veux additionner tous les nombres allant de 1 à 1000 (compris) en javascript et afficher le résultat, je peux faire comment ?

A

let sum = 0;
for (let i = 1; i <= 1000; i++) {
sum += i;
}
console.log(sum);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est-ce que le json ? Quels sont les avantages du json ?

A

Le JSON (JavaScript Object Notation) est un format léger qui structure des données, facile à lire pour les humains et à traiter par les machines, largement utilisé dans les API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quel est l’acronyme de XSS ? (attaque XSS)

A

XSS : CROSS-Site Scripting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

En quoi consiste une attaque XSS ?

A

Une attaque XSS consiste à injecter du code malveillant dans une page web, permettant à un attaquant de voler des données, usurper des sessions ou modifier l’apparence la page, par exemple en affichant un faux formulaire pour recueillir des informations sensibles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quel est l’acronyme de CSRF ? (attaque CSRF)

A

CSRF : Cross-Site Request Forgery

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

En quoi consiste une attaque CSRF ?

A

Une attaque CSRF consiste à tromper un utilisateur authentifié pour qu’il exécute à son insu des actions malveillantes sur un site web où il est connecté, comme changer un mot de passe ou effectuer une transaction sans son consentement. C’est souvent via un lien ou un formulaire.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Différence XSS et CSRF ?

A

Nature de l’attaque :

  1. XSS : L’attaquant injecte du code malveillant directement dans une page web visitée par l’utilisateur, ce qui permet d’exécuter des scripts dans le contexte du navigateur.
    CSRF : L’attaquant exploite la session authentifiée de l’utilisateur pour le manipuler et l’inciter à exécuter des actions involontaires sur un site web légitime.

Cible principale :
XSS : Vise principalement l’utilisateur (pour voler ses données ou manipuler l’affichage d’une page).
CSRF : S’attaque au serveur en profitant des droits de l’utilisateur connecté.

Méthode d’attaque :
XSS : L’attaquant injecte directement du code malveillant dans le site via des entrées non sécurisées (comme un champ de commentaire).
CSRF : L’attaquant utilise des requêtes (lien ou formulaire) déguisées pour forcer l’utilisateur à exécuter des actions.

Exemple :
XSS : Afficher un faux formulaire sur une page web pour voler des identifiants ou injecter un script pour voler des cookies.
CSRF : Faire en sorte qu’un utilisateur connecté effectue à son insu un virement bancaire en cliquant sur un lien malveillant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qu’est-ce qu’une API Web ?

A

Une API Web est un moyen de faciliter la communication entre des applications en échangeant des données via Internet à l’aide de protocoles comme HTTP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

C’est quoi un paradigme de programmation événementiel en javascript ?

A

C’est une approche où le programme réagit à des événements, comme un clic sur un bouton. EX GEN : addEventListener()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

C’est quoi le DOM ?

A

Le DOM (Document Object Model) permet d’ajouter, supprimer ou modifier de manière dynamique.du HTML et DU CSS avec JavaScript.

17
Q

C’est quoi un hook dans React ?

A

Un hook dans React est une fonction qui permet d’ajouter des fonctionnalités comme par exemple le useState et le useEffect.

18
Q

C’est quoi les props React ?

A

Les props permettent de passer des données d’un composant parent à un composant enfant. Les props sont immutables, c’est-à-dire qu’un composant enfant ne peut pas les modifier.

19
Q

C’est quoi les states React ?

A

Les states dans React sont des objets qui permettent de gérer et de stocker des données dynamiques. Lorsqu’un state est mis à jour, React actualise automatiquement le composant pour afficher les nouvelles données.

20
Q

C’est quoi le useState ?

A

Le useState est utilisé dans React pour gérer et stocker des données dynamiques comme des compteurs ou des entrées utilisateur. Lorsque les données sont modifiées, il y a un re-rendu du composant pour afficher les changements.

21
Q

C’est quoi le useEffect ?

A

Le useEffect permet d’ajouter des comportements dynamiques comme réagir à des changements de données, effectuer des appels API pour récupérer ou envoyer des données ou des modifications du DOM.

22
Q

C’est quoi le useLoaderdata ?

A

Le useLoaderData permet d’accéder aux données d’un loader dans une route.

23
Q

Pourquoi utiliser TypeScript ?

A

TypeScript ajoute un typage statique à JavaScript, aidant à prévenir les erreurs de type et à améliorer la maintenabilité.

24
Q

Citer trois manières de boucle sur un tableau en JS

A

For, While, Map

25
Q

Quelle est la différence entre les props et le state dans React ?

A

Les props sont des données passées de parent à enfant , tandis que le state est interne au composant et ne peut être modifié que par ce dernier.

26
Q

Qu’est-ce qu’un composant ?

A

Un composant est une unité autonome réutilisable.

27
Q

A quoi sert une API ?

A

Une API (Application Programming Interface) permet la communication entre une application et une base de données.
L’application demande des données, l’API va les récupérer dans la base de données et les fournit à l’application.