Pages

Entrainement aux examens


🕑 Le sujet d'examen 10 minutes ! 


🎞️const films = [

  { titre: "Inception", genre: "SF", note: 9, annee: 2010 },

  { titre: "Titanic", genre: "Romance", note: 8, annee: 1997 },

  { titre: "The Godfather", genre: "Crime", note: 10, annee: 1972 },

  { titre: "Pulp Fiction", genre: "Crime", note: 9, annee: 1994 },

  { titre: "Goodfellas", genre: "Crime", note: 8, annee: 1990 },

  { titre: "The Shawshank Redemption", genre: "Drame", note: 10, annee: 1994 },

  { titre: "The Dark Knight", genre: "Action", note: 9, annee: 2008 },

  { titre: "Interstellar", genre: "SF", note: 10, annee: 2014 },

  { titre: "Amélie", genre: "Comédie", note: 7, annee: 2001 },

  { titre: "Avatar", genre: "SF", note: 7, annee: 2009 },

];


🪛Trouvez la décennie la mieux notée !



🛟Aide

Réflechissez à une structure du style

Objet.entries : Object.entries

map.entries : Map.entries

TD : entrainement à l'examen !

  1. const students = [

  2.     { name: "Amed", city: "Evry" },

  3.     { name: "Bob", city: "Evry" },

  4.     { name: "Charlie", city: "Paris" },

  5.     { name: "David", city: "Paris" },

  6.     { name: "Emma", city: "Evry" },

  7.     { name: "Fatima", city: "Lyon" }

  8. ];


trouvez les deux villes qui logent le plus d'habitants

Attention : utilisez une Map et Map.groupBy !

Object : les méthodes

https://docs.google.com/document/d/1yZ3SrqSbcCwErYmLZ9W6WceJBqYRj0mhx8CZYfjH9MQ/edit?usp=sharing

Stage en entreprise how-to !

 👑Je viens de vous rediger une aide pour la conduite de votre projet !

→ lien


Dans quelque temps, vous serez force de propositions pour proposer d'autres solutions




🛟code


Le must : Proposer l'utilisation de D3 !

👑https://github.com/dupontdenis/proposition-D3.git





Voici le code à injectez dans la cosnole de https://www.cinematheque.fr/video/1469.html le code doit ajouter la bibliothèque D3 ! 



https://gist.github.com/dupontdenis/feceb799636e48651f21b41565d6daef


Saison 2

Saison 1

Chap : JS



Saison 2

Chap : DOM


🪛 Objectifs

Saison 2 : Magie de JS dans le DOM

 Exemple 1

Dans la console d'un site Exemple collez le code suivant ! 


const allTag = (rootElement) => {
  let tags = [],
    counts = {};

  const explore = (element) => {
    for (const child of element.children) {
      tags.push(child.nodeName);
      explore(child);
    }
  };

  explore(rootElement);

  const getWordCnt = (arr) => {
    return arr.reduce((acc, tag) => {
      acc[tag] = (acc[tag] || 0) + 1;
      return acc;
    }, {});
  };

  counts = getWordCnt(tags);

  const sortCounts = (obj) => {
    let sortedEntries = Object.entries(obj).sort((a, b) => b[1] - a[1]);
    // return Object.fromEntries(sortedEntries);
    return sortedEntries
  };

  return sortCounts(counts);
};

const tagCounts = allTag(document.body);
const sortedKeys = tagCounts.map((entry) => entry[0].toLowerCase());
console.log(sortedKeys);

// Create a table for displaying results
const createTable = (data) => {
  let table = document.createElement("table");
  table.style.border = "1px solid black";
  table.style.borderCollapse = "collapse";
  table.style.width = "50%";

  let headerRow = table.insertRow();
  let tagHeader = headerRow.insertCell(0);
  let countHeader = headerRow.insertCell(1);

  tagHeader.textContent = "Tag Name";
  countHeader.textContent = "Count";

  tagHeader.style.border = countHeader.style.border = "1px solid black";
  tagHeader.style.padding = countHeader.style.padding = "5px";
  tagHeader.style.fontWeight = "bold";
  countHeader.style.fontWeight = "bold";

  for (let [tag, count] of (data)) {
    let row = table.insertRow();
    let tagCell = row.insertCell(0);
    let countCell = row.insertCell(1);

    tagCell.textContent = tag;
    countCell.textContent = count;

    tagCell.style.border = countCell.style.border = "1px solid black";
    tagCell.style.padding = countCell.style.padding = "5px";
  }

 // document.body.appendChild(table);
document.body.insertAdjacentHTML("afterbegin", table.outerHTML);
};

// Display the table
createTable(tagCounts);


Exemple 2

HTML

<div id="wrapper">
<div data-tabname="Onglet 1">Contenu 1</div>
  <div data-tabname="Onglet 2">Contenu 2</div>
  <div data-tabname="Onglet 3">Contenu 3</div>
</div>

Magie du JS

Création des boutons
Gestion des événements

Contenu 2