GLobal Flashcards

(35 cards)

1
Q

Qu’est ce que les méthodes agiles

A

Agile est avant tout une méthodologie.

C’est une approche de développement logiciel qui met l’accent sur la collaboration, l’adaptation au changement et la livraison continue.

Dans cette méthodologie on va retrouver, dans l’ordre chronologique :

  1. La communication et la collaboration : Les membre de l’équipe travaillent ensemble de manière transparente et régulière pour partager des informations et prendre des décisions collectives
  2. La planification dite itérative: il s’agit de déterminer sous forme de user stories les fonctionnalités à développer et elles sont hiérarchisées dans un backlog.
    On a déjà deux termes importants ici :
    - user stories : ce sont de courtes descriptions des fonctionnalités du logiciel du point de vue de l’utilisateur.
    - backlog : c’est une liste hiérarchisées des fonctionnalités souhaitées (ces mêmes fonctionnalités décrites par les user stories juste au dessus).

Ca peut donc donner quelque chose du genre :

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

Exemples de rituels scrum

A

Scrum est un cadre (on parle même de framework) de gestion de projet qui applique ces valeurs agiles de manière concrète.
Daily meeting
poker planning

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

Quels sont les principaux critères de qualité du logiciel

A
  1. Fonctionnalité (correspond aux besoins, est fonctionnel)
    Fiabilité (disponibilité, tolérence aux pannes)
    Performance / Efficacité
    . Sécurité
    Compatibilité
    Maintenabilité
    . Portabilité
    Expérience utilisateur / Utilisabilité
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comment font les personnes malvoyantes pour naviguer sur internet

A

lecteur d’écrans
Touche tab
Commandes vocales

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

Qu’est ce que le WCAG

A

Les Règles pour l’accessibilité des contenus Web (WCAG) 2 sont développées dans le cadre du processus de W3C en collaboration avec des personnes et des organismes du monde entier, dans le but de fournir un standard unique commun pour l’accessibilité des contenus Web répondant, au niveau international, aux besoins des personnes, des organismes et des gouvernements.

Les documents des WCAG expliquent comment rendre les contenus Web plus accessibles aux personnes en situation de handicap. Le terme « contenu » Web fait en général référence à l’information d’une page Web ou d’une application Web, comprenant :

les informations générales telles que le texte, les images et les sons ;
le code ou le balisage qui définit la structure, la présentation, etc.

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

Citez quelques bonnes pratiques en termes d’accessibilité.

A

Sémantique
Alt
aria label
Ajout de rôle
Responsive
Navigable au clavier
Contraste

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

A quel point le numérique contribue t-il aux émissions de gaz à effet de serre et de conso d’énergie ?

A

Le numérique consomme 10% de l’électricité annuelle
= 2259 km en voiture / pers

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

Sur quels postes peut-on agir (et dans quelle priorité) pour réduire les émissions et la consommation d’énergie du numérique ? (ex : Support des vieux devices)

A

78% des émissions liées aux appareils : nous devons maximiser l’utilisation de nos apps même sur de vieux appareils (ne pas contribuer à l’obsolescence)
21% liées aux usages : nous pouvons agir fortement en choisissant un hébergeur engagé et en évitant les usages les plus consommateurs de bande passante, stockage et CPU

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

savoir définir une requête HTTP, les verbes HTTP, ce qu’est une URL, les statuts de réponses, etc.

A

Une requête HTTP est un message envoyé par un client à un serveur pour demander une action spécifique. Elle est utilisée pour initier une communication entre un navigateur (client) et un serveur web. Une requête HTTP est généralement composée de l’URL cible, de la méthode HTTP (verbe), des en-têtes (headers) et éventuellement d’un corps de requête (request body) pour les méthodes qui le permettent.GET / PUT(maj / update) / DELETE / PATCH / POST
◦ HEAD : Récupère uniquement les en-têtes d’une ressource (sans son contenu).
◦ OPTIONS : Récupère les méthodes HTTP supportées par le serveur pour une ressource spécifiée.

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

C’est quoi une url ?

A

(Uniform Resource Locator) : Une URL est une adresse utilisée pour localiser une ressource sur Internet. Elle identifie de manière unique une ressource et spécifie le protocole utilisé pour accéder à cette ressource (par exemple, HTTP, HTTPS).

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

De quoi est composé une URL ?

A

◦ Protocole : indique le protocole utilisé, tel que “http://” ou “https://”.
◦ Nom d’hôte : l’adresse du serveur sur lequel se trouve la ressource.
◦ Port (facultatif) : le numéro de port utilisé pour la communication.
◦ Chemin : l’emplacement spécifique de la ressource sur le serveur.
◦ Paramètres (facultatifs) : des données supplémentaires pouvant être utilisées par le serveur.

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

Status réponses HTTP

A

◦ 1xx (Informationnel) : Indique que la requête a été reçue et que le serveur continue le processus.
◦ 2xx (Succès) : Indique que la requête a été traitée avec succès.
◦ 3xx (Redirection) : Indique que des mesures supplémentaires doivent être prises pour compléter la requête.
◦ 4xx (Erreur client) : Indique une erreur causée par la requête du client.
◦ 5xx (Erreur serveur) : Indique une erreur due au serveur lors du traitement de la requête.

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

C’est quoi les micro-services ? Quelle est la différence avec une application monolithique ?

A

Les micro-services sont une façon d’organiser une application en plusieurs petits services indépendants, chacun responsable d’une fonction précise. Chaque micro-service est autonome, peut être développé, déployé et mis à jour séparément, et communique avec les autres via des API (souvent HTTP/REST, gRPC, messages, etc.).

✅ Micro-services — caractéristiques principales

Chaque service = une fonctionnalité
(ex. gestion utilisateurs, paiements, notifications…)

Déploiement indépendant

Technologies différentes possibles
(ex. un service en Java, un autre en Node.js)

Communications via réseau (API, message broker)

Échelle fine : on peut augmenter les ressources pour un seul service

Tolérance aux pannes : une panne d’un service ne bloque pas tout (si bien conçu)

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

C’est quoi un design pattern ? Pouvez-vous en citer plusieurs ?

A

Dans le monde du développement logiciel, les design patterns (ou modèles de conception) représentent des solutions éprouvées et réutilisables à des problèmes courants rencontrés lors de la conception d’un logiciel. L’application de ces patterns permet de rendre le code plus modulaire, maintenable, et extensible, en favorisant des structures logicielles claires et cohérentes.
Il existe trois grands types de design patterns :

Les Creational Design Patterns qui représentent tous les design patterns dédiés à la création d’objets. On y trouvera le Constructor Pattern, le Factory Pattern, etc. ;

Les Structural Design Patterns qui permettent de gérer et d’assembler des objets dans des structures plus grandes. Vous y trouverez, par exemple, l’Adapter Pattern et le Decorator Pattern ;

Et enfin les Behavioral Design Patterns qui correspondent à la communication entre les objets. On y trouve, par exemple, l’Observable Pattern et les State Patterns.

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

SQL : Savoir agréger des données pour faire des stats : ex (CA par région)

A

SELECT
region,
SUM(montant) AS chiffre_affaires
FROM ventes
GROUP BY region;

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

SQl : définir ce que sont les indexes en SQL

A

En SQL, un index est une structure de données spéciale (semblable à un index de livre) qui accélère la recherche et l’accès aux données dans une table.

Sans index, la base doit parcourir toutes les lignes (full table scan) pour trouver l’information.
Avec un index, elle peut localiser directement les lignes recherchées.

Les index améliorent la lecture, mais :

Ralentissent l’insertion, la mise à jour et la suppression

Consomment de l’espace disque

Si mal utilisés, peuvent même degrader les performances

Donc : on indexe les colonnes souvent recherchées ou filtrées, pas toutes.

17
Q

Savoir définir l’approche ACID en SQL

A

L’approche ACID en SQL désigne les quatre propriétés fondamentales qu’une transaction doit respecter pour garantir l’intégrité des données.

Une transaction = un ensemble d’opérations (ex : virement bancaire) qui doivent être exécutées comme un tout.

Atomicity (Atomicité)
La transaction est tout ou rien : si une partie échoue, tout est annulé
Consistency (Cohérence)
Les données passent d’un état valide à un autre état valide (pas de corruption)
Isolation (Isolation)
Les transactions concurrentes ne se perturbent pas : elles semblent s’exécuter chacune seule
Durability (Durabilité)
Une fois validée, la transaction est définitive même en cas de panne

18
Q

connaître une base de données Clé-Valeur (redis, valkey, …) et savoir décrire les principaux cas d’usage ainsi que le fonctionnement général.

A

Une base de données clé-valeur est un type de base NoSQL qui stocke les données sous forme de paire : clé → valeur.
On récupère une donnée en fournissant sa clé (comme un dictionnaire ou un tableau associatif).

Exemples connus : Redis, Valkey (fork open-source de Redis), Memcached, RocksDB, LevelDB.

19
Q

Qu’est-ce que le soft-deleting

A

Le soft-deleting (ou soft delete) est une technique qui consiste à marquer une donnée comme supprimée sans réellement l’effacer de la base de données.

Au lieu de supprimer la ligne (comme avec DELETE), on ajoute généralement un champ (ex. deleted_at ou is_deleted) :

20
Q

Qu’est ce qu’une promesse, citez les différents types ? Si on ne les utilise pas , qu’est ce qu’on fait ?

A

Une promesse (Promise) est un mécanisme en JavaScript (et dans d’autres langages) qui permet de gérer du code asynchrone.
Elle représente une opération en cours qui aboutira plus tard avec un résultat ou une erreur.

Une promesse est un objet qui s’engage à fournir une valeur plus tard : succès ou erreur.

3 étapes
pending En attente (l’opération n’est pas finie)
fulfilled L’opération est réussie
rejected L’opération a échoué

Avant les promesses (et parfois encore aujourd’hui), l’asynchrone était géré avec des callbacks.

21
Q

Pourquoi utiliser une promesse ?

A

On utilise une promesse principalement pour gérer le code asynchrone de manière claire, fiable et maintenable.

Avant les promesses, l’asynchrone se gérait avec des callbacks imbriqués, ce qui rend le code illisible et difficile à maintenir :

Avec les callbacks, il fallait vérifier les erreurs à chaque étape.
Avec les promesses, on peut centraliser la gestion d’erreur avec .catch() ou try/catch en async/await :

22
Q

Tu peux me nommer les structures de bases du langage javascript ?

A

Object, array, map, set
conditionnel (if, switch, boucle)
Fonctions (sum, filter, sort)
Asyncrhone

23
Q

Quelles sont les spécificités du mot clé this ?

A

Le mot-clé this en JavaScript est spécial et contextuel : il fait référence à l’objet sur lequel la fonction est exécutée, mais sa valeur dépend du contexte d’exécution.

Voici les points clés à connaître :

24
Q

Expliquer le fonctionnement de Webpack

A

Webpack est un module bundler pour JavaScript (et plus largement pour les projets front-end). Son rôle principal est de regrouper tous les fichiers d’un projet (JS, CSS, images, etc.) en un ou plusieurs fichiers optimisés pour le navigateur.

25
À quoi sert Babel ? Citer un cas d’utilisation
Babel est un transpileur JavaScript : il permet de transformer du code JS moderne (ES6/ESNext) en code compatible avec les anciens navigateurs ou environnements.
26
Qu’est-ce qu’un token JWT ? De quoi est-il composé ?
Un JWT (JSON Web Token) est un jeton sécurisé utilisé pour authentifier et transmettre des informations entre un client et un serveur, de manière compacte et vérifiable. Composé : Header Type de token et algorithme de signature Payload Données (claims) Signature Hachage du header + payload + secret
27
pouvoir rapidement présenter TLS/SSL (savoir comparer HTTP et HTTPS)
SSL (Secure Sockets Layer) et TLS (Transport Layer Security) sont des protocoles qui permettent de sécuriser les communications sur Internet. TLS est la version moderne et sécurisée de SSL. Objectifs : Confidentialité : les données sont chiffrées → impossibles à lire par un tiers. Intégrité : les données ne peuvent pas être modifiées sans être détectées. Authentification : le serveur (et parfois le client) peut prouver son identité via u
28
Quel est le rôle de l'OWASP ?
L'OWASP (Open Web Application Security Project) est une organisation internationale à but non lucratif dédiée à la sécurité des applications web. Elle fournit des ressources gratuites telles que des outils, des standards, des documentations et des bonnes pratiques pour aider les développeurs et les entreprises à renforcer la sécurité de leurs applications.
29
Peux tu expliquer ce que sont les CORS ?
CORS (Cross-Origin Resource Sharing) est un mécanisme de sécurité des navigateurs qui contrôle les requêtes HTTP faites depuis un domaine différent de celui de la ressource ciblée. Objectif : protéger les utilisateurs contre certaines attaques web (ex : Cross-Site Request Forgery, CSRF). Problème résolu : le same-origin policy interdit par défaut qu’un script d’un site (ex : siteA.com) accède aux données d’un autre site (siteB.com).
30
repondre à la question de ce que sont les décorateurs (executer informations, qui altère ou extrait de l'informations)
Les décorateurs sont un concept de programmation qui permettent de modifier ou d’enrichir le comportement d’une fonction, d’une méthode, d’une classe ou d’une propriété sans toucher directement à son code source. Ils peuvent exécuter du code, extraire des informations ou altérer le comportement d’un élément. 1️⃣ Principe général Un décorateur est une fonction qui prend une fonction ou une classe en argument et renvoie une version modifiée ou enrichie. Très utilisé pour : authentification, logging, validation, mesure de performance, etc.
31
RGPD
RGPD -> utilisateurs prennent e contrôle de données collectées
32
Principes du RGPD
- Un traitement de donnée doit avoir un objectif, justifiant la collecte de données nécessaires - Sécuriser les données personnelles (lors de leur transport - https (protéger man in the middle) + de leurs utiisations - contrôle d'accès et identification des rôles- + stockage - BDD isolée et protégée - + de leur manipulation - dumps et logs, dumps doivent être protégés, ne doit pas rester sur un ordinateur personnel, pareil pour les logs comme console.log qui peuvent contenir des données personnelles - RGPD impose une durée de conservation des données perso limitée
33
Mise en place du RGPD
- informer les utilisateurices, des données collectées, de leur utilisation et des modalités de stockage : - optenir le consentement clair, explicite et réversible des utilisateurices avant de collecter des données mettre à diposition les documents réglementaires (mentions légales et politique de données à minima) Donner le contrôle aux utilisateurs utilisatrices (révoquer l'autorisation de la collecte de données, doivent pouvoir consulter, exporter, modifier, dupprimer leur données personnelles) En tant qu'ntreprise, je dois maintenir un registre de traitement des données personnelles qui doit notamment contenir : une liste exhaustif des données personnelles colectées, toute les informations relatives à la collecte de ces données Cookie doit faire partie de la politique de collecte de données, mais pas besoin su consentement pour ce cookie, car c'est c'est un cookie fonctionnel ( VS cookies à des fins de suivis pas le droit de es utiliser sans consentement explicite)
34
Rôles scrum
- **Product Owner** (littéralement “***propriétaire du produit***”) : il est responsable de la vision globale du produit, il doit gérer le **Product Backlog** et doit maximiser la valeur du produit livrable. Il est le principal point de contact entre l’équipe de développement et les parties prenantes et il doit s’assurer régulièrement que l’équipe de développement a bien compris les priorités et les exigences du produit. Il doit également, à la fin de chaque sprint, examiner les fonctionnalités livrées par l’équipe de développement lors de la revue de sprint (une des réunions que j’ai énoncé plus haut) pour s’assurer qu’elles répondent bien aux attentes et aux besoins des utilisateurs finaux. Le **Product Owner** a un rôle essentiel dans la réussite d’un projet Scrum et contrairement à ce que l’on pourrait imaginer**, il n’est pas nécessairement développeur lui même!** - **Scrum Master** (”***maître scrum*”** ☝️) : on l’appelle aussi le “**facilitateur de l’équipe**”, il s’assure que l’équipe comprend et suit correctement les principes et les pratiques de Scrum. Il aide également à résoudre les difficultés que peut rencontrer l’équipe dans sa progression. Il a un peu un côté “leader” et aide l’équipe à ‘s’auto organiser et à prendre des décisions collectives pour atteindre son objectif. Il peut également avoir un rôle de “protecteur” en permettant à l’équipe de ne pas avoir de distractions néfastes qui pourraient compromettre sa productivité et il est le garant d’un environnement de travail favorable pour les membres de l’équipe en question! Il peut être amené à coacher de manière plus individuelle les membre de l’équipe pour leur permettre de progresser. - **Equipe de développement :** et enfin, puisqu’il ne faut quand même pas l’oublier étant donné qu’elle développe la solution ahah, l’équipe de développement! Elle réalise le travail nécessaire pour livrer un produit (ou un incrément (partie du produit comme j’en ai parlé plus haut)) potentiellement livrable à la fin de chaque sprint.
35
artefact scrum
Et bien il s’agit tout simplement d’un élément ou d’une documentation permettant à l’équipe ou au parties prenant de leur fournir une information utile, en gros, faciliter la communication, la gestion du travail, etc… Finalement vous en connaissez déjà 2, Product Backlog et Sprint Backlog.