devsite/strapi_extraction/extract/raw/projects-raw.json
2026-03-15 15:28:26 +01:00

6847 lines
417 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"data": [
{
"id": 90,
"documentId": "hy6gk33nxe6dm1lijjjqtink",
"name": "push_swap",
"description": "Le projet push_swap de l'école 42 consiste à trier une liste d'entiers en utilisant uniquement un ensemble limité d'opérations sur deux piles (A et B). Lobjectif est de trouver lalgorithme de tri le plus efficace pour minimiser le nombre de mouvements. Ce projet permet dexplorer la gestion des structures de données (piles), loptimisation des algorithmes de tri, et la complexité algorithmique, tout en respectant des contraintes strictes dexécution.",
"slug": "push-swap",
"Resum": "Le projet push_swap de l'École 42 est conçu pour approfondir la compréhension des algorithmes de tri et des structures de données, en particulier les piles (stacks). Les étudiants doivent développer un programme en C capable de trier une liste d'entiers en utilisant un ensemble limité d'opérations sur deux piles, tout en minimisant le nombre de mouvements effectués.\n\n🎯 Objectifs du Projet\n\nImplémentation d'Algorithmes de Tri : Concevoir et implémenter des algorithmes efficaces pour trier des nombres en utilisant des piles.\n\nGestion des Piles : Manipuler deux piles nommées a et b pour réaliser le tri, en appliquant des opérations spécifiques.\n\nOptimisation des Opérations : Minimiser le nombre total d'opérations nécessaires pour trier la liste initiale.\n\n🛠 Spécifications Techniques\n\nProgramme Principal : Un exécutable nommé push_swap qui prend en entrée une liste d'entiers non triés et affiche les opérations nécessaires pour les trier.\n\nOpérations Autorisées :\n\nsa (swap a): Échange les deux premiers éléments de la pile a.\n\nsb (swap b): Échange les deux premiers éléments de la pile b.\n\nss: Effectue sa et sb simultanément.\n\npa (push a): Prend le premier élément de b et le place sur a.\n\npb (push b): Prend le premier élément de a et le place sur b.\n\nra (rotate a): Fait pivoter tous les éléments de a vers le haut (le premier devient le dernier).\n\nrb (rotate b): Fait pivoter tous les éléments de b vers le haut.\n\nrr: Effectue ra et rb simultanément.\n\nrra (reverse rotate a): Fait pivoter tous les éléments de a vers le bas (le dernier devient le premier).\n\nrrb (reverse rotate b): Fait pivoter tous les éléments de b vers le bas.\n\nrrr: Effectue rra et rrb simultanément.\n\nContraintes :\n\nLe programme doit gérer les erreurs d'entrée, telles que les arguments non numériques ou les doublons.\n\nAucune fonction de tri prédéfinie n'est autorisée.\n\nLe nombre d'opérations doit être optimisé pour obtenir le meilleur score possible lors de l'évaluation.\n\n🔧 Approche d'Implémentation\n\nAnalyse des Entrées :\n\nVérifier la validité des arguments fournis (nombres entiers, absence de doublons).\n\nInitialiser les piles a et b en conséquence.\n\nChoix de l'Algorithme de Tri :\n\nPour un petit nombre d'éléments (par exemple, 3 ou 5), utiliser des algorithmes simples comme le tri par sélection ou le tri à bulles.\n\nPour un plus grand nombre d'éléments, implémenter des algorithmes plus complexes, tels que le tri par insertion ou des variantes du tri rapide adaptées aux piles.\n\nOptimisation des Opérations :\n\nAnalyser les séquences d'opérations pour identifier les redondances ou les mouvements inutiles.\n\nCombiner des opérations lorsque cela est possible (par exemple, utiliser ss au lieu de sa suivi de sb).\n\nGestion de la Mémoire :\n\nAssurer une allocation et une libération appropriées de la mémoire pour éviter les fuites.\n\nUtiliser des structures de données appropriées pour représenter les piles et faciliter les opérations.\n\n📂 Structure du Projet\n\nFichiers Principaux :\n\npush_swap.c : Contient la fonction main et la logique générale du programme.\n\noperations.c : Implémente les fonctions correspondant aux opérations autorisées (sa, pb, etc.).\n\nsorting_algorithms.c : Contient les différentes stratégies de tri en fonction de la taille de la pile.\n\nutils.c : Fonctions utilitaires pour la gestion des piles et la validation des entrées.\n\nFichiers d'En-tête :\n\npush_swap.h : Déclare les prototypes de fonctions et les structures de données utilisées.\nCompilation :\n\nUtilisation d'un Makefile pour automatiser la compilation et gérer les dépendances.\n\n🧪 Tests et Validation\n\nCas de Test :\n\nListes déjà triées, inversées, ou avec des motifs spécifiques.\n\nGrandes listes générées aléatoirement pour évaluer les performances.\n\nOutils de Test :\n\nScripts pour automatiser les tests et comparer les résultats avec des solutions de référence.\n\nUtilisation d'outils de débogage et de profilage pour identifier les goulots d'étranglement et optimiser le code.\n",
"link": "https://github.com/Ladebeze66/pushswap",
"createdAt": "2025-01-31T21:55:51.669Z",
"updatedAt": "2025-02-10T15:48:06.026Z",
"publishedAt": "2025-02-10T15:48:06.042Z",
"order": null,
"picture": [
{
"id": 38,
"documentId": "lt32ju04k69sfte56t5ek74g",
"name": "u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec-90a0-4cad-83ff-6c797cbf0c1e.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec-90a0-4cad-83ff-6c797cbf0c1e.png",
"hash": "thumbnail_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 29.57,
"sizeInBytes": 29565,
"url": "/uploads/thumbnail_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796.png"
},
"small": {
"name": "small_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec-90a0-4cad-83ff-6c797cbf0c1e.png",
"hash": "small_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 76.49,
"sizeInBytes": 76494,
"url": "/uploads/small_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796.png"
},
"medium": {
"name": "medium_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec-90a0-4cad-83ff-6c797cbf0c1e.png",
"hash": "medium_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 143.23,
"sizeInBytes": 143231,
"url": "/uploads/medium_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796.png"
},
"large": {
"name": "large_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec-90a0-4cad-83ff-6c797cbf0c1e.png",
"hash": "large_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 231.75,
"sizeInBytes": 231747,
"url": "/uploads/large_u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796.png"
}
},
"hash": "u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796",
"ext": ".png",
"mime": "image/png",
"size": 382.13,
"url": "/uploads/u6113228922_A_clean_and_modern_infographic_explaining_push_swap_565e80ec_90a0_4cad_83ff_6c797cbf0c1e_d543d12796.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:08:58.068Z",
"updatedAt": "2025-01-31T22:08:58.068Z",
"publishedAt": "2025-01-31T22:08:58.069Z"
},
{
"id": 39,
"documentId": "ohfprt5fzvsp2g5gl9p30z8v",
"name": "u6113228922_A_programmer_deeply_focused_on_optimizing_the_push__1c5d86e7-193c-4fa4-8cbc-84e82304ae84.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push__1c5d86e7-193c-4fa4-8cbc-84e82304ae84.png",
"hash": "thumbnail_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 79.69,
"sizeInBytes": 79694,
"url": "/uploads/thumbnail_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e.png"
},
"small": {
"name": "small_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push__1c5d86e7-193c-4fa4-8cbc-84e82304ae84.png",
"hash": "small_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 304.25,
"sizeInBytes": 304246,
"url": "/uploads/small_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e.png"
},
"medium": {
"name": "medium_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push__1c5d86e7-193c-4fa4-8cbc-84e82304ae84.png",
"hash": "medium_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 665.96,
"sizeInBytes": 665959,
"url": "/uploads/medium_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e.png"
},
"large": {
"name": "large_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push__1c5d86e7-193c-4fa4-8cbc-84e82304ae84.png",
"hash": "large_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1189.35,
"sizeInBytes": 1189353,
"url": "/uploads/large_u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e.png"
}
},
"hash": "u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e",
"ext": ".png",
"mime": "image/png",
"size": 2306.83,
"url": "/uploads/u6113228922_A_programmer_deeply_focused_on_optimizing_the_push_1c5d86e7_193c_4fa4_8cbc_84e82304ae84_fd4d01a67e.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:09:02.571Z",
"updatedAt": "2025-01-31T22:09:02.571Z",
"publishedAt": "2025-01-31T22:09:02.571Z"
},
{
"id": 40,
"documentId": "oj5nurd8ki1mtxt8jiyc0j58",
"name": "u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a-15fc-44c2-9daa-f77b63acc44c.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a-15fc-44c2-9daa-f77b63acc44c.png",
"hash": "thumbnail_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 92.17,
"sizeInBytes": 92166,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426.png"
},
"small": {
"name": "small_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a-15fc-44c2-9daa-f77b63acc44c.png",
"hash": "small_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 365.17,
"sizeInBytes": 365171,
"url": "/uploads/small_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426.png"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a-15fc-44c2-9daa-f77b63acc44c.png",
"hash": "medium_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 797.03,
"sizeInBytes": 797026,
"url": "/uploads/medium_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426.png"
},
"large": {
"name": "large_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a-15fc-44c2-9daa-f77b63acc44c.png",
"hash": "large_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1402.69,
"sizeInBytes": 1402689,
"url": "/uploads/large_u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426.png"
}
},
"hash": "u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426",
"ext": ".png",
"mime": "image/png",
"size": 2497.49,
"url": "/uploads/u6113228922_A_futuristic_data_flow_representation_of_the_push_s_309fec3a_15fc_44c2_9daa_f77b63acc44c_1206e81426.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:09:04.420Z",
"updatedAt": "2025-01-31T22:09:04.420Z",
"publishedAt": "2025-01-31T22:09:04.420Z"
},
{
"id": 41,
"documentId": "u9ex7b45tnc4erk1ow9nmbih",
"name": "u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e-1c71-46b4-ac5c-dabbdc268755.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e-1c71-46b4-ac5c-dabbdc268755.png",
"hash": "thumbnail_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 83.66,
"sizeInBytes": 83663,
"url": "/uploads/thumbnail_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062.png"
},
"small": {
"name": "small_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e-1c71-46b4-ac5c-dabbdc268755.png",
"hash": "small_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 322.51,
"sizeInBytes": 322509,
"url": "/uploads/small_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062.png"
},
"medium": {
"name": "medium_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e-1c71-46b4-ac5c-dabbdc268755.png",
"hash": "medium_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 709.11,
"sizeInBytes": 709113,
"url": "/uploads/medium_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062.png"
},
"large": {
"name": "large_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e-1c71-46b4-ac5c-dabbdc268755.png",
"hash": "large_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1269.81,
"sizeInBytes": 1269806,
"url": "/uploads/large_u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062.png"
}
},
"hash": "u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062",
"ext": ".png",
"mime": "image/png",
"size": 2548.09,
"url": "/uploads/u6113228922_A_vintage_computer_screen_displaying_an_animated_vi_3a8bc28e_1c71_46b4_ac5c_dabbdc268755_d134c40062.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:09:04.477Z",
"updatedAt": "2025-01-31T22:13:19.656Z",
"publishedAt": "2025-01-31T22:09:04.477Z"
},
{
"id": 42,
"documentId": "gn9rbtugcp8rlr6i9v1amokf",
"name": "u6113228922_A_surreal_artistic_representation_of_sorting_where__521a89b6-0d4d-4e16-9de8-b610ea91dd55.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_representation_of_sorting_where__521a89b6-0d4d-4e16-9de8-b610ea91dd55.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 90.48,
"sizeInBytes": 90483,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_representation_of_sorting_where__521a89b6-0d4d-4e16-9de8-b610ea91dd55.png",
"hash": "small_u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 343.32,
"sizeInBytes": 343320,
"url": "/uploads/small_u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_representation_of_sorting_where__521a89b6-0d4d-4e16-9de8-b610ea91dd55.png",
"hash": "large_u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1291.44,
"sizeInBytes": 1291442,
"url": "/uploads/large_u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_representation_of_sorting_where__521a89b6-0d4d-4e16-9de8-b610ea91dd55.png",
"hash": "medium_u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 732.01,
"sizeInBytes": 732006,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482.png"
}
},
"hash": "u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482",
"ext": ".png",
"mime": "image/png",
"size": 1720,
"url": "/uploads/u6113228922_A_surreal_artistic_representation_of_sorting_where_521a89b6_0d4d_4e16_9de8_b610ea91dd55_def4c7c482.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:09:05.373Z",
"updatedAt": "2025-01-31T22:09:05.373Z",
"publishedAt": "2025-01-31T22:09:05.373Z"
}
]
},
{
"id": 92,
"documentId": "mmseucs6va80zb9ught6p2p8",
"name": "minitalk",
"description": "Le projet Minitalk de l'école 42 consiste à établir une communication inter-processus (IPC) entre un serveur et un client en utilisant uniquement les signaux UNIX (SIGUSR1 et SIGUSR2). Le client envoie un message caractère par caractère sous forme binaire, tandis que le serveur le reçoit, le reconstruit et l'affiche. Ce projet permet dapprendre la gestion des signaux, la conversion binaire et la synchronisation des processus en C.",
"slug": "minitalk",
"Resum": "Le projet Minitalk de l'École 42 consiste à développer un programme de communication entre processus en utilisant les signaux UNIX. L'objectif est de créer un serveur capable de recevoir et d'afficher des messages envoyés par un client, en se servant exclusivement des signaux SIGUSR1 et SIGUSR2 pour transmettre les données. \n\n🎯 Objectifs du Projet\n\nCommunication Inter-Processus (IPC) : Mettre en place une communication efficace entre deux processus distincts en utilisant les signaux UNIX.\n\nGestion des Signaux : Apprendre à manipuler et à gérer les signaux SIGUSR1 et SIGUSR2 pour transmettre des informations entre le client et le serveur.\n\nConversion des Données : Convertir les messages en une forme binaire afin de les transmettre bit par bit via les signaux, puis les reconstruire correctement du côté du serveur.\n\n🛠 Spécifications Techniques\n\nProgrammes à Développer :\n\nServeur :\n\nDoit afficher son PID (Process ID) au lancement.\nAttend de recevoir des messages du client et les affiche dès réception.\nClient :\n\nPrend en paramètres le PID du serveur et le message à envoyer.\nEnvoie le message au serveur en utilisant uniquement les signaux SIGUSR1 et SIGUSR2.\nContraintes :\n\nUtilisation exclusive des signaux SIGUSR1 et SIGUSR2 pour la communication.\n\nGestion des erreurs, notamment la validation des PID et la vérification de la bonne réception des messages.\n\nRespect des normes de codage de l'École 42.\n\n🔧 Approche d'Implémentation\n\nInitialisation du Serveur :\n\nLe serveur démarre et affiche son PID, permettant au client de le cibler pour la communication.\nMise en place d'un gestionnaire de signaux pour traiter SIGUSR1 et SIGUSR2.\n\nEnvoi du Message par le Client :\n\nLe client convertit chaque caractère du message en sa représentation binaire.\nPour chaque bit, le client envoie SIGUSR1 pour un bit à 0 et SIGUSR2 pour un bit à 1 au PID du serveur.\n\nRéception et Reconstruction du Message par le Serveur :\n\nLe serveur reçoit les signaux et reconstruit les caractères en assemblant les bits reçus.\nUne fois le message complet, il l'affiche à l'écran.\n\nGestion des Cas Particuliers :\n\nAssurer la synchronisation entre le client et le serveur pour éviter les pertes de données.\nGérer les interruptions et les erreurs potentielles lors de la transmission.\n\n📂 Structure du Projet\n\nFichiers Principaux :\n\nserver.c : Contient le code du serveur, y compris l'initialisation, la gestion des signaux et l'affichage des messages reçus.\n\nclient.c : Contient le code du client, responsable de la conversion du message en signaux et de leur envoi au serveur.\n\nMakefile : Automatise la compilation des programmes client et serveur.\nFonctions Autorisées :\n\nmalloc, free, write, getpid, signal, sigemptyset, sigaddset, sigaction, pause, kill, sleep, usleep, exit.\n\n🧪 Tests et Validation\n\nTests Fonctionnels :\n\nVérifier que le client peut envoyer des messages de différentes longueurs au serveur.\n\nConfirmer que le serveur affiche correctement les messages reçus.\n\nTests de Robustesse :\n\nTester la gestion des erreurs, comme l'envoi d'un message à un PID invalide.\n\nÉvaluer le comportement du système lors de l'envoi simultané de messages par plusieurs clients.\n\nTests de Performance :\n\nMesurer le temps de transmission pour des messages de grande taille.\n\nAnalyser l'utilisation des ressources système pendant la communication.",
"link": "https://github.com/Ladebeze66/minitalk",
"createdAt": "2025-01-31T22:07:06.575Z",
"updatedAt": "2025-02-10T15:55:25.623Z",
"publishedAt": "2025-02-10T15:55:25.640Z",
"order": null,
"picture": [
{
"id": 44,
"documentId": "qjrk5s37xvk60ldmqjsowcxa",
"name": "u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91-d701-4a6c-975e-a528f1da9b26.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91-d701-4a6c-975e-a528f1da9b26.png",
"hash": "thumbnail_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 35.99,
"sizeInBytes": 35987,
"url": "/uploads/thumbnail_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f.png"
},
"small": {
"name": "small_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91-d701-4a6c-975e-a528f1da9b26.png",
"hash": "small_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 112.12,
"sizeInBytes": 112123,
"url": "/uploads/small_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f.png"
},
"medium": {
"name": "medium_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91-d701-4a6c-975e-a528f1da9b26.png",
"hash": "medium_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 213.47,
"sizeInBytes": 213467,
"url": "/uploads/medium_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f.png"
},
"large": {
"name": "large_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91-d701-4a6c-975e-a528f1da9b26.png",
"hash": "large_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 351.59,
"sizeInBytes": 351590,
"url": "/uploads/large_u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f.png"
}
},
"hash": "u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f",
"ext": ".png",
"mime": "image/png",
"size": 841.99,
"url": "/uploads/u6113228922_A_clean_and_structured_infographic_illustrating_how_05a70f91_d701_4a6c_975e_a528f1da9b26_65fd4dd76f.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:24:52.438Z",
"updatedAt": "2025-01-31T22:24:52.438Z",
"publishedAt": "2025-01-31T22:24:52.438Z"
},
{
"id": 45,
"documentId": "du29uq7nk0qehstfxibkwhme",
"name": "u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c-4c39-42d1-9a5f-0c692275683f.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c-4c39-42d1-9a5f-0c692275683f.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 81.61,
"sizeInBytes": 81612,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c-4c39-42d1-9a5f-0c692275683f.png",
"hash": "small_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 308.17,
"sizeInBytes": 308166,
"url": "/uploads/small_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c-4c39-42d1-9a5f-0c692275683f.png",
"hash": "medium_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 671.53,
"sizeInBytes": 671534,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c-4c39-42d1-9a5f-0c692275683f.png",
"hash": "large_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1196.72,
"sizeInBytes": 1196725,
"url": "/uploads/large_u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381.png"
}
},
"hash": "u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381",
"ext": ".png",
"mime": "image/png",
"size": 2572.76,
"url": "/uploads/u6113228922_A_surreal_artistic_representation_of_information_tr_4599be0c_4c39_42d1_9a5f_0c692275683f_24614a1381.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:24:54.839Z",
"updatedAt": "2025-01-31T22:24:54.839Z",
"publishedAt": "2025-01-31T22:24:54.839Z"
},
{
"id": 46,
"documentId": "ldbtbf841zvxv2zxjswebby2",
"name": "u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e-eaf2-4449-b108-3297ff258ddb.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e-eaf2-4449-b108-3297ff258ddb.png",
"hash": "thumbnail_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 79.07,
"sizeInBytes": 79071,
"url": "/uploads/thumbnail_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9.png"
},
"small": {
"name": "small_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e-eaf2-4449-b108-3297ff258ddb.png",
"hash": "small_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 298.11,
"sizeInBytes": 298111,
"url": "/uploads/small_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9.png"
},
"medium": {
"name": "medium_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e-eaf2-4449-b108-3297ff258ddb.png",
"hash": "medium_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 637.44,
"sizeInBytes": 637437,
"url": "/uploads/medium_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9.png"
},
"large": {
"name": "large_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e-eaf2-4449-b108-3297ff258ddb.png",
"hash": "large_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1109.67,
"sizeInBytes": 1109667,
"url": "/uploads/large_u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9.png"
}
},
"hash": "u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9",
"ext": ".png",
"mime": "image/png",
"size": 2032.99,
"url": "/uploads/u6113228922_A_programmer_debugging_an_IPC_system_in_C_carefully_ad4cd64e_eaf2_4449_b108_3297ff258ddb_10658f37e9.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:24:54.899Z",
"updatedAt": "2025-01-31T22:24:54.899Z",
"publishedAt": "2025-01-31T22:24:54.899Z"
},
{
"id": 47,
"documentId": "s9sxvy83rl0reluj5ygl77eu",
"name": "u6113228922_A_futuristic_representation_of_inter-process_commun_8d14af5d-0def-43f9-8ea1-21acf143a6b1.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_representation_of_inter-process_commun_8d14af5d-0def-43f9-8ea1-21acf143a6b1.png",
"hash": "thumbnail_u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 90.57,
"sizeInBytes": 90568,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b.png"
},
"small": {
"name": "small_u6113228922_A_futuristic_representation_of_inter-process_commun_8d14af5d-0def-43f9-8ea1-21acf143a6b1.png",
"hash": "small_u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 353.08,
"sizeInBytes": 353083,
"url": "/uploads/small_u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b.png"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_representation_of_inter-process_commun_8d14af5d-0def-43f9-8ea1-21acf143a6b1.png",
"hash": "medium_u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 763.58,
"sizeInBytes": 763576,
"url": "/uploads/medium_u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b.png"
},
"large": {
"name": "large_u6113228922_A_futuristic_representation_of_inter-process_commun_8d14af5d-0def-43f9-8ea1-21acf143a6b1.png",
"hash": "large_u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1341.49,
"sizeInBytes": 1341488,
"url": "/uploads/large_u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b.png"
}
},
"hash": "u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b",
"ext": ".png",
"mime": "image/png",
"size": 2313.55,
"url": "/uploads/u6113228922_A_futuristic_representation_of_inter_process_commun_8d14af5d_0def_43f9_8ea1_21acf143a6b1_f05837b42b.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T22:24:58.300Z",
"updatedAt": "2025-01-31T22:24:58.300Z",
"publishedAt": "2025-01-31T22:24:58.300Z"
}
]
},
{
"id": 94,
"documentId": "fdxxllv5nuwy6qo397wzdch3",
"name": "philosopher",
"description": "Le projet Philosopher de l'école 42 consiste à résoudre le problème des philosophes mangeurs, un exercice classique de programmation concurrente. Il met en œuvre des threads ou processus pour simuler des philosophes partageant des fourchettes et alternant entre les états manger, penser et dormir, tout en évitant les problèmes de deadlock et starvation. Ce projet permet dapprendre la gestion des threads (pthread), lutilisation des mutex et sémaphores, ainsi que la synchronisation des ressources partagées.",
"slug": "philosopher",
"Resum": "Le projet Philosopher de l'École 42 est une implémentation du célèbre problème des philosophes mangeurs (ou Dining Philosophers Problem), conçu pour introduire les étudiants aux concepts fondamentaux de la programmation concurrente. Ce problème illustre les défis liés à la synchronisation et à la gestion des ressources partagées entre processus ou threads.\n\n🎯 Objectifs du Projet\n\nCompréhension de la Programmation Concurrente : Apprendre à gérer l'exécution simultanée de plusieurs threads ou processus au sein d'un programme.\n\nGestion des Ressources Partagées : Mettre en place des mécanismes pour synchroniser l'accès à des ressources communes, évitant ainsi les conditions de course et les blocages.\n\nUtilisation des Mutex et Sémaphores : Implémenter des solutions utilisant des mutex et des sémaphores pour contrôler l'accès aux ressources partagées et assurer la synchronisation entre threads ou processus.\n\n🛠 Spécifications Techniques (Suite)\n\nContraintes (Suite) :\nLe programme doit éviter les situations de deadlock (blocage mutuel) où aucun philosophe ne peut progresser.\n\nIl doit également prévenir les situations de starvation où un philosophe ne peut jamais accéder aux fourchettes nécessaires pour manger.\n\nLes actions des philosophes (prendre une fourchette, manger, dormir, penser) doivent être affichées avec un horodatage pour suivre l'évolution de la simulation.\n\n🔧 Approche d'Implémentation\n\n1⃣ Gestion des Threads et Synchronisation\n\nChaque philosophe est représenté par un thread.\n\nLes fourchettes sont partagées et représentées par des mutex (pour la version multi-threads) ou sémaphores (pour la version multi-processus).\n\nChaque philosophe tente dacquérir les deux fourchettes adjacentes avant de commencer à manger.\n\n2⃣ Éviter les Problèmes de Concurrence\n\nPour éviter un deadlock, une approche classique consiste à :\nFaire en sorte que le dernier philosophe prenne dabord la fourchette droite, puis la gauche (contrairement aux autres).\n\nUtiliser un sémaphore global pour limiter le nombre de philosophes mangeant simultanément.\n\nPour éviter la starvation, on sassure quaucun philosophe ne reste bloqué indéfiniment sans accès aux fourchettes.\n\n3⃣ Gestion des États et Horodatage\n\nChaque action est enregistrée avec un timestamp.\n\nUn thread de surveillance peut être utilisé pour vérifier si un philosophe na pas mangé depuis trop longtemps et signaler sa mort si nécessaire.\n\n🧪 Tests et Validation\n\nTests Fonctionnels :\n\nVérifier que les philosophes prennent correctement les fourchettes et alternent entre les états.\nObserver si la simulation empêche les deadlocks et starvation.\n\nTests de Performance :\n\nExécuter avec un nombre élevé de philosophes pour tester la stabilité et lefficacité du programme.\n\nCas Limites :\n\nPhilosophe unique (peut-il manger ?).\n\nTemps à mourir très court.\n\nVérification des performances avec un grand nombre de philosophes.\n\n🚀 Pourquoi ce projet est important ?\n\nLe projet Philosopher est une introduction essentielle aux problèmes de concurrence en informatique. Il enseigne la gestion des threads et processus, la synchronisation avec mutex et sémaphores, et loptimisation des ressources partagées. Ces concepts sont fondamentaux pour le développement système, les bases de données et le multithreading en programmation avancée.",
"link": "https://github.com/Ladebeze66/philosophers",
"createdAt": "2025-01-31T22:39:00.386Z",
"updatedAt": "2025-02-10T15:59:22.840Z",
"publishedAt": "2025-02-10T15:59:22.858Z",
"order": null,
"picture": [
{
"id": 77,
"documentId": "w1do24d3wul48fydi2t1wi5o",
"name": "u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35-f356-4f84-939a-4f1dd494394a.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35-f356-4f84-939a-4f1dd494394a.png",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 16.89,
"sizeInBytes": 16894,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6.png"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35-f356-4f84-939a-4f1dd494394a.png",
"hash": "small_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 47.56,
"sizeInBytes": 47564,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6.png"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35-f356-4f84-939a-4f1dd494394a.png",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 83.95,
"sizeInBytes": 83948,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6.png"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35-f356-4f84-939a-4f1dd494394a.png",
"hash": "large_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 133.96,
"sizeInBytes": 133956,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6.png"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6",
"ext": ".png",
"mime": "image/png",
"size": 339.04,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_illustrating_th_9d555a35_f356_4f84_939a_4f1dd494394a_bd752b55f6.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T23:25:56.435Z",
"updatedAt": "2025-01-31T23:25:56.435Z",
"publishedAt": "2025-01-31T23:25:56.435Z"
},
{
"id": 78,
"documentId": "mu1ekxatb4bwm6u7bjtplgzo",
"name": "u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd-93d0-47e0-acdf-36b6235e9a89.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd-93d0-47e0-acdf-36b6235e9a89.png",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 34.22,
"sizeInBytes": 34223,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9.png"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd-93d0-47e0-acdf-36b6235e9a89.png",
"hash": "small_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 103.53,
"sizeInBytes": 103534,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9.png"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd-93d0-47e0-acdf-36b6235e9a89.png",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 189.83,
"sizeInBytes": 189827,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9.png"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd-93d0-47e0-acdf-36b6235e9a89.png",
"hash": "large_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 303.85,
"sizeInBytes": 303851,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9.png"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9",
"ext": ".png",
"mime": "image/png",
"size": 505.98,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_illustrating_th_4b9c85fd_93d0_47e0_acdf_36b6235e9a89_88315fe0d9.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T23:25:57.133Z",
"updatedAt": "2025-01-31T23:25:57.133Z",
"publishedAt": "2025-01-31T23:25:57.133Z"
},
{
"id": 79,
"documentId": "d4y5drwj1hbc43tcv6iwx1qa",
"name": "u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229-ac86-402d-adcb-5a3f6bc80ccb.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229-ac86-402d-adcb-5a3f6bc80ccb.png",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 27.77,
"sizeInBytes": 27766,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d.png"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229-ac86-402d-adcb-5a3f6bc80ccb.png",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 129.15,
"sizeInBytes": 129146,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d.png"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229-ac86-402d-adcb-5a3f6bc80ccb.png",
"hash": "small_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 73.92,
"sizeInBytes": 73923,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d.png"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229-ac86-402d-adcb-5a3f6bc80ccb.png",
"hash": "large_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 199.56,
"sizeInBytes": 199564,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d.png"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d",
"ext": ".png",
"mime": "image/png",
"size": 362.2,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_illustrating_th_9e894229_ac86_402d_adcb_5a3f6bc80ccb_4d613b843d.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T23:25:57.320Z",
"updatedAt": "2025-01-31T23:25:57.320Z",
"publishedAt": "2025-01-31T23:25:57.320Z"
},
{
"id": 80,
"documentId": "uqg4lpoipkbiahzkzjdke0m2",
"name": "u6113228922_A_futuristic_AI-driven_simulation_where_five_digita_1cde60bb-bdc1-4975-9f9c-22f032012c2b.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_AI-driven_simulation_where_five_digita_1cde60bb-bdc1-4975-9f9c-22f032012c2b.png",
"hash": "thumbnail_u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 78.46,
"sizeInBytes": 78459,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f.png"
},
"small": {
"name": "small_u6113228922_A_futuristic_AI-driven_simulation_where_five_digita_1cde60bb-bdc1-4975-9f9c-22f032012c2b.png",
"hash": "small_u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 286.79,
"sizeInBytes": 286793,
"url": "/uploads/small_u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f.png"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_AI-driven_simulation_where_five_digita_1cde60bb-bdc1-4975-9f9c-22f032012c2b.png",
"hash": "medium_u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 594.71,
"sizeInBytes": 594712,
"url": "/uploads/medium_u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f.png"
},
"large": {
"name": "large_u6113228922_A_futuristic_AI-driven_simulation_where_five_digita_1cde60bb-bdc1-4975-9f9c-22f032012c2b.png",
"hash": "large_u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1022.98,
"sizeInBytes": 1022983,
"url": "/uploads/large_u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f.png"
}
},
"hash": "u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f",
"ext": ".png",
"mime": "image/png",
"size": 2614.99,
"url": "/uploads/u6113228922_A_futuristic_AI_driven_simulation_where_five_digita_1cde60bb_bdc1_4975_9f9c_22f032012c2b_c5e63ef46f.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T23:25:59.096Z",
"updatedAt": "2025-01-31T23:25:59.096Z",
"publishedAt": "2025-01-31T23:25:59.096Z"
},
{
"id": 81,
"documentId": "of6sy761uwiaxrb6q408k238",
"name": "u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986-02e5-4b33-a5f6-cb8cef569718.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986-02e5-4b33-a5f6-cb8cef569718.png",
"hash": "thumbnail_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 83.88,
"sizeInBytes": 83884,
"url": "/uploads/thumbnail_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb.png"
},
"small": {
"name": "small_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986-02e5-4b33-a5f6-cb8cef569718.png",
"hash": "small_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 306.51,
"sizeInBytes": 306508,
"url": "/uploads/small_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb.png"
},
"medium": {
"name": "medium_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986-02e5-4b33-a5f6-cb8cef569718.png",
"hash": "medium_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 646.67,
"sizeInBytes": 646666,
"url": "/uploads/medium_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb.png"
},
"large": {
"name": "large_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986-02e5-4b33-a5f6-cb8cef569718.png",
"hash": "large_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1133.41,
"sizeInBytes": 1133406,
"url": "/uploads/large_u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb.png"
}
},
"hash": "u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb",
"ext": ".png",
"mime": "image/png",
"size": 2256.3,
"url": "/uploads/u6113228922_A_programmer_working_on_the_Philosopher_project_car_bd374986_02e5_4b33_a5f6_cb8cef569718_990a3a14cb.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T23:25:59.130Z",
"updatedAt": "2025-01-31T23:25:59.130Z",
"publishedAt": "2025-01-31T23:25:59.130Z"
},
{
"id": 82,
"documentId": "h989762nslkhs6ee5m9bhh40",
"name": "u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4-cebe-455c-9ecc-15e097fa8862.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4-cebe-455c-9ecc-15e097fa8862.png",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 70.11,
"sizeInBytes": 70111,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180.png"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4-cebe-455c-9ecc-15e097fa8862.png",
"hash": "small_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 263.83,
"sizeInBytes": 263825,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4-cebe-455c-9ecc-15e097fa8862.png",
"hash": "medium_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 581.68,
"sizeInBytes": 581679,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180.png"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4-cebe-455c-9ecc-15e097fa8862.png",
"hash": "large_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1046.15,
"sizeInBytes": 1046151,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180.png"
}
},
"hash": "u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180",
"ext": ".png",
"mime": "image/png",
"size": 2426.63,
"url": "/uploads/u6113228922_A_surreal_representation_of_the_dining_philosophers_f0b63bb4_cebe_455c_9ecc_15e097fa8862_5b60aae180.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T23:26:00.716Z",
"updatedAt": "2025-01-31T23:26:00.716Z",
"publishedAt": "2025-01-31T23:26:00.716Z"
},
{
"id": 83,
"documentId": "st3phgndh67z6gtse3i2k754",
"name": "u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115-bf85-45b3-8dda-d08c4efcd332.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115-bf85-45b3-8dda-d08c4efcd332.png",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 80.27,
"sizeInBytes": 80268,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418.png"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115-bf85-45b3-8dda-d08c4efcd332.png",
"hash": "small_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 308.54,
"sizeInBytes": 308539,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115-bf85-45b3-8dda-d08c4efcd332.png",
"hash": "medium_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 661.58,
"sizeInBytes": 661580,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418.png"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115-bf85-45b3-8dda-d08c4efcd332.png",
"hash": "large_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1148.17,
"sizeInBytes": 1148167,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418.png"
}
},
"hash": "u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418",
"ext": ".png",
"mime": "image/png",
"size": 2281.88,
"url": "/uploads/u6113228922_A_surreal_representation_of_the_dining_philosophers_77892115_bf85_45b3_8dda_d08c4efcd332_abe179e418.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T23:26:03.548Z",
"updatedAt": "2025-01-31T23:26:03.548Z",
"publishedAt": "2025-01-31T23:26:03.548Z"
}
]
},
{
"id": 95,
"documentId": "m3wpmdourld0oc7e6do61wcu",
"name": "minishell",
"description": "Le projet Minishell de l'école 42 consiste à coder un interpréteur de commandes minimaliste, inspiré de bash. Il permet dexécuter des commandes via un prompt interactif, en gérant les processus, les pipes (|), les redirections (<, >, >>, <<), et les signaux (Ctrl+C, Ctrl+D). Il inclut aussi des built-ins (echo, cd, pwd, export, env, unset, exit). Ce projet développe des compétences essentielles en programmation système, gestion de la mémoire et manipulation des processus sous Unix.",
"slug": "minishell",
"Resum": "Le projet Minishell de l'École 42 consiste à développer un interpréteur de commandes minimaliste, inspiré de bash. Ce projet vise à familiariser les étudiants avec le fonctionnement interne des shells, en mettant l'accent sur le parsing, la gestion des processus, la synchronisation et la gestion des signaux.\n\n🎯 Objectifs du Projet\n\nCompréhension des Shells Unix : Apprendre le fonctionnement des shells, qui fournissent une interface en ligne de commande pour interagir avec le système.\n\nGestion des Processus : Mettre en œuvre la création, la synchronisation et la terminaison des processus pour exécuter des commandes utilisateur.\n\nGestion des Signaux : Manipuler les signaux pour gérer les interruptions et les commandes intégrées, telles que Ctrl+C pour interrompre un processus.\n\nImplémentation des Redirections et des Pipes : Gérer les redirections d'entrée/sortie (<, >, >>) et les pipes (|) pour permettre la communication entre processus.\n\n🛠 Spécifications Techniques\n\nFonctionnalités à Implémenter :\n\nAffichage d'un Prompt : Afficher un prompt personnalisé en attente des commandes de l'utilisateur.\n\nHistorique des Commandes : Maintenir un historique des commandes exécutées pour permettre la navigation et la réexécution.\n\nExécution des Commandes : Localiser et exécuter les exécutables en se basant sur la variable d'environnement PATH ou via un chemin absolu.\n\nGestion des Citations Simples et Doubles : Gérer les guillemets simples (') et doubles (\") pour empêcher ou permettre l'interprétation des métacaractères.\n\nRedirections :\n\nEntrée (<) : Rediriger l'entrée standard depuis un fichier.\n\n**Sortie (>) : Rediriger la sortie standard vers un fichier, en écrasant le contenu existant.\n\n**Append (>>) : Rediriger la sortie standard vers un fichier, en ajoutant au contenu existant.\n\n**Heredoc (<<) : Lire l'entrée jusqu'à un délimiteur spécifié, sans mettre à jour l'historique.\n\nPipes (|) : Connecter la sortie d'une commande à l'entrée d'une autre, permettant la création de pipelines.\n\nVariables d'Environnement : Gérer l'expansion des variables d'environnement ($VARIABLE) et de la variable $? pour le statut de sortie de la dernière commande exécutée.\n\nGestion des Signaux :\n\nCtrl+C : Afficher un nouveau prompt sur une nouvelle ligne.\n\nCtrl+D : Quitter le shell.\n\nCtrl+\\ : Ne rien faire.\n\nBuilt-ins à Implémenter :\n\necho : Avec l'option -n pour supprimer le saut de ligne final.\n\ncd : Changer le répertoire de travail actuel.\n\npwd : Afficher le répertoire de travail actuel.\n\nexport : Définir des variables d'environnement.\n\nunset : Supprimer des variables d'environnement.\n\nenv : Afficher les variables d'environnement actuelles.\n\nexit : Quitter le shell.\n\n🔧 Approche d'Implémentation\n\nLecture de l'Entrée :\n\nUtiliser la fonction readline pour afficher le prompt et lire l'entrée de l'utilisateur.\n\nAjouter les commandes saisies à l'historique à l'aide de add_history.\n\nAnalyse Lexicale (Lexer) :\n\nDiviser l'entrée en tokens pour identifier les commandes, arguments, opérateurs, etc.\n\nAnalyse Syntaxique (Parser) :\n\nConstruire une structure de données représentant la commande et ses composants, en tenant compte de la priorité des opérateurs et des parenthèses.\n\nExpansion :\n\nGérer l'expansion des variables d'environnement et le traitement des guillemets.\n\nExécution :\n\nImplémenter les built-ins directement dans le shell.\n\nPour les autres commandes, utiliser fork pour créer un processus enfant et execve pour exécuter la commande.\n\nGérer les redirections et les pipes en ajustant les descripteurs de fichiers à l'aide de dup2.\n\nGestion des Signaux :\n\nConfigurer des gestionnaires de signaux pour intercepter Ctrl+C, Ctrl+D et Ctrl+\\ et appliquer le comportement approprié.\n\nBibliothèques Utilisées :\n\nreadline : Pour la gestion du prompt et de lhistorique des commandes.\n\nunistd.h : Pour les appels système (fork, execve, dup2).\n\nsignal.h : Pour la gestion des signaux.\n\nstdlib.h et string.h : Pour la manipulation des chaînes et allocation dynamique.\n\n🧪 Tests et Validation\n\nTests Fonctionnels :\n\nVérifier que chaque commande interne (cd, pwd, etc.) fonctionne correctement.\n\nVérifier la gestion des redirections (<, >, >>) et des pipes (|).\n\nVérifier lexpansion des variables ($USER, $HOME, etc.).\n\nAssurer la bonne gestion des erreurs (commandes inconnues, fichiers inexistants, etc.).\n\nTests de Robustesse :\n\nExécuter le shell avec des entrées non valides pour observer le comportement.\n\nTester la gestion des signaux (Ctrl+C, Ctrl+D) pour éviter les comportements indésirables.\n\nVérifier la gestion de la mémoire avec valgrind pour éviter les fuites.\n\nTests de Performance :\n\nExécuter un grand nombre de commandes en boucle pour évaluer la stabilité.\n\nTester lexécution simultanée de plusieurs processus avec des pipes.\n\n🚀 Pourquoi ce projet est important ?\n\nLe projet Minishell est un exercice clé pour comprendre comment fonctionne un shell Unix. Il permet d'acquérir des compétences avancées en gestion des processus, redirections dentrée/sortie, gestion de la mémoire, et synchronisation des tâches. Ces compétences sont essentielles pour les développeurs systèmes, DevOps et ingénieurs en logiciels bas niveau. 🔥",
"link": "https://github.com/Ladebeze66/minishell",
"createdAt": "2025-02-02T14:29:50.254Z",
"updatedAt": "2025-02-10T16:01:37.061Z",
"publishedAt": "2025-02-10T16:01:37.077Z",
"order": null,
"picture": [
{
"id": 84,
"documentId": "ctrjqg93zaqwy9kuy7i3glw7",
"name": "u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8-5a4e-4441-ae6b-bb72d78e4367.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8-5a4e-4441-ae6b-bb72d78e4367.png",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 35.28,
"sizeInBytes": 35282,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b.png"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8-5a4e-4441-ae6b-bb72d78e4367.png",
"hash": "small_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 97.04,
"sizeInBytes": 97036,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b.png"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8-5a4e-4441-ae6b-bb72d78e4367.png",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 171.18,
"sizeInBytes": 171175,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b.png"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8-5a4e-4441-ae6b-bb72d78e4367.png",
"hash": "large_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 271.1,
"sizeInBytes": 271095,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b.png"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b",
"ext": ".png",
"mime": "image/png",
"size": 411.75,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_visually_explai_0785ccb8_5a4e_4441_ae6b_bb72d78e4367_5742d6664b.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-01T17:33:30.951Z",
"updatedAt": "2025-02-01T17:33:30.951Z",
"publishedAt": "2025-02-01T17:33:30.951Z"
},
{
"id": 85,
"documentId": "r0vwotm2kf1mnp7m84kle56k",
"name": "u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b-5a5c-41a2-9ed2-26df205f416e.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b-5a5c-41a2-9ed2-26df205f416e.png",
"hash": "thumbnail_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 78.17,
"sizeInBytes": 78174,
"url": "/uploads/thumbnail_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776.png"
},
"small": {
"name": "small_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b-5a5c-41a2-9ed2-26df205f416e.png",
"hash": "small_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 287.67,
"sizeInBytes": 287667,
"url": "/uploads/small_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776.png"
},
"medium": {
"name": "medium_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b-5a5c-41a2-9ed2-26df205f416e.png",
"hash": "medium_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 605.69,
"sizeInBytes": 605689,
"url": "/uploads/medium_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776.png"
},
"large": {
"name": "large_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b-5a5c-41a2-9ed2-26df205f416e.png",
"hash": "large_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1048.5,
"sizeInBytes": 1048496,
"url": "/uploads/large_u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776.png"
}
},
"hash": "u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776",
"ext": ".png",
"mime": "image/png",
"size": 2189.73,
"url": "/uploads/u6113228922_A_programmer_intensely_focused_on_a_terminal_debugg_dd53696b_5a5c_41a2_9ed2_26df205f416e_bdbe809776.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-01T17:33:33.291Z",
"updatedAt": "2025-02-01T17:33:33.291Z",
"publishedAt": "2025-02-01T17:33:33.292Z"
},
{
"id": 86,
"documentId": "u5771sro7hejksvko7zssej5",
"name": "u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40-e410-4b52-b157-2511b656cd07.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40-e410-4b52-b157-2511b656cd07.png",
"hash": "thumbnail_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 73.32,
"sizeInBytes": 73317,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e.png"
},
"small": {
"name": "small_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40-e410-4b52-b157-2511b656cd07.png",
"hash": "small_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 275.97,
"sizeInBytes": 275971,
"url": "/uploads/small_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e.png"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40-e410-4b52-b157-2511b656cd07.png",
"hash": "medium_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 591.03,
"sizeInBytes": 591027,
"url": "/uploads/medium_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e.png"
},
"large": {
"name": "large_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40-e410-4b52-b157-2511b656cd07.png",
"hash": "large_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1033.83,
"sizeInBytes": 1033834,
"url": "/uploads/large_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e.png"
}
},
"hash": "u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e",
"ext": ".png",
"mime": "image/png",
"size": 2362.62,
"url": "/uploads/u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_2545ce40_e410_4b52_b157_2511b656cd07_929e54cf0e.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-01T17:33:33.446Z",
"updatedAt": "2025-02-01T17:33:33.446Z",
"publishedAt": "2025-02-01T17:33:33.446Z"
},
{
"id": 87,
"documentId": "v5ybn2aqthqdaj1x40s6w4g8",
"name": "u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25-acde-4b9e-a648-5ffedb56446b.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25-acde-4b9e-a648-5ffedb56446b.png",
"hash": "thumbnail_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 91.39,
"sizeInBytes": 91385,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180.png"
},
"small": {
"name": "small_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25-acde-4b9e-a648-5ffedb56446b.png",
"hash": "small_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 365.91,
"sizeInBytes": 365909,
"url": "/uploads/small_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180.png"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25-acde-4b9e-a648-5ffedb56446b.png",
"hash": "medium_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 802.34,
"sizeInBytes": 802343,
"url": "/uploads/medium_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180.png"
},
"large": {
"name": "large_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25-acde-4b9e-a648-5ffedb56446b.png",
"hash": "large_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1407.67,
"sizeInBytes": 1407670,
"url": "/uploads/large_u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180.png"
}
},
"hash": "u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180",
"ext": ".png",
"mime": "image/png",
"size": 2376.38,
"url": "/uploads/u6113228922_A_futuristic_AI_system_visualized_as_a_glowing_cybe_852a3e25_acde_4b9e_a648_5ffedb56446b_94ca9f6180.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-01T17:33:36.848Z",
"updatedAt": "2025-02-01T17:33:36.848Z",
"publishedAt": "2025-02-01T17:33:36.848Z"
},
{
"id": 88,
"documentId": "xz1kb05aboi28hzfh78zd7w0",
"name": "u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb-7fe5-41c6-83f7-e3ad3519b701.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb-7fe5-41c6-83f7-e3ad3519b701.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 90.9,
"sizeInBytes": 90895,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb-7fe5-41c6-83f7-e3ad3519b701.png",
"hash": "small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 358.7,
"sizeInBytes": 358704,
"url": "/uploads/small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb-7fe5-41c6-83f7-e3ad3519b701.png",
"hash": "medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 794.85,
"sizeInBytes": 794850,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb-7fe5-41c6-83f7-e3ad3519b701.png",
"hash": "large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1410.47,
"sizeInBytes": 1410474,
"url": "/uploads/large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a.png"
}
},
"hash": "u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a",
"ext": ".png",
"mime": "image/png",
"size": 3462.39,
"url": "/uploads/u6113228922_A_surreal_artistic_interpretation_of_an_interactive_35a27eeb_7fe5_41c6_83f7_e3ad3519b701_2117099f6a.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-01T17:33:37.307Z",
"updatedAt": "2025-02-01T17:33:37.307Z",
"publishedAt": "2025-02-01T17:33:37.308Z"
},
{
"id": 89,
"documentId": "y5hbzq35634lz1tgslol9txg",
"name": "u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3-30b9-4e7c-9dd5-3615867dbcef.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3-30b9-4e7c-9dd5-3615867dbcef.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 90.92,
"sizeInBytes": 90916,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3-30b9-4e7c-9dd5-3615867dbcef.png",
"hash": "small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 358.35,
"sizeInBytes": 358345,
"url": "/uploads/small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3-30b9-4e7c-9dd5-3615867dbcef.png",
"hash": "medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 792.31,
"sizeInBytes": 792310,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3-30b9-4e7c-9dd5-3615867dbcef.png",
"hash": "large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1408.82,
"sizeInBytes": 1408816,
"url": "/uploads/large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25.png"
}
},
"hash": "u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25",
"ext": ".png",
"mime": "image/png",
"size": 3293.94,
"url": "/uploads/u6113228922_A_surreal_artistic_interpretation_of_an_interactive_a65577b3_30b9_4e7c_9dd5_3615867dbcef_17b9b0da25.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-01T17:33:38.064Z",
"updatedAt": "2025-02-01T17:33:38.064Z",
"publishedAt": "2025-02-01T17:33:38.064Z"
},
{
"id": 90,
"documentId": "v57zi2k05uja1f9ba2n7u21z",
"name": "u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a-018d-48bb-abea-d7da3e66b547.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a-018d-48bb-abea-d7da3e66b547.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 88.75,
"sizeInBytes": 88745,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a-018d-48bb-abea-d7da3e66b547.png",
"hash": "small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 349.58,
"sizeInBytes": 349579,
"url": "/uploads/small_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a-018d-48bb-abea-d7da3e66b547.png",
"hash": "medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 759.44,
"sizeInBytes": 759443,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a-018d-48bb-abea-d7da3e66b547.png",
"hash": "large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1329.6,
"sizeInBytes": 1329597,
"url": "/uploads/large_u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999.png"
}
},
"hash": "u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999",
"ext": ".png",
"mime": "image/png",
"size": 2381.85,
"url": "/uploads/u6113228922_A_surreal_artistic_interpretation_of_an_interactive_429b166a_018d_48bb_abea_d7da3e66b547_d6463a3999.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-01T17:33:39.029Z",
"updatedAt": "2025-02-01T17:33:39.029Z",
"publishedAt": "2025-02-01T17:33:39.029Z"
},
{
"id": 91,
"documentId": "lxa812lu9g8ht17qvagdru1b",
"name": "u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389-db62-44f5-b368-8e8e4a796a82.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389-db62-44f5-b368-8e8e4a796a82.png",
"hash": "thumbnail_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 66.26,
"sizeInBytes": 66259,
"url": "/uploads/thumbnail_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312.png"
},
"small": {
"name": "small_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389-db62-44f5-b368-8e8e4a796a82.png",
"hash": "small_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 243.35,
"sizeInBytes": 243346,
"url": "/uploads/small_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312.png"
},
"medium": {
"name": "medium_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389-db62-44f5-b368-8e8e4a796a82.png",
"hash": "medium_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 521.27,
"sizeInBytes": 521270,
"url": "/uploads/medium_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312.png"
},
"large": {
"name": "large_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389-db62-44f5-b368-8e8e4a796a82.png",
"hash": "large_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 930.21,
"sizeInBytes": 930214,
"url": "/uploads/large_u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312.png"
}
},
"hash": "u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312",
"ext": ".png",
"mime": "image/png",
"size": 1893.09,
"url": "/uploads/u6113228922_A_vintage_UNIX_terminal_with_a_developer_testing_th_2b6c9389_db62_44f5_b368_8e8e4a796a82_ed1e759312.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-01T17:33:39.907Z",
"updatedAt": "2025-02-01T17:33:39.907Z",
"publishedAt": "2025-02-01T17:33:39.907Z"
}
]
},
{
"id": 97,
"documentId": "tnj11aqin8hyjxwcxi5txhcf",
"name": "netpractice",
"description": "Le projet NetPractice est essentiel pour acquérir une compréhension pratique des réseaux informatiques, une compétence cruciale pour les administrateurs système et les ingénieurs réseau. Il offre une base solide pour des projets plus avancés impliquant la communication réseau et la gestion des infrastructures.",
"slug": "netpractice",
"Resum": "Le projet NetPractice de l'école 42 est conçu pour initier les étudiants aux concepts fondamentaux des réseaux informatiques, en particulier l'adressage TCP/IP. Il se compose de 10 exercices pratiques où les étudiants doivent configurer de petits réseaux pour assurer la communication entre différentes machines. L'objectif principal est de comprendre comment les adresses IP et les masques de sous-réseau déterminent la connectivité entre les dispositifs. \n\n🎯 Objectifs du Projet\n\nCompréhension de l'adressage IP : Apprendre à attribuer des adresses IP correctes aux appareils pour assurer une communication efficace.\n\nMasques de sous-réseau (Subnet Masks) : Comprendre comment les masques de sous-réseau définissent les parties réseau et hôte d'une adresse IP.\n\nRoutage de base : Apprendre à configurer des tables de routage pour permettre la communication entre différents sous-réseaux.\n\nReconnaissance des adresses privées et publiques : Identifier les plages d'adresses IP réservées aux réseaux privés et comprendre leurs limitations en matière d'accès à Internet.\n\n🛠 Spécifications Techniques\n\nExercices Progressifs : Le projet est structuré en 10 niveaux, chacun présentant des défis croissants en complexité.\n\nConfiguration des Appareils : Les étudiants doivent attribuer des adresses IP, des masques de sous-réseau et configurer des tables de routage pour assurer la connectivité.\n\nOutils Simulés : Utilisation d'environnements simulés pour pratiquer la configuration réseau sans matériel physique.\n\n🔧 Approche d'Implémentation\n\nAnalyse du Réseau :\n\nPour chaque exercice, examiner la topologie du réseau fourni.\n\nIdentifier les segments de réseau et les appareils impliqués.\n\nAttribution des Adresses IP :\n\nAssigner des adresses IP uniques à chaque appareil, en veillant à ce qu'elles appartiennent au même sous-réseau pour les appareils devant communiquer directement.\n\nConfiguration des Masques de Sous-Réseau :\n\nDéterminer le masque de sous-réseau approprié pour chaque segment de réseau afin de définir correctement les parties réseau et hôte des adresses IP.\n\nMise en Place des Tables de Routage :\n\nConfigurer les tables de routage sur les routeurs pour permettre la communication entre différents sous-réseaux.\n\nVérification de la Connectivité :\n\nTester la configuration en s'assurant que toutes les machines peuvent communiquer selon les spécifications de l'exercice.\n\nLe projet NetPractice est essentiel pour acquérir une compréhension pratique des réseaux informatiques, une compétence cruciale pour les administrateurs système et les ingénieurs réseau. Il offre une base solide pour des projets plus avancés impliquant la communication réseau et la gestion des infrastructures.",
"link": "https://github.com/Ladebeze66/netpractice",
"createdAt": "2025-02-02T16:13:52.719Z",
"updatedAt": "2025-02-10T16:04:07.870Z",
"publishedAt": "2025-02-10T16:04:07.887Z",
"order": null,
"picture": [
{
"id": 99,
"documentId": "nbo6eguk29uw5u0u5h2c0b4q",
"name": "u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f-5380-459a-b8e3-469d9bd7f575.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f-5380-459a-b8e3-469d9bd7f575.png",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 35.22,
"sizeInBytes": 35223,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188.png"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f-5380-459a-b8e3-469d9bd7f575.png",
"hash": "small_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 101.84,
"sizeInBytes": 101837,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188.png"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f-5380-459a-b8e3-469d9bd7f575.png",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 180.63,
"sizeInBytes": 180625,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188.png"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f-5380-459a-b8e3-469d9bd7f575.png",
"hash": "large_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 288.52,
"sizeInBytes": 288525,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188.png"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188",
"ext": ".png",
"mime": "image/png",
"size": 449.52,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_illustrating_su_b740267f_5380_459a_b8e3_469d9bd7f575_953c3ff188.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T16:13:15.098Z",
"updatedAt": "2025-02-02T16:13:15.098Z",
"publishedAt": "2025-02-02T16:13:15.098Z"
},
{
"id": 100,
"documentId": "kl7zxvnsapz1l9q9jlkzover",
"name": "u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031-c0d1-44a4-8228-b7cd0f45c4d3.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031-c0d1-44a4-8228-b7cd0f45c4d3.png",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 39.79,
"sizeInBytes": 39794,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895.png"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031-c0d1-44a4-8228-b7cd0f45c4d3.png",
"hash": "small_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 131.81,
"sizeInBytes": 131813,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895.png"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031-c0d1-44a4-8228-b7cd0f45c4d3.png",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 261.16,
"sizeInBytes": 261157,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895.png"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031-c0d1-44a4-8228-b7cd0f45c4d3.png",
"hash": "large_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 431.48,
"sizeInBytes": 431475,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895.png"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895",
"ext": ".png",
"mime": "image/png",
"size": 1013.41,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_illustrating_su_f70cd031_c0d1_44a4_8228_b7cd0f45c4d3_75aa5ce895.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T16:13:15.991Z",
"updatedAt": "2025-02-02T16:13:15.991Z",
"publishedAt": "2025-02-02T16:13:15.991Z"
},
{
"id": 101,
"documentId": "qtl3777xxe6da8kvuvjz2p7h",
"name": "u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96-0caa-4e5f-96f2-3799e4d60833.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96-0caa-4e5f-96f2-3799e4d60833.png",
"hash": "thumbnail_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 85.21,
"sizeInBytes": 85208,
"url": "/uploads/thumbnail_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c.png"
},
"small": {
"name": "small_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96-0caa-4e5f-96f2-3799e4d60833.png",
"hash": "small_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 320.28,
"sizeInBytes": 320284,
"url": "/uploads/small_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c.png"
},
"medium": {
"name": "medium_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96-0caa-4e5f-96f2-3799e4d60833.png",
"hash": "medium_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 680.1,
"sizeInBytes": 680098,
"url": "/uploads/medium_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c.png"
},
"large": {
"name": "large_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96-0caa-4e5f-96f2-3799e4d60833.png",
"hash": "large_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1184.56,
"sizeInBytes": 1184559,
"url": "/uploads/large_u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c.png"
}
},
"hash": "u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c",
"ext": ".png",
"mime": "image/png",
"size": 1775.77,
"url": "/uploads/u6113228922_A_computer_science_student_working_on_IP_addressing_56512e96_0caa_4e5f_96f2_3799e4d60833_ec6bc87f5c.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T16:13:18.056Z",
"updatedAt": "2025-02-02T16:13:18.056Z",
"publishedAt": "2025-02-02T16:13:18.056Z"
},
{
"id": 102,
"documentId": "yckfogqp7tdp4ab215hvuy30",
"name": "u6113228922_A_surreal_representation_of_computer_networks_where_998a999c-6ce9-4423-bc6f-6a397fb125d0.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c-6ce9-4423-bc6f-6a397fb125d0.png",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 84.1,
"sizeInBytes": 84104,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530.png"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c-6ce9-4423-bc6f-6a397fb125d0.png",
"hash": "small_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 321.08,
"sizeInBytes": 321082,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c-6ce9-4423-bc6f-6a397fb125d0.png",
"hash": "medium_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 702.67,
"sizeInBytes": 702667,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530.png"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c-6ce9-4423-bc6f-6a397fb125d0.png",
"hash": "large_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1251.89,
"sizeInBytes": 1251893,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530.png"
}
},
"hash": "u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530",
"ext": ".png",
"mime": "image/png",
"size": 2608.11,
"url": "/uploads/u6113228922_A_surreal_representation_of_computer_networks_where_998a999c_6ce9_4423_bc6f_6a397fb125d0_fd3c489530.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T16:13:19.087Z",
"updatedAt": "2025-02-02T16:13:19.087Z",
"publishedAt": "2025-02-02T16:13:19.087Z"
},
{
"id": 103,
"documentId": "aeflluzzr5nztqr7amazchjb",
"name": "u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3-0c9b-4011-b93b-241774a361c4.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3-0c9b-4011-b93b-241774a361c4.png",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 85.64,
"sizeInBytes": 85641,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623.png"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3-0c9b-4011-b93b-241774a361c4.png",
"hash": "small_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 341.01,
"sizeInBytes": 341006,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3-0c9b-4011-b93b-241774a361c4.png",
"hash": "medium_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 756.95,
"sizeInBytes": 756952,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623.png"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3-0c9b-4011-b93b-241774a361c4.png",
"hash": "large_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1350.82,
"sizeInBytes": 1350824,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623.png"
}
},
"hash": "u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623",
"ext": ".png",
"mime": "image/png",
"size": 3877.76,
"url": "/uploads/u6113228922_A_surreal_representation_of_computer_networks_where_94af9ca3_0c9b_4011_b93b_241774a361c4_cdf0173623.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T16:13:19.665Z",
"updatedAt": "2025-02-02T16:13:19.665Z",
"publishedAt": "2025-02-02T16:13:19.665Z"
},
{
"id": 104,
"documentId": "j6dvgpfalf7v7zebsk7iparz",
"name": "u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923-aab4-4071-8e44-e155b841e3c8.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923-aab4-4071-8e44-e155b841e3c8.png",
"hash": "thumbnail_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 89.63,
"sizeInBytes": 89628,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd.png"
},
"small": {
"name": "small_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923-aab4-4071-8e44-e155b841e3c8.png",
"hash": "small_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 347.01,
"sizeInBytes": 347009,
"url": "/uploads/small_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd.png"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923-aab4-4071-8e44-e155b841e3c8.png",
"hash": "medium_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 746.59,
"sizeInBytes": 746593,
"url": "/uploads/medium_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd.png"
},
"large": {
"name": "large_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923-aab4-4071-8e44-e155b841e3c8.png",
"hash": "large_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1301.46,
"sizeInBytes": 1301458,
"url": "/uploads/large_u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd.png"
}
},
"hash": "u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd",
"ext": ".png",
"mime": "image/png",
"size": 2117.73,
"url": "/uploads/u6113228922_A_futuristic_visualization_of_a_vast_interconnected_80b69923_aab4_4071_8e44_e155b841e3c8_17cd0278fd.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T16:13:19.706Z",
"updatedAt": "2025-02-02T16:13:19.706Z",
"publishedAt": "2025-02-02T16:13:19.706Z"
}
]
},
{
"id": 99,
"documentId": "zerb8wehf7zbf9wtwlq0l4d7",
"name": "inception",
"description": "Le projet Inception de l'école 42 consiste à déployer une infrastructure basée sur Docker et Docker Compose, en isolant plusieurs services dans des conteneurs distincts. Il inclut la configuration d'un serveur web (Nginx), d'une base de données (MariaDB/MySQL) et d'une application web (WordPress), tout en assurant la sécurisation, la persistance des données et lautomatisation du déploiement. Ce projet permet dacquérir des compétences en virtualisation, gestion de conteneurs et administration système.",
"slug": "inception",
"Resum": "Le projet Inception de l'école 42 vise à approfondir les compétences en administration système et en virtualisation en utilisant Docker et Docker Compose. L'objectif est de configurer une infrastructure de conteneurs pour héberger plusieurs services, en respectant les bonnes pratiques de sécurité et d'architecture.\n\n🎯 Objectifs du Projet\n\nMaîtrise de Docker : Apprendre à créer et gérer des conteneurs pour isoler des applications et leurs dépendances.\n\nUtilisation de Docker Compose : Définir et orchestrer des applications multi-conteneurs pour faciliter le déploiement et la gestion des services.\n\nSécurisation des Services : Mettre en place des mesures de sécurité pour protéger les services hébergés, notamment en configurant correctement les pare-feux, les utilisateurs et les permissions.\n\nAutomatisation du Déploiement : Automatiser le déploiement des services pour assurer une infrastructure reproductible et évolutive.\n\n🛠 Spécifications Techniques\n\nServices à Héberger :\n\nUn serveur web (par exemple, Nginx) pour servir du contenu statique et dynamique.\n\nUne base de données relationnelle (par exemple, MySQL ou PostgreSQL) pour stocker les données des applications.\n\nUne application web (par exemple, WordPress) connectée à la base de données.\n\nConfiguration des Conteneurs :\n\nChaque service doit être isolé dans son propre conteneur Docker.\n\nLes conteneurs doivent pouvoir communiquer entre eux via un réseau Docker dédié.\n\nLes données persistantes doivent être stockées dans des volumes Docker pour assurer la persistance des données entre les redémarrages.\n\nFichier Docker Compose :\n\nDéfinir un fichier docker-compose.yml pour décrire les services, les réseaux et les volumes nécessaires à l'application.\n\nConfigurer les dépendances entre les services pour assurer un démarrage correct de l'application.\nSécurité :\n\nMettre en place des règles de pare-feu pour limiter l'accès aux services sensibles.\n\nUtiliser des variables d'environnement pour gérer les informations sensibles, telles que les mots de passe de la base de données.\n\nAssurer la mise à jour régulière des images Docker pour inclure les derniers correctifs de sécurité.\n\n🔧 Approche d'Implémentation\n\nInstallation de Docker et Docker Compose :\n\nInstaller Docker et Docker Compose sur le système hôte.\n\nVérifier que les installations fonctionnent correctement en exécutant des conteneurs de test.\n\nCréation des Dockerfiles :\n\nPour chaque service, créer un Dockerfile définissant l'environnement nécessaire et les étapes d'installation de l'application.\n\nOptimiser les Dockerfile pour réduire la taille des images et améliorer les performances.\n\nDéfinition du Fichier Docker Compose :\n\nÉcrire le fichier docker-compose.yml en spécifiant les services, les images à utiliser, les ports exposés, les volumes et les réseaux.\n\nConfigurer les dépendances entre les services pour assurer un ordre de démarrage correct.\nConfiguration des Réseaux et Volumes :\n\nDéfinir des réseaux Docker pour permettre la communication sécurisée entre les conteneurs.\n\nConfigurer des volumes pour la persistance des données, notamment pour la base de données et les fichiers de l'application web.\n\nMise en Place des Mesures de Sécurité :\n\nRestreindre les ports exposés aux seuls nécessaires et configurer des règles de pare-feu appropriées.\n\nMettre en place des utilisateurs non-root dans les conteneurs lorsque cela est possible.\n\nGérer les secrets et les variables d'environnement de manière sécurisée.\n\nTests et Validation :\n\nDémarrer l'ensemble des services à l'aide de Docker Compose et vérifier leur bon fonctionnement.\n\nTester la communication entre les services, par exemple, vérifier que l'application web peut interagir avec la base de données.\n\nAssurer la persistance des données en redémarrant les conteneurs et en vérifiant l'intégrité des données.\n\nDocumentation :\n\nDocumenter le processus d'installation, de configuration et de déploiement des services.\n\nFournir des instructions pour la maintenance et la mise à jour de l'infrastructure.\n",
"link": "https://github.com/Ladebeze66/Inception",
"createdAt": "2025-02-02T17:16:51.882Z",
"updatedAt": "2025-02-10T16:05:56.821Z",
"publishedAt": "2025-02-10T16:05:56.837Z",
"order": null,
"picture": [
{
"id": 113,
"documentId": "hgyb1ipbotf9y719giuxgsh5",
"name": "u6113228922_A_system_administrator_managing_a_Docker-based_infr_9a044f13-e557-4497-9dcb-ba607d56fa92.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_system_administrator_managing_a_Docker-based_infr_9a044f13-e557-4497-9dcb-ba607d56fa92.png",
"hash": "thumbnail_u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 81.31,
"sizeInBytes": 81311,
"url": "/uploads/thumbnail_u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959.png"
},
"small": {
"name": "small_u6113228922_A_system_administrator_managing_a_Docker-based_infr_9a044f13-e557-4497-9dcb-ba607d56fa92.png",
"hash": "small_u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 302.27,
"sizeInBytes": 302275,
"url": "/uploads/small_u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959.png"
},
"medium": {
"name": "medium_u6113228922_A_system_administrator_managing_a_Docker-based_infr_9a044f13-e557-4497-9dcb-ba607d56fa92.png",
"hash": "medium_u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 641.61,
"sizeInBytes": 641613,
"url": "/uploads/medium_u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959.png"
},
"large": {
"name": "large_u6113228922_A_system_administrator_managing_a_Docker-based_infr_9a044f13-e557-4497-9dcb-ba607d56fa92.png",
"hash": "large_u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1115.96,
"sizeInBytes": 1115960,
"url": "/uploads/large_u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959.png"
}
},
"hash": "u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959",
"ext": ".png",
"mime": "image/png",
"size": 1772.06,
"url": "/uploads/u6113228922_A_system_administrator_managing_a_Docker_based_infr_9a044f13_e557_4497_9dcb_ba607d56fa92_c42144f959.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T17:16:39.123Z",
"updatedAt": "2025-02-02T17:16:39.123Z",
"publishedAt": "2025-02-02T17:16:39.123Z"
},
{
"id": 114,
"documentId": "zdh8io1wwad6yupf983oqcqn",
"name": "u6113228922_A_structured_and_modern_infographic_illustrating_a__b7b3508c-f03b-464e-ba95-f7a5ea3d15e9.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_a__b7b3508c-f03b-464e-ba95-f7a5ea3d15e9.png",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 50.32,
"sizeInBytes": 50317,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd.png"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_illustrating_a__b7b3508c-f03b-464e-ba95-f7a5ea3d15e9.png",
"hash": "small_u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 175.66,
"sizeInBytes": 175660,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd.png"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_a__b7b3508c-f03b-464e-ba95-f7a5ea3d15e9.png",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 356.18,
"sizeInBytes": 356180,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd.png"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_illustrating_a__b7b3508c-f03b-464e-ba95-f7a5ea3d15e9.png",
"hash": "large_u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 606.53,
"sizeInBytes": 606530,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd.png"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd",
"ext": ".png",
"mime": "image/png",
"size": 1395.39,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_illustrating_a_b7b3508c_f03b_464e_ba95_f7a5ea3d15e9_3b01c7e1dd.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T17:16:39.138Z",
"updatedAt": "2025-02-02T17:16:39.138Z",
"publishedAt": "2025-02-02T17:16:39.138Z"
},
{
"id": 115,
"documentId": "moom660nlyutnuijm4ghhbuk",
"name": "u6113228922_A_futuristic_data_network_where_glowing_cube-shaped_97c64ba0-443b-43d7-9a6a-edb4134720bc.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_data_network_where_glowing_cube-shaped_97c64ba0-443b-43d7-9a6a-edb4134720bc.png",
"hash": "thumbnail_u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 86.83,
"sizeInBytes": 86832,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090.png"
},
"small": {
"name": "small_u6113228922_A_futuristic_data_network_where_glowing_cube-shaped_97c64ba0-443b-43d7-9a6a-edb4134720bc.png",
"hash": "small_u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 329.61,
"sizeInBytes": 329608,
"url": "/uploads/small_u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090.png"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_data_network_where_glowing_cube-shaped_97c64ba0-443b-43d7-9a6a-edb4134720bc.png",
"hash": "medium_u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 701.38,
"sizeInBytes": 701382,
"url": "/uploads/medium_u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090.png"
},
"large": {
"name": "large_u6113228922_A_futuristic_data_network_where_glowing_cube-shaped_97c64ba0-443b-43d7-9a6a-edb4134720bc.png",
"hash": "large_u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1219.09,
"sizeInBytes": 1219085,
"url": "/uploads/large_u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090.png"
}
},
"hash": "u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090",
"ext": ".png",
"mime": "image/png",
"size": 2054.29,
"url": "/uploads/u6113228922_A_futuristic_data_network_where_glowing_cube_shaped_97c64ba0_443b_43d7_9a6a_edb4134720bc_f85ea86090.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T17:16:39.891Z",
"updatedAt": "2025-02-02T17:16:39.891Z",
"publishedAt": "2025-02-02T17:16:39.892Z"
},
{
"id": 116,
"documentId": "vcb58pl8ttsrmfteo1ebsf2j",
"name": "u6113228922_A_surreal_artistic_interpretation_of_containerized__12f40eb4-9cde-4e0f-9b4f-b80ac3e48fb2.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_containerized__12f40eb4-9cde-4e0f-9b4f-b80ac3e48fb2.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 93.63,
"sizeInBytes": 93630,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_interpretation_of_containerized__12f40eb4-9cde-4e0f-9b4f-b80ac3e48fb2.png",
"hash": "small_u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 369.33,
"sizeInBytes": 369327,
"url": "/uploads/small_u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_interpretation_of_containerized__12f40eb4-9cde-4e0f-9b4f-b80ac3e48fb2.png",
"hash": "medium_u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 808.68,
"sizeInBytes": 808680,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_interpretation_of_containerized__12f40eb4-9cde-4e0f-9b4f-b80ac3e48fb2.png",
"hash": "large_u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1423.43,
"sizeInBytes": 1423428,
"url": "/uploads/large_u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613.png"
}
},
"hash": "u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613",
"ext": ".png",
"mime": "image/png",
"size": 2181.41,
"url": "/uploads/u6113228922_A_surreal_artistic_interpretation_of_containerized_12f40eb4_9cde_4e0f_9b4f_b80ac3e48fb2_f740fa0613.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T17:16:44.048Z",
"updatedAt": "2025-02-02T17:16:44.048Z",
"publishedAt": "2025-02-02T17:16:44.048Z"
},
{
"id": 117,
"documentId": "t5qt936iq2sen9kce2lgqcp2",
"name": "u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b-1e68-4cf5-b648-12663e289b6b.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b-1e68-4cf5-b648-12663e289b6b.png",
"hash": "thumbnail_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 77.49,
"sizeInBytes": 77490,
"url": "/uploads/thumbnail_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f.png"
},
"small": {
"name": "small_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b-1e68-4cf5-b648-12663e289b6b.png",
"hash": "small_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 286.55,
"sizeInBytes": 286551,
"url": "/uploads/small_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f.png"
},
"medium": {
"name": "medium_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b-1e68-4cf5-b648-12663e289b6b.png",
"hash": "medium_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 611.69,
"sizeInBytes": 611689,
"url": "/uploads/medium_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f.png"
},
"large": {
"name": "large_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b-1e68-4cf5-b648-12663e289b6b.png",
"hash": "large_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1084.28,
"sizeInBytes": 1084281,
"url": "/uploads/large_u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f.png"
}
},
"hash": "u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f",
"ext": ".png",
"mime": "image/png",
"size": 1940.64,
"url": "/uploads/u6113228922_A_vintage_UNIX_workstation_running_early_virtualiza_bd49307b_1e68_4cf5_b648_12663e289b6b_41c2074c6f.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-02T17:16:44.816Z",
"updatedAt": "2025-02-02T17:16:44.816Z",
"publishedAt": "2025-02-02T17:16:44.816Z"
}
]
},
{
"id": 103,
"documentId": "lzdercvdo7l4jvzswnkunktk",
"name": "Born2beroot",
"description": "Le projet Born2beroot de l'école 42 est une initiation à ladministration système sous Linux. L'objectif est de configurer un serveur sécurisé en installant une machine virtuelle sous Debian ou AlmaLinux, en mettant en place des politiques de sécurité strictes (gestion des utilisateurs, restrictions SSH, pare-feu UFW, Fail2ban) et en utilisant LVM pour la gestion des volumes de stockage. Les étudiants doivent également automatiser la surveillance du système avec un script monitoring.sh. Ce projet développe des compétences en sécurité informatique, gestion des serveurs et DevOps, essentielles pour les métiers dadministrateur système ou de cybersécurité. ",
"slug": "born2beroot",
"Resum": "Le projet Born2beroot de lécole 42 est un projet dinitiation à ladministration système, conçu pour familiariser les étudiants avec la gestion des serveurs Linux, la sécurisation du système, et les bonnes pratiques DevOps. Lobjectif est de comprendre comment un système fonctionne, dadopter les bonnes pratiques de sécurité et dautomatiser certaines tâches essentielles.\n\n🏆 Objectifs Principaux du Projet\n\nCe projet vise à initier les étudiants à plusieurs concepts fondamentaux du sysadmin à travers une configuration minimale mais sécurisée d'un serveur basé sur Debian ou AlmaLinux.\n\n1⃣ Création et Configuration dune Machine Virtuelle\n\nInstallation dun serveur sur une machine virtuelle (VirtualBox ou UTM selon lOS utilisé).\n\nUtilisation dune image Debian (par défaut) ou AlmaLinux.\n\nApprentissage de la gestion dun serveur sans interface graphique.\n\n2⃣ Gestion des Utilisateurs et Sécurisation du Système\n\nCréation et gestion des utilisateurs avec une structure bien définie.\n\nMise en place de règles de mot de passe strictes :\n\nExpiration des mots de passe après un certain temps.\n\nInterdiction de mots de passe trop faibles.\n\nRotation obligatoire des mots de passe.\n\nConfiguration de sudo et groupes restreints pour limiter les accès root.\n\nRestriction des connexions SSH (pas de connexion en tant que root, utilisation de clés SSH).\n\n3⃣ Renforcement de la Sécurité\n\nMise en place de UFW (Uncomplicated Firewall) pour filtrer le trafic réseau.\nInstallation et configuration de Fail2ban pour bloquer les tentatives de connexion frauduleuses.\nActivation et gestion de SELinux ou AppArmor pour renforcer la sécurité du noyau.\nRestriction des permissions et droits daccès pour éviter des failles potentielles.\n\n4⃣ Gestion du Stockage avec LVM (Logical Volume Manager)\n\nPartitionnement intelligent du disque avec LVM pour une gestion flexible de lespace disque.\nCréation et gestion de volumes logiques, permettant détendre le stockage facilement.\n\n5⃣ Automatisation et Surveillance du Système\n\nÉcriture dun script de monitoring (monitoring.sh) affichant des informations essentielles :\n\nCharge CPU\n\nUtilisation mémoire et disque\n\nNombre dutilisateurs connectés\n\nJournal des connexions SSH\n\nConfiguration de cron pour exécuter automatiquement des tâches répétitives.\n\nGestion des logs et journalisation des événements pour surveiller lactivité du serveur.\n\n🚀 Livrables et Validation du Projet\n\nUne machine virtuelle prête à lemploi avec tous les éléments configurés.\nUn script monitoring.sh fonctionnel.\nUne documentation claire expliquant les choix techniques et sécuritaires.\nUne défense orale où létudiant devra expliquer et démontrer les configurations mises en place.\n\n🎯 Compétences Développées\n\n✔ Gestion des utilisateurs et permissions sur un système Linux.\n\n✔ Configuration et administration dun serveur Debian.\n\n✔ Mise en place de protocoles de sécurité pour un serveur en production.\n\n✔ Automatisation et surveillance des services via des scripts shell.\n\n✔ Maîtrise de LVM pour gérer dynamiquement lespace disque.\n\n✔ Apprentissage des bases de DevOps et des bonnes pratiques dadministration système.\n\n🔥 Pourquoi ce projet est important ?\n\nLe projet Born2beroot prépare les étudiants à des postes en administration système et en cybersécurité. Il permet aussi de se familiariser avec les bases du DevOps, un domaine clé dans lindustrie informatique.\n\n🎯 Conclusion\n\nBorn2beroot est un projet incontournable de l'école 42 qui permet aux étudiants de plonger dans l'administration système et la sécurisation dun serveur Linux. C'est une première étape essentielle pour ceux qui souhaitent s'orienter vers les métiers du DevOps, de la cybersécurité ou de l'administration système.\n",
"link": "https://github.com/Ladebeze66/born2beroot",
"createdAt": "2025-01-31T18:37:32.585Z",
"updatedAt": "2025-02-13T14:45:32.633Z",
"publishedAt": "2025-02-13T14:45:32.651Z",
"order": null,
"picture": [
{
"id": 319,
"documentId": "kvipg3twsefh308l8x2bj7jq",
"name": "u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a-0968-48ca-bc13-9df798a0d5b9.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a-0968-48ca-bc13-9df798a0d5b9.png",
"hash": "thumbnail_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 83.5,
"sizeInBytes": 83504,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44.png"
},
"small": {
"name": "small_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a-0968-48ca-bc13-9df798a0d5b9.png",
"hash": "small_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 320.38,
"sizeInBytes": 320382,
"url": "/uploads/small_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44.png"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a-0968-48ca-bc13-9df798a0d5b9.png",
"hash": "medium_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 683.95,
"sizeInBytes": 683949,
"url": "/uploads/medium_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44.png"
},
"large": {
"name": "large_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a-0968-48ca-bc13-9df798a0d5b9.png",
"hash": "large_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1198.45,
"sizeInBytes": 1198454,
"url": "/uploads/large_u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44.png"
}
},
"hash": "u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44",
"ext": ".png",
"mime": "image/png",
"size": 2194.92,
"url": "/uploads/u6113228922_A_futuristic_cyberpunk_server_room_glowing_LED_ligh_b768857a_0968_48ca_bc13_9df798a0d5b9_39bba9cc44.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:45:26.603Z",
"updatedAt": "2025-02-13T14:45:26.603Z",
"publishedAt": "2025-02-13T14:45:26.603Z"
},
{
"id": 301,
"documentId": "wttcv5cap4s2fbvaeaeol6n5",
"name": "u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513-23d6-4f2e-8ae2-fda60d5ae3c1_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513-23d6-4f2e-8ae2-fda60d5ae3c1_resultat.webp",
"hash": "thumbnail_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 9.39,
"sizeInBytes": 9390,
"url": "/uploads/thumbnail_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b.webp"
},
"medium": {
"name": "medium_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513-23d6-4f2e-8ae2-fda60d5ae3c1_resultat.webp",
"hash": "medium_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 48.39,
"sizeInBytes": 48394,
"url": "/uploads/medium_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b.webp"
},
"small": {
"name": "small_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513-23d6-4f2e-8ae2-fda60d5ae3c1_resultat.webp",
"hash": "small_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 27.69,
"sizeInBytes": 27694,
"url": "/uploads/small_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b.webp"
},
"large": {
"name": "large_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513-23d6-4f2e-8ae2-fda60d5ae3c1_resultat.webp",
"hash": "large_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 71.52,
"sizeInBytes": 71520,
"url": "/uploads/large_u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b.webp"
}
},
"hash": "u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b",
"ext": ".webp",
"mime": "image/webp",
"size": 477.23,
"url": "/uploads/u6113228922_A_stylized_infographic_of_the_Born2beroot_project_f_decf5513_23d6_4f2e_8ae2_fda60d5ae3c1_resultat_437390ba8b.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:42:19.752Z",
"updatedAt": "2025-02-13T14:42:19.752Z",
"publishedAt": "2025-02-13T14:42:19.752Z"
},
{
"id": 304,
"documentId": "ntawigkbo1xzn2kcdna4e172",
"name": "u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f-978b-486e-9d03-eae57fef1889_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f-978b-486e-9d03-eae57fef1889_resultat.webp",
"hash": "thumbnail_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 9.35,
"sizeInBytes": 9346,
"url": "/uploads/thumbnail_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f.webp"
},
"medium": {
"name": "medium_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f-978b-486e-9d03-eae57fef1889_resultat.webp",
"hash": "medium_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 64.81,
"sizeInBytes": 64808,
"url": "/uploads/medium_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f.webp"
},
"small": {
"name": "small_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f-978b-486e-9d03-eae57fef1889_resultat.webp",
"hash": "small_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 33.27,
"sizeInBytes": 33266,
"url": "/uploads/small_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f.webp"
},
"large": {
"name": "large_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f-978b-486e-9d03-eae57fef1889_resultat.webp",
"hash": "large_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 102.17,
"sizeInBytes": 102172,
"url": "/uploads/large_u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f.webp"
}
},
"hash": "u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f",
"ext": ".webp",
"mime": "image/webp",
"size": 580.45,
"url": "/uploads/u6113228922_A_digital_fortress_representing_Linux_server_securi_84fd939f_978b_486e_9d03_eae57fef1889_resultat_0bc0ae2a4f.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:42:41.262Z",
"updatedAt": "2025-02-13T14:42:41.262Z",
"publishedAt": "2025-02-13T14:42:41.263Z"
}
]
},
{
"id": 105,
"documentId": "lsny818cn0rqyc4n9ekwgmss",
"name": "Get_next_line",
"description": "Le projet get_next_line de l'école 42 consiste à implémenter une fonction en C capable de lire une ligne à la fois depuis un descripteur de fichier, sans recharger tout le fichier en mémoire. Pour cela, il utilise une lecture par blocs (BUFFER_SIZE), des variables statiques pour conserver les données non traitées entre les appels, et une gestion efficace des descripteurs de fichiers multiples. Ce projet est essentiel pour apprendre la manipulation des fichiers en C, la gestion dynamique de la mémoire et l'optimisation des entrées/sorties",
"slug": "get-next-line",
"Resum": "Le projet get_next_line de l'École 42 vise à développer une fonction en C capable de lire et de retourner une ligne complète depuis un descripteur de fichier, à chaque appel. Ce projet est essentiel pour comprendre la gestion des entrées/sorties en C, la manipulation des descripteurs de fichiers, et l'utilisation des variables statiques.\n\n🎯 Objectifs du Projet\n\nLecture Ligne par Ligne : Implémenter une fonction get_next_line qui lit une ligne complète depuis un descripteur de fichier donné.\n\nGestion des Descripteurs de Fichiers : Apprendre à manipuler les descripteurs de fichiers pour lire des données depuis différentes sources, telles que des fichiers ou l'entrée standard.\n\nUtilisation des Variables Statiques : Comprendre et utiliser les variables statiques pour conserver l'état entre les appels de fonction, notamment pour gérer les données restantes entre les lectures.\n\n🛠 Spécifications Techniques\n\nPrototype de la Fonction :\n\nchar *get_next_line(int fd);\n\nComportement Attendu :\n\nLa fonction doit lire une ligne complète depuis le descripteur de fichier fd et la retourner.\n\nUne ligne est définie par une séquence de caractères se terminant par un saut de ligne ('\\n') ou par la fin du fichier (EOF).\n\nLa fonction doit gérer les descripteurs de fichiers multiples, en conservant l'état de lecture pour chacun.\n\nGestion de la Mémoire :\n\nAllouer dynamiquement la mémoire nécessaire pour chaque ligne lue.\n\nAssurer la libération appropriée de la mémoire allouée pour éviter les fuites de mémoire.\n\nVariables Statiques :\n\nUtiliser des variables statiques pour stocker les données restantes entre les appels de la fonction, permettant ainsi de gérer correctement les lectures partielles.\n\n🔧 Approche d'Implémentation\n\nLecture par Blocs :\n\nLire le contenu du descripteur de fichier par blocs de taille définie (BUFFER_SIZE).\n\nConcaténer les blocs lus jusqu'à ce qu'une ligne complète soit obtenue.\n\nGestion des Lignes :\n\nIdentifier la position du caractère de saut de ligne ('\\n') pour délimiter la fin de la ligne.\n\nExtraire la ligne complète et conserver le reste des données pour les appels suivants.\n\nUtilisation des Variables Statiques :\n\nStocker les données restantes après chaque lecture dans une variable statique, afin de les utiliser lors des appels ultérieurs de la fonction pour le même descripteur de fichier.\n\nGestion des Erreurs :\n\nGérer les cas où la lecture échoue, où la mémoire ne peut pas être allouée, ou où le descripteur de fichier est invalide.\n\n📂 Structure du Projet\n\nFichiers Principaux :\n\nget_next_line.c : Contient l'implémentation de la fonction principale get_next_line.\n\nget_next_line.h : Déclare le prototype de la fonction et les inclusions nécessaires.\n\nget_next_line_utils.c : Contient les fonctions utilitaires utilisées par get_next_line (par exemple, fonctions de manipulation de chaînes).\n\nCompilation :\n\nUtiliser un Makefile pour automatiser la compilation du projet.\n\nDéfinir la macro BUFFER_SIZE lors de la compilation pour spécifier la taille des blocs de lecture.\n\n🧪 Tests et Validation\n\nCas de Test :\n\nLire des fichiers de différentes tailles, y compris des fichiers vides et de très grands fichiers.\n\nTester la lecture depuis l'entrée standard (stdin).\n\nGérer les fichiers contenant des lignes sans saut de ligne final.\n\nGestion des Descripteurs Multiples :\n\nAssurer que la fonction peut gérer plusieurs descripteurs de fichiers simultanément, en maintenant l'état de lecture pour chacun.\nVérification des Fuites de Mémoire :\n\nUtiliser des outils tels que Valgrind pour détecter et corriger les fuites de mémoire potentielles.\n\nEn réalisant le projet get_next_line, les étudiants de l'École 42 acquièrent une compréhension approfondie de la gestion des entrées/sorties en C, de la manipulation des descripteurs de fichiers, et de l'utilisation des variables statiques pour conserver l'état entre les appels de fonction. Ce projet est une étape cruciale pour développer des compétences en programmation système et en gestion efficace de la mémoire en C.",
"link": "https://github.com/Ladebeze66/getnextline",
"createdAt": "2025-01-31T20:22:51.303Z",
"updatedAt": "2025-02-13T14:50:57.365Z",
"publishedAt": "2025-02-13T14:50:57.382Z",
"order": null,
"picture": [
{
"id": 330,
"documentId": "hfptb0052v82spzhqxgvive2",
"name": "u6113228922_A_clean_and_structured_infographic-style_illustrati_ef0af673-e2d7-4daf-bcc2-96de7e754455_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_clean_and_structured_infographic-style_illustrati_ef0af673-e2d7-4daf-bcc2-96de7e754455_resultat.webp",
"hash": "thumbnail_u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 4.93,
"sizeInBytes": 4926,
"url": "/uploads/thumbnail_u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df.webp"
},
"large": {
"name": "large_u6113228922_A_clean_and_structured_infographic-style_illustrati_ef0af673-e2d7-4daf-bcc2-96de7e754455_resultat.webp",
"hash": "large_u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 29.09,
"sizeInBytes": 29088,
"url": "/uploads/large_u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df.webp"
},
"medium": {
"name": "medium_u6113228922_A_clean_and_structured_infographic-style_illustrati_ef0af673-e2d7-4daf-bcc2-96de7e754455_resultat.webp",
"hash": "medium_u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 20.48,
"sizeInBytes": 20476,
"url": "/uploads/medium_u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df.webp"
},
"small": {
"name": "small_u6113228922_A_clean_and_structured_infographic-style_illustrati_ef0af673-e2d7-4daf-bcc2-96de7e754455_resultat.webp",
"hash": "small_u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 12.39,
"sizeInBytes": 12388,
"url": "/uploads/small_u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df.webp"
}
},
"hash": "u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df",
"ext": ".webp",
"mime": "image/webp",
"size": 100.69,
"url": "/uploads/u6113228922_A_clean_and_structured_infographic_style_illustrati_ef0af673_e2d7_4daf_bcc2_96de7e754455_resultat_4b5d0608df.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:50:07.617Z",
"updatedAt": "2025-02-13T14:50:07.617Z",
"publishedAt": "2025-02-13T14:50:07.617Z"
},
{
"id": 331,
"documentId": "ql0b6b1jorhtjlufis5oepwc",
"name": "u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b-e5cb-47ed-bf18-431068f94efa_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b-e5cb-47ed-bf18-431068f94efa_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 9.16,
"sizeInBytes": 9162,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b-e5cb-47ed-bf18-431068f94efa_resultat.webp",
"hash": "large_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 58.9,
"sizeInBytes": 58902,
"url": "/uploads/large_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b-e5cb-47ed-bf18-431068f94efa_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 41.38,
"sizeInBytes": 41380,
"url": "/uploads/medium_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b-e5cb-47ed-bf18-431068f94efa_resultat.webp",
"hash": "small_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 24.71,
"sizeInBytes": 24710,
"url": "/uploads/small_u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324.webp"
}
},
"hash": "u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324",
"ext": ".webp",
"mime": "image/webp",
"size": 236.66,
"url": "/uploads/u6113228922_A_futuristic_digital_interface_visualizing_get_next_b830991b_e5cb_47ed_bf18_431068f94efa_resultat_bc24dee324.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:50:07.893Z",
"updatedAt": "2025-02-13T14:50:07.893Z",
"publishedAt": "2025-02-13T14:50:07.893Z"
},
{
"id": 338,
"documentId": "yb180ixtcs7kbpbcki05lzcu",
"name": "u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f-5dd2-4fdc-a828-6506e7979ce9.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f-5dd2-4fdc-a828-6506e7979ce9.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 77.71,
"sizeInBytes": 77711,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f-5dd2-4fdc-a828-6506e7979ce9.png",
"hash": "small_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 303,
"sizeInBytes": 302997,
"url": "/uploads/small_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f-5dd2-4fdc-a828-6506e7979ce9.png",
"hash": "medium_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 650.58,
"sizeInBytes": 650579,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f-5dd2-4fdc-a828-6506e7979ce9.png",
"hash": "large_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1127.21,
"sizeInBytes": 1127210,
"url": "/uploads/large_u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7.png"
}
},
"hash": "u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7",
"ext": ".png",
"mime": "image/png",
"size": 2262.5,
"url": "/uploads/u6113228922_A_surreal_artistic_interpretation_of_continuous_fil_9a61b21f_5dd2_4fdc_a828_6506e7979ce9_5a6a1c02d7.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:50:44.316Z",
"updatedAt": "2025-02-13T14:50:44.316Z",
"publishedAt": "2025-02-13T14:50:44.316Z"
},
{
"id": 339,
"documentId": "guscrkeyw8eea70cl0zilykx",
"name": "u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08-c55c-4494-8eea-adaf227d726b.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08-c55c-4494-8eea-adaf227d726b.png",
"hash": "thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 87.38,
"sizeInBytes": 87382,
"url": "/uploads/thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb.png"
},
"small": {
"name": "small_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08-c55c-4494-8eea-adaf227d726b.png",
"hash": "small_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 326.84,
"sizeInBytes": 326839,
"url": "/uploads/small_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb.png"
},
"medium": {
"name": "medium_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08-c55c-4494-8eea-adaf227d726b.png",
"hash": "medium_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 691.16,
"sizeInBytes": 691158,
"url": "/uploads/medium_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb.png"
},
"large": {
"name": "large_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08-c55c-4494-8eea-adaf227d726b.png",
"hash": "large_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1206.11,
"sizeInBytes": 1206109,
"url": "/uploads/large_u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb.png"
}
},
"hash": "u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb",
"ext": ".png",
"mime": "image/png",
"size": 1989.69,
"url": "/uploads/u6113228922_A_vintage_CRT_monitor_displaying_C_code_for_get_nex_c6ed1c08_c55c_4494_8eea_adaf227d726b_34292799bb.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:50:45.635Z",
"updatedAt": "2025-02-13T14:50:45.635Z",
"publishedAt": "2025-02-13T14:50:45.635Z"
}
]
},
{
"id": 107,
"documentId": "a2ftrsrvzf16edss8cmr0f81",
"name": "cpp-partie1",
"description": "Les modules CPP 00 à 04 de l'école 42 sont une introduction progressive au langage C++ et à la programmation orientée objet (POO). Ils couvrent les bases du C++ (classes, objets, fonctions membres, références, mémoire), la surcharge d'opérateurs, l'héritage, et le polymorphisme. Ces modules permettent d'acquérir une compréhension solide du modèle objet du C++, essentielle pour le développement logiciel et les projets avancés en POO.",
"slug": "cpp-partie1",
"Resum": "Les modules CPP 00 à 04 de l'école 42 constituent une introduction progressive au langage C++ et à la programmation orientée objet (POO). Chaque module aborde des concepts clés du C++ pour fournir une compréhension solide des spécificités du langage par rapport au C.\n\n🎯 Objectifs des Modules\n\nModule 00 : Découverte des bases du C++, y compris les espaces de noms (namespaces), les classes, les fonctions membres, les flux d'entrée/sortie (stdio streams), les listes d'initialisation, ainsi que les mots-clés static et const.\n\nModule 01 : Approfondissement de la gestion de la mémoire, des références, des pointeurs sur membres et de l'utilisation de l'instruction switch.\n\nModule 02 : Introduction au polymorphisme ad hoc, à la surcharge des opérateurs et aux classes canoniques orthodoxes.\n\nModule 03 : Étude de l'héritage en C++, permettant la création de hiérarchies de classes et la réutilisation du code.\n\nModule 04 : Exploration du polymorphisme de sous-type, des classes abstraites et des interfaces, fondamentaux pour la conception de systèmes modulaires et extensibles.\n\n🛠 Approche Pédagogique\n\nChaque module est structuré pour introduire progressivement des concepts clés du C++ :\n\nLecture et Compréhension : Étudier les notions théoriques présentées dans le module.\n\nExercices Pratiques : Réaliser des exercices pour appliquer les concepts appris, tels que la création de classes, la gestion de la mémoire et l'implémentation de polymorphisme.\n\nProjets d'Application : Développer des projets concrets qui intègrent plusieurs concepts, renforçant ainsi la compréhension et la maîtrise du langage.\n\nCes modules sont conçus pour fournir une base solide en C++ et en programmation orientée objet, préparant les étudiants à des projets plus complexes et à une compréhension approfondie du développement logiciel moderne.",
"link": "https://github.com/Ladebeze66/cpp-partie-1",
"createdAt": "2025-02-02T16:41:20.116Z",
"updatedAt": "2025-02-13T14:56:13.401Z",
"publishedAt": "2025-02-13T14:56:13.418Z",
"order": null,
"picture": [
{
"id": 363,
"documentId": "lq56fykbf07yoejgkt878y9d",
"name": "u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3-653a-4f75-920e-a7bff4721aff_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3-653a-4f75-920e-a7bff4721aff_resultat.webp",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 5.25,
"sizeInBytes": 5248,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2.webp"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3-653a-4f75-920e-a7bff4721aff_resultat.webp",
"hash": "large_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 44.34,
"sizeInBytes": 44338,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2.webp"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3-653a-4f75-920e-a7bff4721aff_resultat.webp",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 26.78,
"sizeInBytes": 26776,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2.webp"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3-653a-4f75-920e-a7bff4721aff_resultat.webp",
"hash": "small_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 14.41,
"sizeInBytes": 14410,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2.webp"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2",
"ext": ".webp",
"mime": "image/webp",
"size": 257.06,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_visually_explai_933b9cf3_653a_4f75_920e_a7bff4721aff_resultat_380884d5c2.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:55:43.888Z",
"updatedAt": "2025-02-13T14:55:43.888Z",
"publishedAt": "2025-02-13T14:55:43.888Z"
},
{
"id": 364,
"documentId": "o7mcp9fgmhiimx6yrzw15lai",
"name": "u6113228922_A_surreal_representation_of_object-oriented_program_cc55c908-a96a-4d29-aef1-7cf38b568191_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_object-oriented_program_cc55c908-a96a-4d29-aef1-7cf38b568191_resultat.webp",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 8.9,
"sizeInBytes": 8896,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7.webp"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_object-oriented_program_cc55c908-a96a-4d29-aef1-7cf38b568191_resultat.webp",
"hash": "large_u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 56.59,
"sizeInBytes": 56588,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7.webp"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_object-oriented_program_cc55c908-a96a-4d29-aef1-7cf38b568191_resultat.webp",
"hash": "medium_u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 39.93,
"sizeInBytes": 39926,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7.webp"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_object-oriented_program_cc55c908-a96a-4d29-aef1-7cf38b568191_resultat.webp",
"hash": "small_u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 23.88,
"sizeInBytes": 23880,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7.webp"
}
},
"hash": "u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7",
"ext": ".webp",
"mime": "image/webp",
"size": 342.97,
"url": "/uploads/u6113228922_A_surreal_representation_of_object_oriented_program_cc55c908_a96a_4d29_aef1_7cf38b568191_resultat_37068ce7b7.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:55:44.053Z",
"updatedAt": "2025-02-13T14:55:44.053Z",
"publishedAt": "2025-02-13T14:55:44.053Z"
},
{
"id": 365,
"documentId": "chxf1yy3e9gk941qlp1qusvr",
"name": "u6113228922_A_structured_and_modern_infographic_visually_explai_00608093-43a2-4512-b376-a14c35e488aa_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093-43a2-4512-b376-a14c35e488aa_resultat.webp",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 5.05,
"sizeInBytes": 5048,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0.webp"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093-43a2-4512-b376-a14c35e488aa_resultat.webp",
"hash": "large_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 53.76,
"sizeInBytes": 53762,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0.webp"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093-43a2-4512-b376-a14c35e488aa_resultat.webp",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 33.53,
"sizeInBytes": 33530,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0.webp"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093-43a2-4512-b376-a14c35e488aa_resultat.webp",
"hash": "small_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 17.35,
"sizeInBytes": 17350,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0.webp"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0",
"ext": ".webp",
"mime": "image/webp",
"size": 329.24,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_visually_explai_00608093_43a2_4512_b376_a14c35e488aa_resultat_b93591d4e0.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:55:44.082Z",
"updatedAt": "2025-02-13T14:55:44.082Z",
"publishedAt": "2025-02-13T14:55:44.082Z"
},
{
"id": 366,
"documentId": "ns73der6rtadqig58cxs7xh3",
"name": "u6113228922_A_futuristic_cybernetic_environment_where_floating__e698f4c4-e9c5-447f-8201-ce314005111c_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_cybernetic_environment_where_floating__e698f4c4-e9c5-447f-8201-ce314005111c_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 9.62,
"sizeInBytes": 9624,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_cybernetic_environment_where_floating__e698f4c4-e9c5-447f-8201-ce314005111c_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 49.44,
"sizeInBytes": 49440,
"url": "/uploads/medium_u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_cybernetic_environment_where_floating__e698f4c4-e9c5-447f-8201-ce314005111c_resultat.webp",
"hash": "small_u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 28.33,
"sizeInBytes": 28328,
"url": "/uploads/small_u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_cybernetic_environment_where_floating__e698f4c4-e9c5-447f-8201-ce314005111c_resultat.webp",
"hash": "large_u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 71.55,
"sizeInBytes": 71550,
"url": "/uploads/large_u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f.webp"
}
},
"hash": "u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f",
"ext": ".webp",
"mime": "image/webp",
"size": 368.56,
"url": "/uploads/u6113228922_A_futuristic_cybernetic_environment_where_floating_e698f4c4_e9c5_447f_8201_ce314005111c_resultat_d8e587930f.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:55:44.307Z",
"updatedAt": "2025-02-13T14:55:44.307Z",
"publishedAt": "2025-02-13T14:55:44.307Z"
},
{
"id": 367,
"documentId": "cq88nvri29ilyfjtlltty0yo",
"name": "u6113228922_A_futuristic_cybernetic_environment_where_floating__70f6d5c9-ef1c-4513-b2e8-91d8a03bccba_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_cybernetic_environment_where_floating__70f6d5c9-ef1c-4513-b2e8-91d8a03bccba_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 7.2,
"sizeInBytes": 7198,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_cybernetic_environment_where_floating__70f6d5c9-ef1c-4513-b2e8-91d8a03bccba_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 44.79,
"sizeInBytes": 44794,
"url": "/uploads/medium_u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_cybernetic_environment_where_floating__70f6d5c9-ef1c-4513-b2e8-91d8a03bccba_resultat.webp",
"hash": "small_u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 23.43,
"sizeInBytes": 23432,
"url": "/uploads/small_u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_cybernetic_environment_where_floating__70f6d5c9-ef1c-4513-b2e8-91d8a03bccba_resultat.webp",
"hash": "large_u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 69.76,
"sizeInBytes": 69764,
"url": "/uploads/large_u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65.webp"
}
},
"hash": "u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65",
"ext": ".webp",
"mime": "image/webp",
"size": 534.02,
"url": "/uploads/u6113228922_A_futuristic_cybernetic_environment_where_floating_70f6d5c9_ef1c_4513_b2e8_91d8a03bccba_resultat_6b4b329e65.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:55:44.521Z",
"updatedAt": "2025-02-13T14:55:44.521Z",
"publishedAt": "2025-02-13T14:55:44.522Z"
},
{
"id": 368,
"documentId": "nbuhg6co8r4zpw1dbt8hzsy5",
"name": "u6113228922_A_surreal_representation_of_object-oriented_program_714fb87b-9ce8-4f03-8349-91c045868180_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_object-oriented_program_714fb87b-9ce8-4f03-8349-91c045868180_resultat.webp",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 10.52,
"sizeInBytes": 10522,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941.webp"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_object-oriented_program_714fb87b-9ce8-4f03-8349-91c045868180_resultat.webp",
"hash": "medium_u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 54.98,
"sizeInBytes": 54978,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941.webp"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_object-oriented_program_714fb87b-9ce8-4f03-8349-91c045868180_resultat.webp",
"hash": "small_u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 30.93,
"sizeInBytes": 30926,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941.webp"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_object-oriented_program_714fb87b-9ce8-4f03-8349-91c045868180_resultat.webp",
"hash": "large_u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 84.45,
"sizeInBytes": 84452,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941.webp"
}
},
"hash": "u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941",
"ext": ".webp",
"mime": "image/webp",
"size": 774.86,
"url": "/uploads/u6113228922_A_surreal_representation_of_object_oriented_program_714fb87b_9ce8_4f03_8349_91c045868180_resultat_3bdf0f5941.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:55:44.808Z",
"updatedAt": "2025-02-13T14:55:44.808Z",
"publishedAt": "2025-02-13T14:55:44.808Z"
},
{
"id": 369,
"documentId": "ojd6h953n2b6xfe46te6f5i9",
"name": "u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc-cfe1-4190-9041-d1dddf5b7af4_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc-cfe1-4190-9041-d1dddf5b7af4_resultat.webp",
"hash": "thumbnail_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 6.71,
"sizeInBytes": 6714,
"url": "/uploads/thumbnail_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143.webp"
},
"large": {
"name": "large_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc-cfe1-4190-9041-d1dddf5b7af4_resultat.webp",
"hash": "large_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 55.09,
"sizeInBytes": 55094,
"url": "/uploads/large_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143.webp"
},
"medium": {
"name": "medium_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc-cfe1-4190-9041-d1dddf5b7af4_resultat.webp",
"hash": "medium_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 37,
"sizeInBytes": 37000,
"url": "/uploads/medium_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143.webp"
},
"small": {
"name": "small_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc-cfe1-4190-9041-d1dddf5b7af4_resultat.webp",
"hash": "small_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 20.81,
"sizeInBytes": 20806,
"url": "/uploads/small_u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143.webp"
}
},
"hash": "u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143",
"ext": ".webp",
"mime": "image/webp",
"size": 232.41,
"url": "/uploads/u6113228922_A_vintage_computer_screen_displaying_early_C_code_c_8fe5fbbc_cfe1_4190_9041_d1dddf5b7af4_resultat_dc314c4143.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:55:45.621Z",
"updatedAt": "2025-02-13T14:55:45.621Z",
"publishedAt": "2025-02-13T14:55:45.621Z"
}
]
},
{
"id": 108,
"documentId": "rzm30joebypctblmtf9p3hax",
"name": "cpp-partie2",
"description": "Les modules CPP 04 à 09 de l'école 42 approfondissent les concepts avancés du C++, notamment le polymorphisme, la gestion des exceptions, les casts, les templates génériques, et l'utilisation de la STL (Standard Template Library). Ils permettent d'acquérir des compétences essentielles en programmation orientée objet, conception modulaire et optimisation du code, préparant les étudiants à des projets logiciels complexes en C++.",
"slug": "cpp-partie2",
"Resum": "Les modules CPP 04 à 09 de l'école 42 approfondissent les concepts avancés du langage C++ et de la programmation orientée objet (POO). Chaque module est conçu pour renforcer la compréhension et la maîtrise des aspects spécifiques du C++, préparant les étudiants à des projets complexes et à une utilisation efficace du langage dans des applications réelles.\n\n🎯 Objectifs des Modules\n\nModule 04 : Approfondir le polymorphisme de sous-type, les classes abstraites et les interfaces, permettant une conception modulaire et extensible des applications.\n\nModule 05 : Maîtriser la gestion des exceptions en C++, en utilisant les blocs try et catch pour gérer les erreurs de manière élégante et robuste.\n\nModule 06 : Comprendre les différents types de cast en C++, tels que static_cast, dynamic_cast, const_cast et reinterpret_cast, pour effectuer des conversions de types en toute sécurité.\n\nModule 07 : Explorer les templates en C++, permettant la création de fonctions et de classes génériques pour une réutilisabilité accrue du code.\n\nModule 08 : Se familiariser avec les conteneurs de la Standard Template Library (STL), les itérateurs et les algorithmes, essentiels pour une manipulation efficace des collections de données.\n\nModule 09 : Intégrer les connaissances précédemment acquises pour résoudre des problèmes complexes, en mettant l'accent sur l'utilisation avancée de la STL et des concepts modernes du C++.\n\n🛠 Spécifications Techniques\n\nLangage de Programmation : C++.\n\nConcepts Clés :\n\nPolymorphisme et héritage.\n\nGestion des exceptions.\n\nConversions de types sécurisées.\n\nProgrammation générique avec les templates.\n\nUtilisation avancée de la STL.\n\nPrérequis : Connaissance des bases du C++ et des principes de la programmation orientée objet.\n\n🔧 Approche d'Implémentation\n\nÉtude Théorique :\n\nLire et comprendre les concepts avancés du C++ présentés dans chaque module.\n\nExercices Pratiques :\n\nRéaliser des exercices ciblés pour appliquer les concepts appris, tels que l'implémentation de classes abstraites, la gestion des exceptions, et l'utilisation des templates.\n\nProjets d'Application :\n\nDévelopper des projets concrets intégrant plusieurs concepts, comme la création de conteneurs personnalisés ou l'implémentation d'algorithmes génériques.\n\nRevue de Code :\n\nAnalyser et optimiser le code écrit, en mettant l'accent sur les bonnes pratiques de programmation et l'efficacité.\n\nCes modules sont conçus pour fournir une compréhension approfondie des aspects avancés du C++, préparant les étudiants à des défis de programmation complexes et à une utilisation efficace du langage dans des projets réels. Ils mettent l'accent sur la conception modulaire, la gestion des erreurs, la programmation générique et l'utilisation efficace des bibliothèques standard, des compétences essentielles pour tout développeur C++ moderne. 🚀",
"link": "https://github.com/Ladebeze66/cpp-partie-2",
"createdAt": "2025-02-03T10:34:48.922Z",
"updatedAt": "2025-02-13T14:57:37.154Z",
"publishedAt": "2025-02-13T14:57:37.172Z",
"order": null,
"picture": [
{
"id": 371,
"documentId": "m0c6bzx1wpyq5hwhqtgjom94",
"name": "u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439-978b-4759-af26-51bd92ecfd74_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439-978b-4759-af26-51bd92ecfd74_resultat.webp",
"hash": "thumbnail_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 6.9,
"sizeInBytes": 6900,
"url": "/uploads/thumbnail_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa.webp"
},
"large": {
"name": "large_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439-978b-4759-af26-51bd92ecfd74_resultat.webp",
"hash": "large_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 43.67,
"sizeInBytes": 43670,
"url": "/uploads/large_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa.webp"
},
"medium": {
"name": "medium_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439-978b-4759-af26-51bd92ecfd74_resultat.webp",
"hash": "medium_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 30.14,
"sizeInBytes": 30136,
"url": "/uploads/medium_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa.webp"
},
"small": {
"name": "small_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439-978b-4759-af26-51bd92ecfd74_resultat.webp",
"hash": "small_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 17.93,
"sizeInBytes": 17930,
"url": "/uploads/small_u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa.webp"
}
},
"hash": "u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa",
"ext": ".webp",
"mime": "image/webp",
"size": 206.44,
"url": "/uploads/u6113228922_A_programmer_intently_focused_on_writing_advanced_C_546b1439_978b_4759_af26_51bd92ecfd74_resultat_a40598befa.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:56:41.029Z",
"updatedAt": "2025-02-13T14:56:41.029Z",
"publishedAt": "2025-02-13T14:56:41.029Z"
},
{
"id": 372,
"documentId": "g40yrayg4vpipt38rebvqfw3",
"name": "u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26-1ed0-46a0-a3e8-7cc288b8718e_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26-1ed0-46a0-a3e8-7cc288b8718e_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 10.83,
"sizeInBytes": 10832,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26-1ed0-46a0-a3e8-7cc288b8718e_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 50.47,
"sizeInBytes": 50468,
"url": "/uploads/medium_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26-1ed0-46a0-a3e8-7cc288b8718e_resultat.webp",
"hash": "small_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 30.08,
"sizeInBytes": 30080,
"url": "/uploads/small_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26-1ed0-46a0-a3e8-7cc288b8718e_resultat.webp",
"hash": "large_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 70.71,
"sizeInBytes": 70708,
"url": "/uploads/large_u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb.webp"
}
},
"hash": "u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb",
"ext": ".webp",
"mime": "image/webp",
"size": 265.51,
"url": "/uploads/u6113228922_A_futuristic_digital_environment_where_abstract_dat_14e7ea26_1ed0_46a0_a3e8_7cc288b8718e_resultat_ad6b2b91bb.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:56:41.245Z",
"updatedAt": "2025-02-13T14:56:41.245Z",
"publishedAt": "2025-02-13T14:56:41.245Z"
},
{
"id": 373,
"documentId": "hm58f12iy4ubxcifxab4tdap",
"name": "u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab-418b-4ab6-b5e4-6798a07e5b02_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab-418b-4ab6-b5e4-6798a07e5b02_resultat.webp",
"hash": "thumbnail_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 9.53,
"sizeInBytes": 9532,
"url": "/uploads/thumbnail_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a.webp"
},
"small": {
"name": "small_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab-418b-4ab6-b5e4-6798a07e5b02_resultat.webp",
"hash": "small_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 26.82,
"sizeInBytes": 26824,
"url": "/uploads/small_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a.webp"
},
"medium": {
"name": "medium_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab-418b-4ab6-b5e4-6798a07e5b02_resultat.webp",
"hash": "medium_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 49.14,
"sizeInBytes": 49136,
"url": "/uploads/medium_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a.webp"
},
"large": {
"name": "large_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab-418b-4ab6-b5e4-6798a07e5b02_resultat.webp",
"hash": "large_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 75.55,
"sizeInBytes": 75554,
"url": "/uploads/large_u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a.webp"
}
},
"hash": "u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a",
"ext": ".webp",
"mime": "image/webp",
"size": 459.22,
"url": "/uploads/u6113228922_A_structured_infographic_illustrating_advanced_C_to_315824ab_418b_4ab6_b5e4_6798a07e5b02_resultat_593db0c30a.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:56:41.347Z",
"updatedAt": "2025-02-13T14:56:41.347Z",
"publishedAt": "2025-02-13T14:56:41.347Z"
},
{
"id": 374,
"documentId": "c7m83qic3nl1dmhxrqpurdss",
"name": "u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f-125b-456d-90b6-5044a56639b5_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f-125b-456d-90b6-5044a56639b5_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 11.84,
"sizeInBytes": 11840,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f-125b-456d-90b6-5044a56639b5_resultat.webp",
"hash": "small_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 33.28,
"sizeInBytes": 33280,
"url": "/uploads/small_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f-125b-456d-90b6-5044a56639b5_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 56.84,
"sizeInBytes": 56838,
"url": "/uploads/medium_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f-125b-456d-90b6-5044a56639b5_resultat.webp",
"hash": "large_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 82.39,
"sizeInBytes": 82386,
"url": "/uploads/large_u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61.webp"
}
},
"hash": "u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61",
"ext": ".webp",
"mime": "image/webp",
"size": 387.9,
"url": "/uploads/u6113228922_A_futuristic_digital_environment_where_abstract_dat_02027b0f_125b_456d_90b6_5044a56639b5_resultat_c249c0dc61.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:56:41.449Z",
"updatedAt": "2025-02-13T14:56:41.449Z",
"publishedAt": "2025-02-13T14:56:41.450Z"
},
{
"id": 381,
"documentId": "hha6ivufbvt1hja533krmugq",
"name": "u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549-1895-4b21-9b15-bd637302244c.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549-1895-4b21-9b15-bd637302244c.png",
"hash": "thumbnail_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 80.54,
"sizeInBytes": 80540,
"url": "/uploads/thumbnail_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8.png"
},
"small": {
"name": "small_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549-1895-4b21-9b15-bd637302244c.png",
"hash": "small_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 321.92,
"sizeInBytes": 321921,
"url": "/uploads/small_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549-1895-4b21-9b15-bd637302244c.png",
"hash": "medium_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 709.1,
"sizeInBytes": 709103,
"url": "/uploads/medium_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8.png"
},
"large": {
"name": "large_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549-1895-4b21-9b15-bd637302244c.png",
"hash": "large_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1244.12,
"sizeInBytes": 1244115,
"url": "/uploads/large_u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8.png"
}
},
"hash": "u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8",
"ext": ".png",
"mime": "image/png",
"size": 3195.85,
"url": "/uploads/u6113228922_A_surreal_digital_artwork_representing_advanced_C_c_d3219549_1895_4b21_9b15_bd637302244c_87903338a8.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:57:15.494Z",
"updatedAt": "2025-02-13T14:57:15.494Z",
"publishedAt": "2025-02-13T14:57:15.495Z"
},
{
"id": 382,
"documentId": "bmieforlz5qjllyu4ox4ezzh",
"name": "u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863-8513-419c-b2fc-b242ad297684.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863-8513-419c-b2fc-b242ad297684.png",
"hash": "thumbnail_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 72.74,
"sizeInBytes": 72735,
"url": "/uploads/thumbnail_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15.png"
},
"small": {
"name": "small_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863-8513-419c-b2fc-b242ad297684.png",
"hash": "small_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 276.06,
"sizeInBytes": 276058,
"url": "/uploads/small_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15.png"
},
"medium": {
"name": "medium_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863-8513-419c-b2fc-b242ad297684.png",
"hash": "medium_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 606.99,
"sizeInBytes": 606987,
"url": "/uploads/medium_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15.png"
},
"large": {
"name": "large_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863-8513-419c-b2fc-b242ad297684.png",
"hash": "large_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1097.68,
"sizeInBytes": 1097684,
"url": "/uploads/large_u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15.png"
}
},
"hash": "u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15",
"ext": ".png",
"mime": "image/png",
"size": 3031.95,
"url": "/uploads/u6113228922_A_vintage_UNIX_workstation_displaying_an_early_impl_0489d863_8513_419c_b2fc_b242ad297684_5cfab43e15.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:57:16.295Z",
"updatedAt": "2025-02-13T14:57:16.295Z",
"publishedAt": "2025-02-13T14:57:16.295Z"
}
]
},
{
"id": 109,
"documentId": "qqnfw2pi2d2j7viifng8frob",
"name": "cub3d",
"description": "Le projet Cub3D de l'école 42 consiste à coder un moteur graphique en C, inspiré de Wolfenstein 3D, utilisant la technique du raycasting pour afficher une vue en pseudo-3D à partir d'une carte 2D. Il intègre la gestion des mouvements du joueur, des textures, des redirections de caméra, et des événements clavier/souris via MiniLibX. Ce projet développe des compétences en programmation graphique, manipulation des fichiers de configuration et gestion des collisions",
"slug": "cub3d",
"Resum": "Le projet Cub3D de l'École 42 consiste à développer un moteur graphique en C, inspiré du jeu classique Wolfenstein 3D. L'objectif principal est d'implémenter une vue en trois dimensions à partir d'une carte en deux dimensions en utilisant la technique du raycasting. Ce projet permet aux étudiants de se familiariser avec les concepts fondamentaux de la programmation graphique et de la gestion des événements en temps réel.\n\n🎯 Objectifs du Projet\n\nCompréhension du Raycasting : Apprendre et implémenter la technique du raycasting pour simuler une perspective 3D à partir d'une carte 2D.\n\nManipulation de la MiniLibX : Utiliser la bibliothèque graphique minimaliste MiniLibX pour gérer l'affichage, les événements clavier et souris, ainsi que le rendu des images.\n\nGestion des Textures et des Couleurs : Appliquer des textures aux surfaces rendues et gérer les couleurs pour améliorer le réalisme de la scène.\n\nGestion des Collisions : Implémenter la détection des collisions pour empêcher le joueur de traverser les murs ou les obstacles.\n\nParsage de Fichiers de Configuration : Lire et interpréter des fichiers de configuration pour définir la carte du jeu, les positions de départ, les textures, etc.\n\n🛠 Spécifications Techniques\n\nLangage de Programmation : C.\n\nBibliothèque Graphique : MiniLibX, une bibliothèque graphique simple fournie par l'École 42.\n\nFonctionnalités à Implémenter :\n\nAffichage en 3D : Rendu en temps réel d'une scène 3D en utilisant le raycasting.\n\nMouvements du Joueur : Gestion des déplacements avant, arrière et latéraux, ainsi que la rotation de la vue.\n\nGestion des Textures : Application de textures sur les murs et autres surfaces.\n\nMinicarte : Affichage d'une minicarte 2D pour représenter la position du joueur et la disposition de la carte.\n\nGestion des Événements : Réponse aux entrées clavier et souris pour le contrôle du joueur.\nParsage de la Carte : Lecture de fichiers de configuration pour générer la carte du jeu.\n\n🔧 Approche d'Implémentation\n\nInitialisation de la MiniLibX :\n\nConfigurer la fenêtre d'affichage et initialiser les paramètres nécessaires.\n\nParsage de la Carte :\n\nLire le fichier de configuration pour créer une représentation en mémoire de la carte, incluant les positions des murs, des espaces vides, et la position initiale du joueur.\n\nImplémentation du Raycasting :\n\nCalculer les intersections des rayons avec les murs pour déterminer les distances et les angles, afin de rendre la scène en 3D.\n\nGestion des Mouvements et des Collisions :\n\nMettre en place la logique pour déplacer le joueur tout en détectant et en empêchant les collisions avec les murs.\n\nApplication des Textures :\n\nCharger les images des textures et les appliquer aux surfaces correspondantes lors du rendu.\n\nGestion des Événements :\n\nConfigurer les callbacks pour les entrées clavier et souris afin de permettre le contrôle du joueur.\n\nAffichage de la Minicarte :\n\nDessiner une représentation 2D de la carte et de la position du joueur pour faciliter la navigation.\n\n🧪 Tests et Validation\n\nTests Fonctionnels :\n\nVérifier que le rendu 3D est correct et que les murs apparaissent aux bonnes positions.\nTester les mouvements du joueur pour s'assurer qu'ils sont fluides et que les collisions sont correctement détectées.\n\nConfirmer que les textures sont correctement appliquées aux surfaces correspondantes.\n\nTests de Performance :\n\nÉvaluer le taux de rafraîchissement pour s'assurer que le jeu fonctionne de manière fluide.\nOptimiser le code pour réduire la charge processeur et améliorer les performances.\n\nTests d'Intégration :\n\nS'assurer que tous les composants (parsing, rendu, gestion des entrées) fonctionnent ensemble de manière cohérente.",
"link": "https://github.com/Ladebeze66/cub3D",
"createdAt": "2025-02-02T15:02:59.613Z",
"updatedAt": "2025-02-13T14:59:36.179Z",
"publishedAt": "2025-02-13T14:59:36.197Z",
"order": null,
"picture": [
{
"id": 383,
"documentId": "i1w67xii61bdrtdkr8gyeq2m",
"name": "u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_98af669c-a057-439a-a48f-cff287966d5c_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_98af669c-a057-439a-a48f-cff287966d5c_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 7.79,
"sizeInBytes": 7792,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_98af669c-a057-439a-a48f-cff287966d5c_resultat.webp",
"hash": "large_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 48.68,
"sizeInBytes": 48678,
"url": "/uploads/large_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_98af669c-a057-439a-a48f-cff287966d5c_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 35.01,
"sizeInBytes": 35010,
"url": "/uploads/medium_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_98af669c-a057-439a-a48f-cff287966d5c_resultat.webp",
"hash": "small_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 20.92,
"sizeInBytes": 20924,
"url": "/uploads/small_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601.webp"
}
},
"hash": "u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601",
"ext": ".webp",
"mime": "image/webp",
"size": 187.16,
"url": "/uploads/u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_98af669c_a057_439a_a48f_cff287966d5c_resultat_f9444f3601.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:58:28.070Z",
"updatedAt": "2025-02-13T14:58:28.070Z",
"publishedAt": "2025-02-13T14:58:28.070Z"
},
{
"id": 384,
"documentId": "ki48x9karrpdyoxis11pk1zx",
"name": "u6113228922_A_surreal_representation_of_a_world_being_built_in__439c1fb3-2d81-458f-846d-f3af17022572_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in__439c1fb3-2d81-458f-846d-f3af17022572_resultat.webp",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 8.13,
"sizeInBytes": 8130,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640.webp"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_a_world_being_built_in__439c1fb3-2d81-458f-846d-f3af17022572_resultat.webp",
"hash": "large_u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 53.38,
"sizeInBytes": 53378,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640.webp"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_a_world_being_built_in__439c1fb3-2d81-458f-846d-f3af17022572_resultat.webp",
"hash": "medium_u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 36.62,
"sizeInBytes": 36622,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640.webp"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_a_world_being_built_in__439c1fb3-2d81-458f-846d-f3af17022572_resultat.webp",
"hash": "small_u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 21.83,
"sizeInBytes": 21834,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640.webp"
}
},
"hash": "u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640",
"ext": ".webp",
"mime": "image/webp",
"size": 324.59,
"url": "/uploads/u6113228922_A_surreal_representation_of_a_world_being_built_in_439c1fb3_2d81_458f_846d_f3af17022572_resultat_4cbc828640.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:58:28.206Z",
"updatedAt": "2025-02-13T14:58:28.206Z",
"publishedAt": "2025-02-13T14:58:28.207Z"
},
{
"id": 385,
"documentId": "di132ejfqh1ns4gvd54f8e7u",
"name": "u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf-6754-4904-bb55-bafedfdcc491_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf-6754-4904-bb55-bafedfdcc491_resultat.webp",
"hash": "thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 8.4,
"sizeInBytes": 8404,
"url": "/uploads/thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb.webp"
},
"medium": {
"name": "medium_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf-6754-4904-bb55-bafedfdcc491_resultat.webp",
"hash": "medium_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 56.99,
"sizeInBytes": 56992,
"url": "/uploads/medium_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb.webp"
},
"small": {
"name": "small_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf-6754-4904-bb55-bafedfdcc491_resultat.webp",
"hash": "small_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 28.58,
"sizeInBytes": 28576,
"url": "/uploads/small_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb.webp"
},
"large": {
"name": "large_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf-6754-4904-bb55-bafedfdcc491_resultat.webp",
"hash": "large_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 91.58,
"sizeInBytes": 91578,
"url": "/uploads/large_u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb.webp"
}
},
"hash": "u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb",
"ext": ".webp",
"mime": "image/webp",
"size": 567.78,
"url": "/uploads/u6113228922_A_programmer_intensely_focused_on_their_screen_deve_1af7c8bf_6754_4904_bb55_bafedfdcc491_resultat_7c998728cb.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:58:28.427Z",
"updatedAt": "2025-02-13T14:58:28.427Z",
"publishedAt": "2025-02-13T14:58:28.427Z"
},
{
"id": 386,
"documentId": "t6z6abjxjcmtpk5ez07uma5w",
"name": "u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_829fa76e-d35e-454b-968a-6a652131630b_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_829fa76e-d35e-454b-968a-6a652131630b_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 7.89,
"sizeInBytes": 7886,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_829fa76e-d35e-454b-968a-6a652131630b_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 45.48,
"sizeInBytes": 45476,
"url": "/uploads/medium_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_829fa76e-d35e-454b-968a-6a652131630b_resultat.webp",
"hash": "small_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 24.34,
"sizeInBytes": 24336,
"url": "/uploads/small_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_data-driven_visualization_of_a_raycast_829fa76e-d35e-454b-968a-6a652131630b_resultat.webp",
"hash": "large_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 70.85,
"sizeInBytes": 70854,
"url": "/uploads/large_u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b.webp"
}
},
"hash": "u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b",
"ext": ".webp",
"mime": "image/webp",
"size": 507.19,
"url": "/uploads/u6113228922_A_futuristic_data_driven_visualization_of_a_raycast_829fa76e_d35e_454b_968a_6a652131630b_resultat_d27fe89d6b.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:58:28.505Z",
"updatedAt": "2025-02-13T14:58:28.505Z",
"publishedAt": "2025-02-13T14:58:28.505Z"
},
{
"id": 387,
"documentId": "tsjnmlhb0kyro2qsocx6707k",
"name": "u6113228922_A_surreal_representation_of_a_world_being_built_in__b45e790a-be55-428b-acb2-da662a30a240_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in__b45e790a-be55-428b-acb2-da662a30a240_resultat.webp",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 9.4,
"sizeInBytes": 9400,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848.webp"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_a_world_being_built_in__b45e790a-be55-428b-acb2-da662a30a240_resultat.webp",
"hash": "medium_u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 63.24,
"sizeInBytes": 63238,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848.webp"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_a_world_being_built_in__b45e790a-be55-428b-acb2-da662a30a240_resultat.webp",
"hash": "small_u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 32.28,
"sizeInBytes": 32282,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848.webp"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_a_world_being_built_in__b45e790a-be55-428b-acb2-da662a30a240_resultat.webp",
"hash": "large_u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 98.24,
"sizeInBytes": 98240,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848.webp"
}
},
"hash": "u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848",
"ext": ".webp",
"mime": "image/webp",
"size": 799.29,
"url": "/uploads/u6113228922_A_surreal_representation_of_a_world_being_built_in_b45e790a_be55_428b_acb2_da662a30a240_resultat_2882270848.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:58:29.036Z",
"updatedAt": "2025-02-13T14:58:29.036Z",
"publishedAt": "2025-02-13T14:58:29.036Z"
},
{
"id": 388,
"documentId": "rpy3zc8gjwai0o9zx6ubi2i5",
"name": "u6113228922_A_surreal_representation_of_a_world_being_built_in__c0d95a49-3a1b-4fe4-9deb-2133938a0d5d_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in__c0d95a49-3a1b-4fe4-9deb-2133938a0d5d_resultat.webp",
"hash": "thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 7.36,
"sizeInBytes": 7356,
"url": "/uploads/thumbnail_u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56.webp"
},
"medium": {
"name": "medium_u6113228922_A_surreal_representation_of_a_world_being_built_in__c0d95a49-3a1b-4fe4-9deb-2133938a0d5d_resultat.webp",
"hash": "medium_u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 64.85,
"sizeInBytes": 64846,
"url": "/uploads/medium_u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56.webp"
},
"small": {
"name": "small_u6113228922_A_surreal_representation_of_a_world_being_built_in__c0d95a49-3a1b-4fe4-9deb-2133938a0d5d_resultat.webp",
"hash": "small_u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 28.03,
"sizeInBytes": 28032,
"url": "/uploads/small_u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56.webp"
},
"large": {
"name": "large_u6113228922_A_surreal_representation_of_a_world_being_built_in__c0d95a49-3a1b-4fe4-9deb-2133938a0d5d_resultat.webp",
"hash": "large_u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 120.98,
"sizeInBytes": 120978,
"url": "/uploads/large_u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56.webp"
}
},
"hash": "u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56",
"ext": ".webp",
"mime": "image/webp",
"size": 1270.93,
"url": "/uploads/u6113228922_A_surreal_representation_of_a_world_being_built_in_c0d95a49_3a1b_4fe4_9deb_2133938a0d5d_resultat_06216bed56.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:58:29.844Z",
"updatedAt": "2025-02-13T14:58:29.844Z",
"publishedAt": "2025-02-13T14:58:29.844Z"
},
{
"id": 390,
"documentId": "c6lt26ef9sv46qmcijmiac3k",
"name": "u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting-based_49abcfa5-07b8-4715-b48f-ba3abfe30331_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting-based_49abcfa5-07b8-4715-b48f-ba3abfe30331_resultat.webp",
"hash": "thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 8.22,
"sizeInBytes": 8220,
"url": "/uploads/thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2.webp"
},
"medium": {
"name": "medium_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting-based_49abcfa5-07b8-4715-b48f-ba3abfe30331_resultat.webp",
"hash": "medium_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 45.3,
"sizeInBytes": 45304,
"url": "/uploads/medium_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2.webp"
},
"small": {
"name": "small_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting-based_49abcfa5-07b8-4715-b48f-ba3abfe30331_resultat.webp",
"hash": "small_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 24.66,
"sizeInBytes": 24664,
"url": "/uploads/small_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2.webp"
},
"large": {
"name": "large_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting-based_49abcfa5-07b8-4715-b48f-ba3abfe30331_resultat.webp",
"hash": "large_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 67.98,
"sizeInBytes": 67978,
"url": "/uploads/large_u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2.webp"
}
},
"hash": "u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2",
"ext": ".webp",
"mime": "image/webp",
"size": 388.22,
"url": "/uploads/u6113228922_A_vintage_CRT_monitor_displaying_a_raycasting_based_49abcfa5_07b8_4715_b48f_ba3abfe30331_resultat_0533a273d2.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:58:30.553Z",
"updatedAt": "2025-02-13T14:58:30.553Z",
"publishedAt": "2025-02-13T14:58:30.554Z"
}
]
},
{
"id": 110,
"documentId": "s6qckyd6zm0wv0cvb2zz1nu0",
"name": "fract-ol",
"description": "Le projet fract-ol de l'école 42 consiste à générer et afficher des fractales (Mandelbrot, Julia, etc.) en utilisant la bibliothèque graphique MiniLibX. Il permet dexplorer la programmation graphique en C, la manipulation des nombres complexes, et loptimisation des calculs pour le rendu dimages. Les utilisateurs peuvent interagir avec les fractales via le clavier et la souris pour zoomer, naviguer et modifier les paramètres en temps réel.",
"slug": "fract-ol",
"Resum": "Le projet fract-ol de l'École 42 est l'un des premiers projets graphiques du cursus, conçu pour initier les étudiants à la programmation 2D en générant des fractales. Une fractale est une figure géométrique fragmentée qui se répète infiniment à différentes échelles. Ce projet utilise la bibliothèque graphique MiniLibX fournie par l'école. \n\n🎯 Objectifs du Projet\n\nManipulation d'une Bibliothèque Graphique Bas-Niveau : Apprendre à utiliser MiniLibX pour créer des fenêtres, gérer les événements clavier et souris, et dessiner des images.\n\nCompréhension des Nombres Complexes : Utiliser les nombres complexes pour calculer et représenter des ensembles fractals tels que Mandelbrot et Julia.\n\nOptimisation des Performances : Améliorer l'efficacité du rendu graphique, notamment en explorant l'utilisation de threads pour le calcul parallèle.\n\n🛠 Spécifications Techniques\n\nFractales à Générer :\n\nEnsemble de Mandelbrot : Défini par l'itération de la fonction \n𝑧𝑛+1=𝑧𝑛2+𝑐z n+1=z n2+c, où 𝑧z et 𝑐c sont des nombres complexes.\n\nEnsemble de Julia : Similaire à Mandelbrot, mais avec une constante 𝑐c fixe et des valeurs initiales 𝑧z variant selon les pixels.\n\nEnsemble Burning Ship : Variante de Mandelbrot utilisant la valeur absolue des parties réelle et imaginaire de 𝑧z à chaque itération.\n\nFonctionnalités du Programme :\n\nZoom et Déplacement : Permettre à l'utilisateur de zoomer et de se déplacer dans la fractale pour explorer différents niveaux de détail.\n\nModification des Paramètres : Changer dynamiquement les paramètres de la fractale, comme les constantes complexes pour l'ensemble de Julia.\n\nChangement de Palette de Couleurs : Offrir différentes palettes pour améliorer la visualisation des fractales.\n\nContrôles Utilisateur :\n\nSouris : Zoom avant/arrière avec la molette, déplacement en cliquant et en faisant glisser.\n\nClavier : Touches pour déplacer la vue, ajuster le niveau de zoom, modifier les paramètres de la fractale et changer les couleurs.\n\n🔧 Approche d'Implémentation\n\nInitialisation de MiniLibX :\n\nCréer une fenêtre et initialiser une image pour le rendu des fractales.\n\nCalcul des Fractales :\n\nPour chaque pixel de l'image, convertir les coordonnées en un nombre complexe.\n\nAppliquer l'itération de la fonction fractale correspondante.\n\nDéterminer la couleur du pixel en fonction du nombre d'itérations avant que la valeur ne diverge au-delà d'un seuil fixé.\n\nGestion des Entrées Utilisateur :\n\nImplémenter des gestionnaires d'événements pour les entrées clavier et souris afin de permettre l'interaction en temps réel avec la fractale.\n\nOptimisation :\n\nUtiliser des techniques telles que le calcul en parallèle avec des threads pour améliorer la performance du rendu, surtout lors de zooms profonds nécessitant plus d'itérations.\n\nBibliothèques :\n\nMiniLibX : Bibliothèque graphique utilisée pour le rendu et la gestion des entrées.\npthread : Bibliothèque pour la gestion des threads, si l'optimisation parallèle est implémentée.\n\n🧪 Tests et Validation\n\nTests Fonctionnels :\n\nVérifier que chaque type de fractale est correctement généré et affiché.\n\nTester les fonctionnalités d'interaction utilisateur, comme le zoom, le déplacement et la modification des paramètres.\n\nTests de Performance :\n\nÉvaluer le temps de rendu pour différentes tailles de fenêtre et profondeurs de zoom.\n\nTester l'efficacité des optimisations, notamment l'utilisation de threads pour le calcul parallèle.\n\nTests de Robustesse :\n\nAssurer la stabilité du programme lors d'entrées utilisateur rapides ou inattendues.\n\nVérifier la gestion appropriée des erreurs, comme des valeurs de paramètres invalides.",
"link": "https://github.com/Ladebeze66/fractol",
"createdAt": "2025-01-31T22:21:59.995Z",
"updatedAt": "2025-02-13T15:03:45.959Z",
"publishedAt": "2025-02-13T15:03:45.978Z",
"order": null,
"picture": [
{
"id": 404,
"documentId": "px8r2vbiduxnxm7al0qs53jf",
"name": "u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5-3b7a-450d-b1c9-cf922fc40d0f_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5-3b7a-450d-b1c9-cf922fc40d0f_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 6.54,
"sizeInBytes": 6544,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5-3b7a-450d-b1c9-cf922fc40d0f_resultat.webp",
"hash": "large_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 47.85,
"sizeInBytes": 47854,
"url": "/uploads/large_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5-3b7a-450d-b1c9-cf922fc40d0f_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 32.61,
"sizeInBytes": 32610,
"url": "/uploads/medium_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5-3b7a-450d-b1c9-cf922fc40d0f_resultat.webp",
"hash": "small_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 19.01,
"sizeInBytes": 19006,
"url": "/uploads/small_u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2.webp"
}
},
"hash": "u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2",
"ext": ".webp",
"mime": "image/webp",
"size": 211.22,
"url": "/uploads/u6113228922_A_futuristic_digital_environment_where_fractals_dyn_f71bc4d5_3b7a_450d_b1c9_cf922fc40d0f_resultat_e691715ca2.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:31.246Z",
"updatedAt": "2025-02-13T15:00:31.246Z",
"publishedAt": "2025-02-13T15:00:31.246Z"
},
{
"id": 405,
"documentId": "fccqco0lmqg4ld5k5l4gpd44",
"name": "u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6-5819-4010-8d36-7d4c932ecec3_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6-5819-4010-8d36-7d4c932ecec3_resultat.webp",
"hash": "thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 6.15,
"sizeInBytes": 6154,
"url": "/uploads/thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97.webp"
},
"large": {
"name": "large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6-5819-4010-8d36-7d4c932ecec3_resultat.webp",
"hash": "large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 62,
"sizeInBytes": 62004,
"url": "/uploads/large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97.webp"
},
"medium": {
"name": "medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6-5819-4010-8d36-7d4c932ecec3_resultat.webp",
"hash": "medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 37,
"sizeInBytes": 37000,
"url": "/uploads/medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97.webp"
},
"small": {
"name": "small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6-5819-4010-8d36-7d4c932ecec3_resultat.webp",
"hash": "small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 19.36,
"sizeInBytes": 19360,
"url": "/uploads/small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97.webp"
}
},
"hash": "u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97",
"ext": ".webp",
"mime": "image/webp",
"size": 545.18,
"url": "/uploads/u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_98de74f6_5819_4010_8d36_7d4c932ecec3_resultat_eb9931ce97.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:31.554Z",
"updatedAt": "2025-02-13T15:00:31.554Z",
"publishedAt": "2025-02-13T15:00:31.555Z"
},
{
"id": 406,
"documentId": "j2by66vu56wrq9ne1wh4igt0",
"name": "u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7-f2fc-46b8-bec7-d07f3ac9385f_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7-f2fc-46b8-bec7-d07f3ac9385f_resultat.webp",
"hash": "thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 10.06,
"sizeInBytes": 10060,
"url": "/uploads/thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5.webp"
},
"medium": {
"name": "medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7-f2fc-46b8-bec7-d07f3ac9385f_resultat.webp",
"hash": "medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 62.39,
"sizeInBytes": 62394,
"url": "/uploads/medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5.webp"
},
"small": {
"name": "small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7-f2fc-46b8-bec7-d07f3ac9385f_resultat.webp",
"hash": "small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 31.94,
"sizeInBytes": 31942,
"url": "/uploads/small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5.webp"
},
"large": {
"name": "large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7-f2fc-46b8-bec7-d07f3ac9385f_resultat.webp",
"hash": "large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 100.19,
"sizeInBytes": 100186,
"url": "/uploads/large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5.webp"
}
},
"hash": "u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5",
"ext": ".webp",
"mime": "image/webp",
"size": 1016.35,
"url": "/uploads/u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_356a55d7_f2fc_46b8_bec7_d07f3ac9385f_resultat_d1d5113aa5.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:32.071Z",
"updatedAt": "2025-02-13T15:00:32.071Z",
"publishedAt": "2025-02-13T15:00:32.071Z"
},
{
"id": 408,
"documentId": "jk4p5j9a926fcrsapqt5j2vo",
"name": "u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b-dca8-4400-ba83-0560bfadde6d_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b-dca8-4400-ba83-0560bfadde6d_resultat.webp",
"hash": "thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 8.33,
"sizeInBytes": 8328,
"url": "/uploads/thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152.webp"
},
"medium": {
"name": "medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b-dca8-4400-ba83-0560bfadde6d_resultat.webp",
"hash": "medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 61.91,
"sizeInBytes": 61906,
"url": "/uploads/medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152.webp"
},
"small": {
"name": "small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b-dca8-4400-ba83-0560bfadde6d_resultat.webp",
"hash": "small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 29.34,
"sizeInBytes": 29340,
"url": "/uploads/small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152.webp"
},
"large": {
"name": "large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b-dca8-4400-ba83-0560bfadde6d_resultat.webp",
"hash": "large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 105.32,
"sizeInBytes": 105324,
"url": "/uploads/large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152.webp"
}
},
"hash": "u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152",
"ext": ".webp",
"mime": "image/webp",
"size": 1033.17,
"url": "/uploads/u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_3ee7192b_dca8_4400_ba83_0560bfadde6d_resultat_998b919152.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:32.303Z",
"updatedAt": "2025-02-13T15:00:32.303Z",
"publishedAt": "2025-02-13T15:00:32.303Z"
},
{
"id": 409,
"documentId": "pvuy2h6hetnos0xaw1fdto31",
"name": "u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47-67e9-49bf-a41d-87b16e02783b_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47-67e9-49bf-a41d-87b16e02783b_resultat.webp",
"hash": "thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 11.18,
"sizeInBytes": 11182,
"url": "/uploads/thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c.webp"
},
"small": {
"name": "small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47-67e9-49bf-a41d-87b16e02783b_resultat.webp",
"hash": "small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 38.55,
"sizeInBytes": 38550,
"url": "/uploads/small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c.webp"
},
"large": {
"name": "large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47-67e9-49bf-a41d-87b16e02783b_resultat.webp",
"hash": "large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 128.08,
"sizeInBytes": 128084,
"url": "/uploads/large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c.webp"
},
"medium": {
"name": "medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47-67e9-49bf-a41d-87b16e02783b_resultat.webp",
"hash": "medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 78.2,
"sizeInBytes": 78202,
"url": "/uploads/medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c.webp"
}
},
"hash": "u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c",
"ext": ".webp",
"mime": "image/webp",
"size": 1242.99,
"url": "/uploads/u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_c2c58f47_67e9_49bf_a41d_87b16e02783b_resultat_0bb34b6c3c.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:32.599Z",
"updatedAt": "2025-02-13T15:00:32.599Z",
"publishedAt": "2025-02-13T15:00:32.600Z"
},
{
"id": 410,
"documentId": "ejap1t0j0sfslhv0ofbq8epq",
"name": "u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970-2d6d-4a17-86b4-0d82ebda1ef3_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970-2d6d-4a17-86b4-0d82ebda1ef3_resultat.webp",
"hash": "thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 6.51,
"sizeInBytes": 6506,
"url": "/uploads/thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c.webp"
},
"large": {
"name": "large_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970-2d6d-4a17-86b4-0d82ebda1ef3_resultat.webp",
"hash": "large_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 37.41,
"sizeInBytes": 37408,
"url": "/uploads/large_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c.webp"
},
"small": {
"name": "small_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970-2d6d-4a17-86b4-0d82ebda1ef3_resultat.webp",
"hash": "small_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 16.04,
"sizeInBytes": 16040,
"url": "/uploads/small_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c.webp"
},
"medium": {
"name": "medium_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970-2d6d-4a17-86b4-0d82ebda1ef3_resultat.webp",
"hash": "medium_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 25.97,
"sizeInBytes": 25970,
"url": "/uploads/medium_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c.webp"
}
},
"hash": "u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c",
"ext": ".webp",
"mime": "image/webp",
"size": 188.11,
"url": "/uploads/u6113228922_A_programmer_intensely_focused_on_their_screen_wher_564d4970_2d6d_4a17_86b4_0d82ebda1ef3_resultat_4d65216f6c.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:33.898Z",
"updatedAt": "2025-02-13T15:00:33.898Z",
"publishedAt": "2025-02-13T15:00:33.898Z"
},
{
"id": 411,
"documentId": "b4f1frvjzew80wuaijezvg2m",
"name": "u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f-142d-4756-9b77-749d71ab76ba_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f-142d-4756-9b77-749d71ab76ba_resultat.webp",
"hash": "thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 4.61,
"sizeInBytes": 4610,
"url": "/uploads/thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c.webp"
},
"large": {
"name": "large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f-142d-4756-9b77-749d71ab76ba_resultat.webp",
"hash": "large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 55.2,
"sizeInBytes": 55202,
"url": "/uploads/large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c.webp"
},
"medium": {
"name": "medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f-142d-4756-9b77-749d71ab76ba_resultat.webp",
"hash": "medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 31.56,
"sizeInBytes": 31558,
"url": "/uploads/medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c.webp"
},
"small": {
"name": "small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f-142d-4756-9b77-749d71ab76ba_resultat.webp",
"hash": "small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 15.59,
"sizeInBytes": 15588,
"url": "/uploads/small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c.webp"
}
},
"hash": "u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c",
"ext": ".webp",
"mime": "image/webp",
"size": 515.18,
"url": "/uploads/u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_902abd2f_142d_4756_9b77_749d71ab76ba_resultat_299168d24c.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:34.066Z",
"updatedAt": "2025-02-13T15:00:34.066Z",
"publishedAt": "2025-02-13T15:00:34.066Z"
},
{
"id": 412,
"documentId": "vuqij6tc8om523peeqfg3yds",
"name": "u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab-1b49-4705-b502-8e5a4abcec7e_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab-1b49-4705-b502-8e5a4abcec7e_resultat.webp",
"hash": "thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 8.37,
"sizeInBytes": 8374,
"url": "/uploads/thumbnail_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd.webp"
},
"large": {
"name": "large_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab-1b49-4705-b502-8e5a4abcec7e_resultat.webp",
"hash": "large_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 64.03,
"sizeInBytes": 64034,
"url": "/uploads/large_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd.webp"
},
"medium": {
"name": "medium_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab-1b49-4705-b502-8e5a4abcec7e_resultat.webp",
"hash": "medium_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 42.37,
"sizeInBytes": 42374,
"url": "/uploads/medium_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd.webp"
},
"small": {
"name": "small_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab-1b49-4705-b502-8e5a4abcec7e_resultat.webp",
"hash": "small_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 23.66,
"sizeInBytes": 23660,
"url": "/uploads/small_u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd.webp"
}
},
"hash": "u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd",
"ext": ".webp",
"mime": "image/webp",
"size": 321.73,
"url": "/uploads/u6113228922_A_programmer_intensely_focused_on_their_screen_wher_1769caab_1b49_4705_b502_8e5a4abcec7e_resultat_185663fcbd.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:34.304Z",
"updatedAt": "2025-02-13T15:00:34.304Z",
"publishedAt": "2025-02-13T15:00:34.304Z"
},
{
"id": 413,
"documentId": "xfbf4ppqf8uthcqo1cywo8vj",
"name": "u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d-a51a-46f5-92a7-19c87d92f703_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d-a51a-46f5-92a7-19c87d92f703_resultat.webp",
"hash": "thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 6.23,
"sizeInBytes": 6226,
"url": "/uploads/thumbnail_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4.webp"
},
"medium": {
"name": "medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d-a51a-46f5-92a7-19c87d92f703_resultat.webp",
"hash": "medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 45.71,
"sizeInBytes": 45714,
"url": "/uploads/medium_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4.webp"
},
"small": {
"name": "small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d-a51a-46f5-92a7-19c87d92f703_resultat.webp",
"hash": "small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 22.35,
"sizeInBytes": 22350,
"url": "/uploads/small_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4.webp"
},
"large": {
"name": "large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d-a51a-46f5-92a7-19c87d92f703_resultat.webp",
"hash": "large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 78.28,
"sizeInBytes": 78276,
"url": "/uploads/large_u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4.webp"
}
},
"hash": "u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4",
"ext": ".webp",
"mime": "image/webp",
"size": 656.63,
"url": "/uploads/u6113228922_A_modern_and_clean_infographic_illustrating_the_mat_a2ac582d_a51a_46f5_92a7_19c87d92f703_resultat_bcaab605f4.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:34.546Z",
"updatedAt": "2025-02-13T15:00:34.546Z",
"publishedAt": "2025-02-13T15:00:34.546Z"
},
{
"id": 418,
"documentId": "pf4mplt27rnyeba3yvh4s68k",
"name": "u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6-9076-4a3c-8018-7877591edbb8_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6-9076-4a3c-8018-7877591edbb8_resultat.webp",
"hash": "thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 10.15,
"sizeInBytes": 10148,
"url": "/uploads/thumbnail_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75.webp"
},
"small": {
"name": "small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6-9076-4a3c-8018-7877591edbb8_resultat.webp",
"hash": "small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 34.43,
"sizeInBytes": 34434,
"url": "/uploads/small_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75.webp"
},
"large": {
"name": "large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6-9076-4a3c-8018-7877591edbb8_resultat.webp",
"hash": "large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 112.52,
"sizeInBytes": 112524,
"url": "/uploads/large_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75.webp"
},
"medium": {
"name": "medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6-9076-4a3c-8018-7877591edbb8_resultat.webp",
"hash": "medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 69.8,
"sizeInBytes": 69796,
"url": "/uploads/medium_u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75.webp"
}
},
"hash": "u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75",
"ext": ".webp",
"mime": "image/webp",
"size": 1027.39,
"url": "/uploads/u6113228922_A_mesmerizing_abstract_fractal_landscape_where_infi_72e572e6_9076_4a3c_8018_7877591edbb8_resultat_e2cecdcf75.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:00:37.088Z",
"updatedAt": "2025-02-13T15:00:37.088Z",
"publishedAt": "2025-02-13T15:00:37.089Z"
},
{
"id": 435,
"documentId": "mlzxml0b6825hd69mzsms5cj",
"name": "u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0-905b-4a0f-b52e-628c3da1c58d.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0-905b-4a0f-b52e-628c3da1c58d.png",
"hash": "thumbnail_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 65.19,
"sizeInBytes": 65195,
"url": "/uploads/thumbnail_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9.png"
},
"small": {
"name": "small_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0-905b-4a0f-b52e-628c3da1c58d.png",
"hash": "small_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 226.42,
"sizeInBytes": 226416,
"url": "/uploads/small_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9.png"
},
"medium": {
"name": "medium_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0-905b-4a0f-b52e-628c3da1c58d.png",
"hash": "medium_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 486.28,
"sizeInBytes": 486275,
"url": "/uploads/medium_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9.png"
},
"large": {
"name": "large_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0-905b-4a0f-b52e-628c3da1c58d.png",
"hash": "large_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 852.88,
"sizeInBytes": 852882,
"url": "/uploads/large_u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9.png"
}
},
"hash": "u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9",
"ext": ".png",
"mime": "image/png",
"size": 1522.22,
"url": "/uploads/u6113228922_A_vintage_UNIX_workstation_running_early_fractal_ca_be7748f0_905b_4a0f_b52e_628c3da1c58d_88c47631b9.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:01:01.202Z",
"updatedAt": "2025-02-13T15:01:01.202Z",
"publishedAt": "2025-02-13T15:01:01.202Z"
}
]
},
{
"id": 111,
"documentId": "zu194tkmacbgo1yopvac9158",
"name": "ft-irc",
"description": "Le projet ft_irc de l'école 42 consiste à coder un serveur IRC (Internet Relay Chat) en C++, conforme à la RFC 2812. Il permet de gérer plusieurs connexions clients, d'implémenter des commandes IRC (JOIN, PART, PRIVMSG, NICK, etc.), de gérer des canaux de discussion, et dassurer lauthentification des utilisateurs. Ce projet développe des compétences en programmation réseau, gestion des sockets et protocoles de communication.",
"slug": "ft-irc",
"Resum": "Le projet ft_irc de l'école 42 consiste à développer un serveur IRC (Internet Relay Chat) en C++, conforme à la spécification RFC 2812. L'objectif est de comprendre les mécanismes des sockets et de la communication réseau en temps réel.\n\n🎯 Objectifs du Projet\n\nGestion des Connexions Client : Permettre à plusieurs clients de se connecter simultanément au serveur via des sockets.\n\nImplémentation des Commandes IRC : Supporter les commandes essentielles telles que JOIN, PART, PRIVMSG, NICK, et USER.\n\nGestion des Canaux : Permettre la création, la gestion et la suppression de canaux de discussion, avec des fonctionnalités comme les modes de canal et la liste des utilisateurs.\n\nAuthentification des Utilisateurs : Gérer l'enregistrement et l'authentification des utilisateurs, y compris la gestion des pseudonymes (nicks) et des mots de passe.\n\nGestion des Messages Privés et de Groupe : Assurer la transmission de messages privés entre utilisateurs et de messages de groupe au sein des canaux.\n\n🛠 Spécifications Techniques\n\nLangage de Programmation : C++.\n\nProtocoles : Utilisation du protocole TCP pour les communications réseau, conformément à la spécification IRC.\n\nConformité RFC : Le serveur doit être conforme à la RFC 2812, qui définit le protocole IRC.\n\nGestion des Sockets : Utilisation des sockets pour gérer les connexions réseau entrantes et sortantes.\n\nMulti-threading : Gestion des connexions multiples, soit par multi-threading, soit par une approche asynchrone, pour permettre à plusieurs clients de se connecter simultanément.\n\n🔧 Approche d'Implémentation\n\nInitialisation du Serveur :\n\nCréation d'un socket serveur et liaison à un port spécifié.\n\nMise en place de l'écoute des connexions entrantes.\n\nGestion des Connexions Client :\n\nAcceptation des nouvelles connexions et création de structures pour gérer chaque client connecté.\n\nGestion des entrées/sorties pour chaque client, en assurant la réception et l'envoi de messages.\n\nParsage et Traitement des Commandes :\n\nAnalyse des messages reçus des clients pour identifier les commandes IRC.\n\nExécution des commandes appropriées, telles que la connexion à un canal (JOIN), l'envoi de messages (PRIVMSG), ou le changement de pseudonyme (NICK).\n\nGestion des Canaux :\n\nCréation et suppression de canaux en fonction des besoins.\n\nGestion des listes d'utilisateurs pour chaque canal et des modes de canal (par exemple, canaux privés, protégés par mot de passe).\n\nAuthentification et Gestion des Utilisateurs :\n\nVérification des informations d'identification des utilisateurs lors de la connexion.\n\nGestion des conflits de pseudonymes et assurance de l'unicité des noms d'utilisateur sur le serveur.\n\nEnvoi de Messages :\n\nRoutage des messages privés directement aux destinataires concernés.\n\nDiffusion des messages de canal à tous les membres du canal concerné.",
"link": "https://github.com/Ladebeze66/ft_irc",
"createdAt": "2025-02-02T17:49:22.061Z",
"updatedAt": "2025-02-13T15:05:23.403Z",
"publishedAt": "2025-02-13T15:05:23.422Z",
"order": null,
"picture": [
{
"id": 437,
"documentId": "flpllbowwo38p6scruyez84p",
"name": "u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0-0656-4f7c-99c2-3e9fc719f374_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0-0656-4f7c-99c2-3e9fc719f374_resultat.webp",
"hash": "thumbnail_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 7.1,
"sizeInBytes": 7104,
"url": "/uploads/thumbnail_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651.webp"
},
"large": {
"name": "large_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0-0656-4f7c-99c2-3e9fc719f374_resultat.webp",
"hash": "large_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 43.58,
"sizeInBytes": 43580,
"url": "/uploads/large_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651.webp"
},
"medium": {
"name": "medium_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0-0656-4f7c-99c2-3e9fc719f374_resultat.webp",
"hash": "medium_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 30.91,
"sizeInBytes": 30906,
"url": "/uploads/medium_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651.webp"
},
"small": {
"name": "small_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0-0656-4f7c-99c2-3e9fc719f374_resultat.webp",
"hash": "small_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 18.37,
"sizeInBytes": 18374,
"url": "/uploads/small_u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651.webp"
}
},
"hash": "u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651",
"ext": ".webp",
"mime": "image/webp",
"size": 180.07,
"url": "/uploads/u6113228922_A_programmer_working_on_an_IRC_server_implementatio_4a58c3a0_0656_4f7c_99c2_3e9fc719f374_resultat_78d43d1651.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:04:09.080Z",
"updatedAt": "2025-02-13T15:04:09.080Z",
"publishedAt": "2025-02-13T15:04:09.080Z"
},
{
"id": 438,
"documentId": "cu3keo6cnpgzbwno1jtzlmj3",
"name": "u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0-4d27-4f76-93b0-3eb0b8ca2c00_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0-4d27-4f76-93b0-3eb0b8ca2c00_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 9.26,
"sizeInBytes": 9258,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0-4d27-4f76-93b0-3eb0b8ca2c00_resultat.webp",
"hash": "large_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 59.38,
"sizeInBytes": 59382,
"url": "/uploads/large_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0-4d27-4f76-93b0-3eb0b8ca2c00_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 41.92,
"sizeInBytes": 41924,
"url": "/uploads/medium_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0-4d27-4f76-93b0-3eb0b8ca2c00_resultat.webp",
"hash": "small_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 25.43,
"sizeInBytes": 25426,
"url": "/uploads/small_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49.webp"
}
},
"hash": "u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49",
"ext": ".webp",
"mime": "image/webp",
"size": 493.58,
"url": "/uploads/u6113228922_A_futuristic_digital_network_where_floating_nodes_r_9e2e2dd0_4d27_4f76_93b0_3eb0b8ca2c00_resultat_d0ab6f2b49.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:04:09.600Z",
"updatedAt": "2025-02-13T15:04:09.600Z",
"publishedAt": "2025-02-13T15:04:09.600Z"
},
{
"id": 439,
"documentId": "o79bfkkw7hnns34iksphrg66",
"name": "u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194-11c2-4c42-8808-5b3a2ac07d7d_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194-11c2-4c42-8808-5b3a2ac07d7d_resultat.webp",
"hash": "thumbnail_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 9.47,
"sizeInBytes": 9466,
"url": "/uploads/thumbnail_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d.webp"
},
"small": {
"name": "small_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194-11c2-4c42-8808-5b3a2ac07d7d_resultat.webp",
"hash": "small_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 30.88,
"sizeInBytes": 30880,
"url": "/uploads/small_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d.webp"
},
"medium": {
"name": "medium_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194-11c2-4c42-8808-5b3a2ac07d7d_resultat.webp",
"hash": "medium_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 59.06,
"sizeInBytes": 59064,
"url": "/uploads/medium_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d.webp"
},
"large": {
"name": "large_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194-11c2-4c42-8808-5b3a2ac07d7d_resultat.webp",
"hash": "large_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 88.63,
"sizeInBytes": 88626,
"url": "/uploads/large_u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d.webp"
}
},
"hash": "u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d",
"ext": ".webp",
"mime": "image/webp",
"size": 481.65,
"url": "/uploads/u6113228922_A_futuristic_digital_network_where_floating_nodes_r_8debf194_11c2_4c42_8808_5b3a2ac07d7d_resultat_8fdfb3ab0d.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:04:09.606Z",
"updatedAt": "2025-02-13T15:04:09.606Z",
"publishedAt": "2025-02-13T15:04:09.607Z"
},
{
"id": 440,
"documentId": "srsvaobqajbuq7v6qv5kqlvh",
"name": "u6113228922_A_structured_and_modern_infographic_explaining_how__8cfb5d09-612d-465f-b27e-bb7a18cc9e7a_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_explaining_how__8cfb5d09-612d-465f-b27e-bb7a18cc9e7a_resultat.webp",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 5.06,
"sizeInBytes": 5062,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd.webp"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_explaining_how__8cfb5d09-612d-465f-b27e-bb7a18cc9e7a_resultat.webp",
"hash": "large_u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 39.09,
"sizeInBytes": 39086,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd.webp"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_explaining_how__8cfb5d09-612d-465f-b27e-bb7a18cc9e7a_resultat.webp",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 25.99,
"sizeInBytes": 25986,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd.webp"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_explaining_how__8cfb5d09-612d-465f-b27e-bb7a18cc9e7a_resultat.webp",
"hash": "small_u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 14.24,
"sizeInBytes": 14236,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd.webp"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd",
"ext": ".webp",
"mime": "image/webp",
"size": 185.27,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_explaining_how_8cfb5d09_612d_465f_b27e_bb7a18cc9e7a_resultat_419315d9bd.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:04:10.654Z",
"updatedAt": "2025-02-13T15:04:10.654Z",
"publishedAt": "2025-02-13T15:04:10.654Z"
},
{
"id": 442,
"documentId": "x663v07bdoabn4mdrod93u4c",
"name": "u6113228922_A_structured_and_modern_infographic_explaining_how__637aeffd-44e7-42b1-8061-db20ee1cb59f_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_structured_and_modern_infographic_explaining_how__637aeffd-44e7-42b1-8061-db20ee1cb59f_resultat.webp",
"hash": "thumbnail_u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 3.71,
"sizeInBytes": 3706,
"url": "/uploads/thumbnail_u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0.webp"
},
"large": {
"name": "large_u6113228922_A_structured_and_modern_infographic_explaining_how__637aeffd-44e7-42b1-8061-db20ee1cb59f_resultat.webp",
"hash": "large_u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 30.44,
"sizeInBytes": 30440,
"url": "/uploads/large_u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0.webp"
},
"medium": {
"name": "medium_u6113228922_A_structured_and_modern_infographic_explaining_how__637aeffd-44e7-42b1-8061-db20ee1cb59f_resultat.webp",
"hash": "medium_u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 19.68,
"sizeInBytes": 19684,
"url": "/uploads/medium_u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0.webp"
},
"small": {
"name": "small_u6113228922_A_structured_and_modern_infographic_explaining_how__637aeffd-44e7-42b1-8061-db20ee1cb59f_resultat.webp",
"hash": "small_u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 10.91,
"sizeInBytes": 10906,
"url": "/uploads/small_u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0.webp"
}
},
"hash": "u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0",
"ext": ".webp",
"mime": "image/webp",
"size": 163.01,
"url": "/uploads/u6113228922_A_structured_and_modern_infographic_explaining_how_637aeffd_44e7_42b1_8061_db20ee1cb59f_resultat_8efb31bdc0.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:04:13.059Z",
"updatedAt": "2025-02-13T15:04:13.059Z",
"publishedAt": "2025-02-13T15:04:13.060Z"
},
{
"id": 446,
"documentId": "y91pb9bua75wq7sh2ch9kvfj",
"name": "u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba-baf3-46b5-9f8d-1dbea49feb27_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba-baf3-46b5-9f8d-1dbea49feb27_resultat.webp",
"hash": "thumbnail_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 11.12,
"sizeInBytes": 11124,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52.webp"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba-baf3-46b5-9f8d-1dbea49feb27_resultat.webp",
"hash": "small_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 41.8,
"sizeInBytes": 41798,
"url": "/uploads/small_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52.webp"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba-baf3-46b5-9f8d-1dbea49feb27_resultat.webp",
"hash": "medium_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 85.62,
"sizeInBytes": 85616,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52.webp"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba-baf3-46b5-9f8d-1dbea49feb27_resultat.webp",
"hash": "large_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 137.31,
"sizeInBytes": 137310,
"url": "/uploads/large_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52.webp"
}
},
"hash": "u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52",
"ext": ".webp",
"mime": "image/webp",
"size": 952.92,
"url": "/uploads/u6113228922_A_surreal_artistic_representation_of_a_vast_interco_6e41f6ba_baf3_46b5_9f8d_1dbea49feb27_resultat_4f4af6fb52.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:04:16.650Z",
"updatedAt": "2025-02-13T15:04:16.650Z",
"publishedAt": "2025-02-13T15:04:16.650Z"
},
{
"id": 449,
"documentId": "pedn396646jiiwg6xijfoaiy",
"name": "u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b-dd68-41b2-8b18-3b87f4c36ba0.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b-dd68-41b2-8b18-3b87f4c36ba0.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 87.46,
"sizeInBytes": 87462,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b-dd68-41b2-8b18-3b87f4c36ba0.png",
"hash": "small_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 329.61,
"sizeInBytes": 329613,
"url": "/uploads/small_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b-dd68-41b2-8b18-3b87f4c36ba0.png",
"hash": "medium_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 706.58,
"sizeInBytes": 706583,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b-dd68-41b2-8b18-3b87f4c36ba0.png",
"hash": "large_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1243.38,
"sizeInBytes": 1243376,
"url": "/uploads/large_u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64.png"
}
},
"hash": "u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64",
"ext": ".png",
"mime": "image/png",
"size": 2191.85,
"url": "/uploads/u6113228922_A_surreal_artistic_representation_of_a_vast_interco_187b957b_dd68_41b2_8b18_3b87f4c36ba0_8686ff7f64.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:04:24.131Z",
"updatedAt": "2025-02-13T15:04:24.131Z",
"publishedAt": "2025-02-13T15:04:24.131Z"
}
]
},
{
"id": 112,
"documentId": "e8fro5mfp9dewftr5mlac1ry",
"name": "ft_transcendence",
"description": "Le projet ft_transcendence de l'école 42 est une application web full-stack développée en équipe, combinant un jeu de Pong multijoueur et un chat en temps réel. Le frontend est conçu avec HTML, CSS et JavaScript, tandis que le backend repose sur Django et WebSockets pour gérer la logique du jeu et des interactions en temps réel. L'application est conteneurisée avec Docker, et utilise PostgreSQL pour la gestion des données. Vous avez principalement travaillé sur l'implémentation du chat en jeu, permettant aux joueurs de communiquer en direct, et l'infrastructure est surveillée via Elasticsearch et Kibana pour le monitoring.",
"slug": "ft-transcendence",
"Resum": "Le projet ft_transcendence est un projet full-stack web développé en groupe, combinant un jeu multijoueur de Pong et un chat en temps réel. L'objectif est dimplémenter une application web interactive, en utilisant HTML, CSS et JavaScript pour le frontend, et Django avec WebSockets pour le backend. Le projet est conteneurisé avec Docker, permettant une gestion efficace des services et une infrastructure modulaire.\n\n🎯 Objectifs du Projet\n\nDéveloppement Collaboratif : Travailler en groupe pour concevoir une application web robuste et modulaire.\n\nArchitecture Full-Stack : Séparer le backend (Django) et le frontend (HTML/CSS/JS) pour une meilleure organisation du code.\n\nChat en Temps Réel (votre contribution) : Implémenter un chat intégré au jeu, permettant aux joueurs de communiquer en direct via WebSockets.\n\nDéploiement Conteneurisé : Utiliser Docker et Docker Compose pour faciliter lexécution et le déploiement du projet.\n\nSécurisation des Connexions : Intégrer une authentification OAuth et gérer laccès des utilisateurs.\n\n🛠 Technologies Utilisées\n\nFrontend (Interface Utilisateur - HTML/CSS/JS) :\n\nHTML5 : Structure des pages et affichage du jeu.\n\nCSS3 : Design et mise en page pour une interface utilisateur fluide.\n\nJavaScript : Interactions dynamiques, gestion des WebSockets pour le chat.\n\nBackend (Serveur & APIs - Django) :\n\nDjango : Framework backend pour gérer les utilisateurs et la logique métier.\n\nDjango Channels & WebSockets : Gestion de la communication en temps réel pour le chat et le jeu.\n\nPostgreSQL : Base de données pour stocker les informations des joueurs et du chat.\n\nInfrastructure & Déploiement :\n\nDocker & Docker Compose : Isolation des services et déploiement facilité.\n\nElasticsearch, Logstash, Kibana (ELK Stack) : Monitoring des logs du serveur et des connexions.\n\nOAuth : Authentification sécurisée des utilisateurs via un service externe (Google, GitHub…).\n\n🏓 Fonctionnalités Principales\n\n✅ Jeu de Pong Multijoueur :\n\nMatch en temps réel entre joueurs.\n\nGestion des scores et classement des joueurs.\n\n✅ Chat en Jeu (ma contribution) :\n\nCommunication instantanée entre joueurs via WebSockets.\n\nInterface dynamique mise à jour sans rechargement de la page.\n\nGestion des utilisateurs connectés et des messages persistants.\n\n✅ Authentification OAuth :\n\nConnexion des utilisateurs via Google, GitHub ou une autre plateforme OAuth.\n\nGestion des profils et des permissions d'accès.\n\n✅ Dashboard Joueurs & Matchs :\n\nInterface affichant les statistiques des joueurs.\n\nHistorique des matchs et leaderboard.\n\n✅ Déploiement & Monitoring :\n\nGestion des logs système via ELK Stack.\n\nConteneurisation avec Docker pour un environnement de développement homogène.\n\n🔧 Approche dImplémentation\n\n1⃣ Déploiement de lInfrastructure\n\nConfiguration des conteneurs Docker pour PostgreSQL, Django et les services de monitoring.\n\nCréation de la base de données avec PostgreSQL.\n\n2⃣ Développement du Backend (Django)\n\nImplémentation des modèles dutilisateurs et des scores.\n\nCréation des routes API pour gérer les connexions des joueurs et les parties de Pong.\n\nMise en place du système de chat en temps réel via Django Channels et WebSockets.\n\n3⃣ Développement du Frontend (HTML/CSS/JS)\n\nCréation des fichiers HTML pour structurer linterface du jeu et du chat.\n\nIntégration du CSS pour améliorer le design et rendre l'interface utilisateur attrayante.\n\nAjout de JavaScript pour :\n\nGérer le chat en direct via WebSockets.\n\nMettre à jour dynamiquement l'interface du jeu.\n\nAfficher les scores et létat des joueurs connectés.\n\n4⃣ Mise en Place du Système de Logs et Monitoring\n\nIntégration de Logstash pour la collecte des logs.\n\nVisualisation des événements système avec Kibana.\n\nSurveillance des connexions utilisateurs via Elasticsearch.\n\n🚀 Pourquoi ce projet est important ?\n\nLe projet ft_transcendence est une expérience complète de développement web full-stack. Il permet dacquérir des compétences en travail collaboratif, en gestion des conteneurs avec Docker, en développement backend avec Django, et en interaction utilisateur en temps réel via WebSockets.",
"link": "https://github.com/Ladebeze66/ft_transcendence",
"createdAt": "2025-02-03T12:02:10.823Z",
"updatedAt": "2025-02-13T15:06:16.136Z",
"publishedAt": "2025-02-13T15:06:16.153Z",
"order": null,
"picture": [
{
"id": 451,
"documentId": "zi3uiqmliwqyrr54ayuvjtkq",
"name": "u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d-63c6-41cc-ab95-3a7fa17f0abc_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d-63c6-41cc-ab95-3a7fa17f0abc_resultat.webp",
"hash": "thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 6.16,
"sizeInBytes": 6156,
"url": "/uploads/thumbnail_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3.webp"
},
"large": {
"name": "large_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d-63c6-41cc-ab95-3a7fa17f0abc_resultat.webp",
"hash": "large_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 40,
"sizeInBytes": 40004,
"url": "/uploads/large_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3.webp"
},
"medium": {
"name": "medium_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d-63c6-41cc-ab95-3a7fa17f0abc_resultat.webp",
"hash": "medium_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 27.88,
"sizeInBytes": 27878,
"url": "/uploads/medium_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3.webp"
},
"small": {
"name": "small_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d-63c6-41cc-ab95-3a7fa17f0abc_resultat.webp",
"hash": "small_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 16.27,
"sizeInBytes": 16270,
"url": "/uploads/small_u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3.webp"
}
},
"hash": "u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3",
"ext": ".webp",
"mime": "image/webp",
"size": 162.56,
"url": "/uploads/u6113228922_A_vintage_CRT_monitor_displaying_a_multiplayer_Pong_0ddb455d_63c6_41cc_ab95_3a7fa17f0abc_resultat_65c74ff2e3.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:05:50.129Z",
"updatedAt": "2025-02-13T15:05:50.129Z",
"publishedAt": "2025-02-13T15:05:50.130Z"
},
{
"id": 453,
"documentId": "omxryzl9lh06d1dwp0wg3lm1",
"name": "u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4-1cd9-460d-8736-b0f353b1635b.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4-1cd9-460d-8736-b0f353b1635b.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 78.88,
"sizeInBytes": 78884,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4-1cd9-460d-8736-b0f353b1635b.png",
"hash": "small_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 300.64,
"sizeInBytes": 300636,
"url": "/uploads/small_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4-1cd9-460d-8736-b0f353b1635b.png",
"hash": "medium_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 655.45,
"sizeInBytes": 655454,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4-1cd9-460d-8736-b0f353b1635b.png",
"hash": "large_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1165,
"sizeInBytes": 1164998,
"url": "/uploads/large_u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d.png"
}
},
"hash": "u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d",
"ext": ".png",
"mime": "image/png",
"size": 2363.34,
"url": "/uploads/u6113228922_A_surreal_artistic_interpretation_of_a_digital_play_bb6c4fe4_1cd9_460d_8736_b0f353b1635b_f2044dce4d.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T15:05:54.676Z",
"updatedAt": "2025-02-13T15:05:54.676Z",
"publishedAt": "2025-02-13T15:05:54.676Z"
}
]
},
{
"id": 113,
"documentId": "lx8cynnokqmjdngogp2o6svr",
"name": "Présentation école 42 ",
"description": "L'École 42 Perpignan est un établissement d'enseignement en informatique, gratuit et ouvert à tous, basé sur une pédagogie innovante sans cours ni professeurs. Les étudiants y apprennent de manière collaborative et autonome à travers des projets pratiques, dans un environnement moderne et accessible 24h/24.\n",
"slug": "presentation-ecole-42",
"Resum": "L'École 42 Perpignan est un établissement d'enseignement supérieur en informatique, reconnu pour son approche pédagogique innovante et collaborative.\n\n Située dans le bâtiment emblématique des Dames de France, rue Pierre Curie à Perpignan, elle offre une formation gratuite, ouverte à tous dès 18 ans, sans exigence de diplôme préalable. \n \nL'apprentissage y est basé sur des projets pratiques, favorisant l'autonomie et l'entraide entre étudiants. Le campus est accessible 24h/24 et 7j/7, disposant d'installations modernes pour soutenir les apprenants dans leur parcours. \n\n Fondée en 2013, l'École 42 a rapidement gagné une réputation internationale pour sa méthode d'enseignement révolutionnaire, sans cours magistraux ni professeurs.\n\nEn février 2021, elle a inauguré son 46e campus à Perpignan, devenant ainsi l'un des six campus français aux côtés de Paris, Lyon, Nice, Mulhouse et Angoulême. Cette expansion vise à répondre à la demande croissante de professionnels qualifiés dans le domaine du numérique.\n\nLe processus d'admission débute par une épreuve intensive appelée \"la piscine\", une immersion de 26 jours durant laquelle les candidats apprennent les bases du codage. Cette méthode permet d'évaluer leur motivation, leur capacité d'adaptation et leur esprit d'équipe. Le campus de Perpignan a accueilli sa deuxième promotion en octobre 2023, avec 113 étudiants âgés de 17 à 54 ans, issus de divers horizons. \n\nCependant, la parité reste un défi, avec seulement 10% de femmes dans cette cohorte. L'école s'efforce d'attirer davantage de profils féminins pour les prochaines sessions. L'École 42 Perpignan s'intègre dans un réseau mondial de campus, offrant aux étudiants des opportunités d'échanges et de collaborations internationales. Son modèle éducatif unique prépare les apprenants à relever les défis du secteur technologique, en mettant l'accent sur l'innovation, la créativité et la résolution de problèmes concrets.\n\nAvec un taux d'employabilité de 100%, les diplômés sont très recherchés par les entreprises du numérique.\n\nEn choisissant l'École 42 Perpignan, les étudiants intègrent une communauté dynamique et engagée, prête à façonner l'avenir de la technologie.",
"link": "https://42perpignan.fr/",
"createdAt": "2025-01-31T11:14:30.167Z",
"updatedAt": "2025-02-19T16:22:13.106Z",
"publishedAt": "2025-02-19T16:22:13.126Z",
"order": 1,
"picture": [
{
"id": 353,
"documentId": "sisnwf8wlz1rduj7wll7fb29",
"name": "photoecole_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2048,
"height": 922,
"formats": {
"thumbnail": {
"name": "thumbnail_photoecole_resultat.webp",
"hash": "thumbnail_photoecole_resultat_23b2387bb8",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 110,
"size": 8.29,
"sizeInBytes": 8290,
"url": "/uploads/thumbnail_photoecole_resultat_23b2387bb8.webp"
},
"large": {
"name": "large_photoecole_resultat.webp",
"hash": "large_photoecole_resultat_23b2387bb8",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 450,
"size": 61.54,
"sizeInBytes": 61536,
"url": "/uploads/large_photoecole_resultat_23b2387bb8.webp"
},
"medium": {
"name": "medium_photoecole_resultat.webp",
"hash": "medium_photoecole_resultat_23b2387bb8",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 338,
"size": 42.09,
"sizeInBytes": 42088,
"url": "/uploads/medium_photoecole_resultat_23b2387bb8.webp"
},
"small": {
"name": "small_photoecole_resultat.webp",
"hash": "small_photoecole_resultat_23b2387bb8",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 225,
"size": 23.71,
"sizeInBytes": 23714,
"url": "/uploads/small_photoecole_resultat_23b2387bb8.webp"
}
},
"hash": "photoecole_resultat_23b2387bb8",
"ext": ".webp",
"mime": "image/webp",
"size": 155.62,
"url": "/uploads/photoecole_resultat_23b2387bb8.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:54:19.078Z",
"updatedAt": "2025-02-13T14:54:19.078Z",
"publishedAt": "2025-02-13T14:54:19.079Z"
},
{
"id": 354,
"documentId": "ioxfh1v21o9fszzoihyv1ku0",
"name": "20230203_095626_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 4032,
"height": 1816,
"formats": {
"thumbnail": {
"name": "thumbnail_20230203_095626_resultat.webp",
"hash": "thumbnail_20230203_095626_resultat_1b679f08c2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 110,
"size": 7.12,
"sizeInBytes": 7118,
"url": "/uploads/thumbnail_20230203_095626_resultat_1b679f08c2.webp"
},
"medium": {
"name": "medium_20230203_095626_resultat.webp",
"hash": "medium_20230203_095626_resultat_1b679f08c2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 338,
"size": 48.63,
"sizeInBytes": 48630,
"url": "/uploads/medium_20230203_095626_resultat_1b679f08c2.webp"
},
"small": {
"name": "small_20230203_095626_resultat.webp",
"hash": "small_20230203_095626_resultat_1b679f08c2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 225,
"size": 24.32,
"sizeInBytes": 24322,
"url": "/uploads/small_20230203_095626_resultat_1b679f08c2.webp"
},
"large": {
"name": "large_20230203_095626_resultat.webp",
"hash": "large_20230203_095626_resultat_1b679f08c2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 450,
"size": 80.85,
"sizeInBytes": 80854,
"url": "/uploads/large_20230203_095626_resultat_1b679f08c2.webp"
}
},
"hash": "20230203_095626_resultat_1b679f08c2",
"ext": ".webp",
"mime": "image/webp",
"size": 893.11,
"url": "/uploads/20230203_095626_resultat_1b679f08c2.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:54:19.530Z",
"updatedAt": "2025-02-13T14:54:19.530Z",
"publishedAt": "2025-02-13T14:54:19.530Z"
},
{
"id": 355,
"documentId": "g2frg8oseb7q0rwdg2am774j",
"name": "20230406_112520_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 4032,
"height": 1816,
"formats": {
"thumbnail": {
"name": "thumbnail_20230406_112520_resultat.webp",
"hash": "thumbnail_20230406_112520_resultat_6b5c8bf322",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 110,
"size": 6.65,
"sizeInBytes": 6646,
"url": "/uploads/thumbnail_20230406_112520_resultat_6b5c8bf322.webp"
},
"large": {
"name": "large_20230406_112520_resultat.webp",
"hash": "large_20230406_112520_resultat_6b5c8bf322",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 450,
"size": 59.42,
"sizeInBytes": 59416,
"url": "/uploads/large_20230406_112520_resultat_6b5c8bf322.webp"
},
"medium": {
"name": "medium_20230406_112520_resultat.webp",
"hash": "medium_20230406_112520_resultat_6b5c8bf322",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 338,
"size": 37.57,
"sizeInBytes": 37570,
"url": "/uploads/medium_20230406_112520_resultat_6b5c8bf322.webp"
},
"small": {
"name": "small_20230406_112520_resultat.webp",
"hash": "small_20230406_112520_resultat_6b5c8bf322",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 225,
"size": 20.06,
"sizeInBytes": 20064,
"url": "/uploads/small_20230406_112520_resultat_6b5c8bf322.webp"
}
},
"hash": "20230406_112520_resultat_6b5c8bf322",
"ext": ".webp",
"mime": "image/webp",
"size": 571.22,
"url": "/uploads/20230406_112520_resultat_6b5c8bf322.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:54:19.577Z",
"updatedAt": "2025-02-13T14:54:19.577Z",
"publishedAt": "2025-02-13T14:54:19.577Z"
},
{
"id": 357,
"documentId": "kpuefuv3u765ugdlpnhjktlg",
"name": "20230406_112330_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 4032,
"height": 1816,
"formats": {
"thumbnail": {
"name": "thumbnail_20230406_112330_resultat.webp",
"hash": "thumbnail_20230406_112330_resultat_dec0740bc3",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 110,
"size": 7.03,
"sizeInBytes": 7034,
"url": "/uploads/thumbnail_20230406_112330_resultat_dec0740bc3.webp"
},
"small": {
"name": "small_20230406_112330_resultat.webp",
"hash": "small_20230406_112330_resultat_dec0740bc3",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 225,
"size": 22.07,
"sizeInBytes": 22074,
"url": "/uploads/small_20230406_112330_resultat_dec0740bc3.webp"
},
"medium": {
"name": "medium_20230406_112330_resultat.webp",
"hash": "medium_20230406_112330_resultat_dec0740bc3",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 338,
"size": 42.06,
"sizeInBytes": 42060,
"url": "/uploads/medium_20230406_112330_resultat_dec0740bc3.webp"
},
"large": {
"name": "large_20230406_112330_resultat.webp",
"hash": "large_20230406_112330_resultat_dec0740bc3",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 450,
"size": 66.56,
"sizeInBytes": 66558,
"url": "/uploads/large_20230406_112330_resultat_dec0740bc3.webp"
}
},
"hash": "20230406_112330_resultat_dec0740bc3",
"ext": ".webp",
"mime": "image/webp",
"size": 564.67,
"url": "/uploads/20230406_112330_resultat_dec0740bc3.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:54:19.729Z",
"updatedAt": "2025-02-13T14:54:19.729Z",
"publishedAt": "2025-02-13T14:54:19.729Z"
},
{
"id": 359,
"documentId": "fkk09eepphpmnz3p3pyy16pk",
"name": "20230203_095626.jpg",
"alternativeText": null,
"caption": null,
"width": 4032,
"height": 1816,
"formats": {
"thumbnail": {
"name": "thumbnail_20230203_095626.jpg",
"hash": "thumbnail_20230203_095626_3d1908bb84",
"ext": ".jpg",
"mime": "image/jpeg",
"path": null,
"width": 245,
"height": 110,
"size": 8.14,
"sizeInBytes": 8135,
"url": "/uploads/thumbnail_20230203_095626_3d1908bb84.jpg"
},
"medium": {
"name": "medium_20230203_095626.jpg",
"hash": "medium_20230203_095626_3d1908bb84",
"ext": ".jpg",
"mime": "image/jpeg",
"path": null,
"width": 750,
"height": 338,
"size": 59.81,
"sizeInBytes": 59808,
"url": "/uploads/medium_20230203_095626_3d1908bb84.jpg"
},
"small": {
"name": "small_20230203_095626.jpg",
"hash": "small_20230203_095626_3d1908bb84",
"ext": ".jpg",
"mime": "image/jpeg",
"path": null,
"width": 500,
"height": 225,
"size": 29.02,
"sizeInBytes": 29021,
"url": "/uploads/small_20230203_095626_3d1908bb84.jpg"
},
"large": {
"name": "large_20230203_095626.jpg",
"hash": "large_20230203_095626_3d1908bb84",
"ext": ".jpg",
"mime": "image/jpeg",
"path": null,
"width": 1000,
"height": 450,
"size": 102.51,
"sizeInBytes": 102513,
"url": "/uploads/large_20230203_095626_3d1908bb84.jpg"
}
},
"hash": "20230203_095626_3d1908bb84",
"ext": ".jpg",
"mime": "image/jpeg",
"size": 1210.69,
"url": "/uploads/20230203_095626_3d1908bb84.jpg",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:54:21.049Z",
"updatedAt": "2025-02-13T14:54:21.049Z",
"publishedAt": "2025-02-13T14:54:21.049Z"
}
]
},
{
"id": 114,
"documentId": "tvw30c06xh4jzypvb0ushhxi",
"name": "libft",
"description": "Le projet Libft de l'École 42 consiste à recréer une bibliothèque standard en C, comprenant des fonctions essentielles de manipulation de chaînes, de gestion de mémoire et de structures de données comme les listes chaînées. Ce projet vise à renforcer la maîtrise du langage C, à développer des compétences en gestion de mémoire dynamique, et à produire une bibliothèque modulaire et réutilisable pour des projets futurs.",
"slug": "libft",
"Resum": "Le **projet Libft** de l'École 42 consiste à recréer une bibliothèque standard en langage C, en implémentant un ensemble de fonctions essentielles utilisées couramment en programmation. Ce projet a pour but de consolider les bases du langage C, dapprofondir la compréhension des mécanismes bas niveau, et de développer des compétences en gestion de mémoire, en manipulation de pointeurs, et en création de structures de données personnalisées.\n\n**Objectifs pédagogiques :**\n\n**. Reproduire des fonctions standard de la bibliothèque C** (<stdlib.h>, <string.h>, etc.).\n\n**. Comprendre les mécanismes internes du langage C**(allocation dynamique, manipulation de chaînes de caractères, gestion des tableaux).\n\n **. Développer une approche rigoureuse** pour écrire un code modulaire, lisible et bien documenté. \n\n**.Apprendre à gérer des projets complexes** avec une attention particulière au debugging et aux tests unitaires.\n\n****Compétences acquises :****\n\n**.Programmation en C :** Implémentation de fonctions basiques comme strlen, strcpy, atoi, etc.\n\n**.Création et manipulation de structures de données comme les listes chaînées** (linked lists).\n\n**.Gestion de mémoire :** Utilisation de fonctions telles que malloc, free, pour la gestion dynamique.\n\n**.Prévention des fuites de mémoire** grâce à des tests rigoureux.\n\n**.Écriture d'une bibliothèque réutilisable :** Organisation et modularité du code source pour faciliter la réutilisation.\n\n**.Compilation et création dun fichier binaire** (libft.a) utilisable dans dautres projets.\n\n**Debugging et tests unitaires :**\n\nIdentification et résolution des erreurs de segmentation ou de comportement inattendu.\nMise en place de tests pour valider le bon fonctionnement de chaque fonction.\n\n**Points forts à valoriser :**\n\n**.Approche méthodique :** La rigueur dans la mise en œuvre des fonctions standard permet de garantir un code robuste et performant.\n\n**.Code réutilisable :** La bibliothèque libft.a constitue une base solide qui peut être intégrée dans de nombreux projets futurs.\n\n**.Polyvalence :** Ce projet démontre une capacité à travailler sur des fonctions diverses allant de la manipulation de chaînes à la gestion des structures de données.\n\n**Impact professionnel :**\n\nLa réalisation du projet Libft atteste dune maîtrise des fondamentaux en développement logiciel, dune capacité à écrire du code performant et maintenable, et dun intérêt marqué pour les bases techniques nécessaires à tout projet informatique avancé. Cette expérience est un atout clé pour des postes impliquant du développement bas niveau, de loptimisation logicielle ou encore des systèmes embarqués.",
"link": "https://github.com/Ladebeze66/libft",
"createdAt": "2025-01-31T11:16:03.014Z",
"updatedAt": "2025-02-19T16:22:30.638Z",
"publishedAt": "2025-02-19T16:22:30.656Z",
"order": 2,
"picture": [
{
"id": 11,
"documentId": "c219ri5x94rpt1kc95jk0wuv",
"name": "u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5-51e5-4129-bd80-de06b0f2898e.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5-51e5-4129-bd80-de06b0f2898e.png",
"hash": "thumbnail_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 78.99,
"sizeInBytes": 78994,
"url": "/uploads/thumbnail_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965.png"
},
"small": {
"name": "small_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5-51e5-4129-bd80-de06b0f2898e.png",
"hash": "small_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 298.13,
"sizeInBytes": 298125,
"url": "/uploads/small_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965.png"
},
"medium": {
"name": "medium_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5-51e5-4129-bd80-de06b0f2898e.png",
"hash": "medium_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 647.89,
"sizeInBytes": 647894,
"url": "/uploads/medium_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965.png"
},
"large": {
"name": "large_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5-51e5-4129-bd80-de06b0f2898e.png",
"hash": "large_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1143.05,
"sizeInBytes": 1143045,
"url": "/uploads/large_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965.png"
}
},
"hash": "u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965",
"ext": ".png",
"mime": "image/png",
"size": 2667.66,
"url": "/uploads/u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_9b6996e5_51e5_4129_bd80_de06b0f2898e_9d5e699965.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T11:15:22.617Z",
"updatedAt": "2025-01-31T11:15:22.617Z",
"publishedAt": "2025-01-31T11:15:22.617Z"
},
{
"id": 12,
"documentId": "te1ptdsdfbl5y4rs286gwzkc",
"name": "u6113228922_Un_manuel_digital_flottant_intitul_Libft.a_entour_d_53f5c978-93f4-471e-8f4d-5e091e6d26bb.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_Un_manuel_digital_flottant_intitul_Libft.a_entour_d_53f5c978-93f4-471e-8f4d-5e091e6d26bb.png",
"hash": "thumbnail_u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 86.06,
"sizeInBytes": 86060,
"url": "/uploads/thumbnail_u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9.png"
},
"small": {
"name": "small_u6113228922_Un_manuel_digital_flottant_intitul_Libft.a_entour_d_53f5c978-93f4-471e-8f4d-5e091e6d26bb.png",
"hash": "small_u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 333.05,
"sizeInBytes": 333047,
"url": "/uploads/small_u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9.png"
},
"medium": {
"name": "medium_u6113228922_Un_manuel_digital_flottant_intitul_Libft.a_entour_d_53f5c978-93f4-471e-8f4d-5e091e6d26bb.png",
"hash": "medium_u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 722.56,
"sizeInBytes": 722564,
"url": "/uploads/medium_u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9.png"
},
"large": {
"name": "large_u6113228922_Un_manuel_digital_flottant_intitul_Libft.a_entour_d_53f5c978-93f4-471e-8f4d-5e091e6d26bb.png",
"hash": "large_u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1267.6,
"sizeInBytes": 1267599,
"url": "/uploads/large_u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9.png"
}
},
"hash": "u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9",
"ext": ".png",
"mime": "image/png",
"size": 2856.25,
"url": "/uploads/u6113228922_Un_manuel_digital_flottant_intitul_Libft_a_entour_d_53f5c978_93f4_471e_8f4d_5e091e6d26bb_8dcdc7abb9.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T11:15:23.387Z",
"updatedAt": "2025-01-31T11:15:23.387Z",
"publishedAt": "2025-01-31T11:15:23.387Z"
},
{
"id": 13,
"documentId": "ppb8wo9o1ygtq23o2ltsxv5w",
"name": "u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f-ddac-44ab-aaea-38c172800093.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f-ddac-44ab-aaea-38c172800093.png",
"hash": "thumbnail_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 88.92,
"sizeInBytes": 88919,
"url": "/uploads/thumbnail_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75.png"
},
"small": {
"name": "small_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f-ddac-44ab-aaea-38c172800093.png",
"hash": "small_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 351.27,
"sizeInBytes": 351274,
"url": "/uploads/small_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75.png"
},
"medium": {
"name": "medium_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f-ddac-44ab-aaea-38c172800093.png",
"hash": "medium_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 767.41,
"sizeInBytes": 767408,
"url": "/uploads/medium_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75.png"
},
"large": {
"name": "large_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f-ddac-44ab-aaea-38c172800093.png",
"hash": "large_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1346.24,
"sizeInBytes": 1346243,
"url": "/uploads/large_u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75.png"
}
},
"hash": "u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75",
"ext": ".png",
"mime": "image/png",
"size": 2842.46,
"url": "/uploads/u6113228922_Une_mtaphore_visuelle_de_la_gestion_de_la_mmoire_en_732bee2f_ddac_44ab_aaea_38c172800093_9195645b75.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T11:15:23.666Z",
"updatedAt": "2025-01-31T11:15:23.666Z",
"publishedAt": "2025-01-31T11:15:23.666Z"
},
{
"id": 14,
"documentId": "bl7nhpads1cwgvys6fpj5501",
"name": "u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18-6015-4bb9-9ca5-f7b8a5992c1e.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18-6015-4bb9-9ca5-f7b8a5992c1e.png",
"hash": "thumbnail_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 84.13,
"sizeInBytes": 84133,
"url": "/uploads/thumbnail_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10.png"
},
"small": {
"name": "small_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18-6015-4bb9-9ca5-f7b8a5992c1e.png",
"hash": "small_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 323.13,
"sizeInBytes": 323128,
"url": "/uploads/small_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10.png"
},
"medium": {
"name": "medium_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18-6015-4bb9-9ca5-f7b8a5992c1e.png",
"hash": "medium_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 704.73,
"sizeInBytes": 704734,
"url": "/uploads/medium_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10.png"
},
"large": {
"name": "large_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18-6015-4bb9-9ca5-f7b8a5992c1e.png",
"hash": "large_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1249.62,
"sizeInBytes": 1249620,
"url": "/uploads/large_u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10.png"
}
},
"hash": "u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10",
"ext": ".png",
"mime": "image/png",
"size": 2485.35,
"url": "/uploads/u6113228922_Une_visualisation_artistique_dune_structure_de_list_66986c18_6015_4bb9_9ca5_f7b8a5992c1e_c19780eb10.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-01-31T11:15:24.364Z",
"updatedAt": "2025-01-31T11:15:24.364Z",
"publishedAt": "2025-01-31T11:15:24.364Z"
}
]
},
{
"id": 115,
"documentId": "jouc43mpclk3dqfkflspifb5",
"name": "Ft-printf",
"description": "Le projet ft_printf de l'école 42 consiste à reproduire la fonction printf du langage C. Il permet aux étudiants de comprendre la manipulation des chaînes de formatage, et l'affichage de différents types de données (%d, %s, %p, %x…). Lobjectif est dimplémenter une fonction efficace, sans utiliser printf, en travaillant directement avec write. Ce projet développe des compétences essentielles en programmation bas niveau, gestion mémoire et optimisation du code C.",
"slug": "ft-printf",
"Resum": "Le projet ft_printf de l'École 42 consiste à recréer la fonction printf du langage C. Cette fonction permet d'afficher des chaînes de caractères formatées et est essentielle en programmation système et développement logiciel. Ce projet développe des compétences avancées en C, notamment la gestion des arguments variables, la manipulation des chaînes de formatage et lutilisation de fonctions bas niveau comme write.\n\n🏆 Objectifs du Projet\n\nComprendre le fonctionnement de printf et ses spécificateurs.\n\nTravailler avec les bases numériques (décimal, hexadécimal, etc.).\n\nOptimiser la gestion de la mémoire et laffichage de caractères en C.\n\n🛠 Spécifications Techniques\n\nFonctionnalités Requises : ft_printf doit gérer les conversions suivantes :\n\n%c → Caractère unique\n\n%s → Chaîne de caractères\n\n%p → Pointeur (adresse mémoire)\n\n%d / %i → Entier signé\n\n%u → Entier non signé\n\n%x / %X → Hexadécimal (minuscule/majuscule)\n\n%% → Affichage du symbole %\n\nGestion des Paramètres Variables :\n\nRetour de la Fonction :\n\nft_printf doit retourner le nombre total de caractères affichés, comme la version standard.\n\n🔧 Approche dImplémentation\n\nLecture de la Chaîne de Formatage → Identifier les spécificateurs (%).\n\nAffichage des Caractères avec write → Pas de printf autorisé.\n\nRetour du Nombre de Caractères Affichés → Compteur à incrémenter.\n\n📂 Structure du Projet\n\nft_printf.c → Fonction principale et parsing des arguments.\n\nft_printf.h → Prototypes et #include nécessaires.\n\nFichiers auxiliaires :\n\nft_putchar_pf.c → Affiche un caractère.\n\nft_putstr_pf.c → Affiche une chaîne.\n\nft_putnbr_pf.c → Affiche un entier.\n\nft_puthex_pf.c → Affiche un nombre en hexadécimal.\n\nft_putptr_pf.c → Affiche une adresse mémoire.\n\nMakefile → Automatisation de la compilation.\n\n🧪 Tests et Validation\n\nComparaison avec printf standard.\n\nTests unitaires pour chaque spécificateur.\n\nGestion des cas limites : valeurs nulles, chaînes vides, grands nombres, etc.\n\n🚀 Pourquoi ce projet est important ?\n\nft_printf permet de développer des compétences clés en C, en apprenant à manipuler des arguments \nvariadiques et en travaillant sur un projet bas niveau essentiel en programmation système et logicielle.\n",
"link": "https://github.com/Ladebeze66/printf",
"createdAt": "2025-01-31T19:38:09.550Z",
"updatedAt": "2025-02-19T16:22:44.541Z",
"publishedAt": "2025-02-19T16:22:44.558Z",
"order": 3,
"picture": [
{
"id": 329,
"documentId": "kw8baiyvuleg2b9zik9fof4g",
"name": "u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a-fb88-40cf-aec8-0969f7e6c76e.png",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a-fb88-40cf-aec8-0969f7e6c76e.png",
"hash": "thumbnail_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 245,
"height": 137,
"size": 85.7,
"sizeInBytes": 85700,
"url": "/uploads/thumbnail_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce.png"
},
"small": {
"name": "small_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a-fb88-40cf-aec8-0969f7e6c76e.png",
"hash": "small_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 500,
"height": 280,
"size": 333.21,
"sizeInBytes": 333212,
"url": "/uploads/small_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce.png"
},
"medium": {
"name": "medium_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a-fb88-40cf-aec8-0969f7e6c76e.png",
"hash": "medium_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 750,
"height": 420,
"size": 721.36,
"sizeInBytes": 721357,
"url": "/uploads/medium_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce.png"
},
"large": {
"name": "large_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a-fb88-40cf-aec8-0969f7e6c76e.png",
"hash": "large_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce",
"ext": ".png",
"mime": "image/png",
"path": null,
"width": 1000,
"height": 560,
"size": 1268.21,
"sizeInBytes": 1268209,
"url": "/uploads/large_u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce.png"
}
},
"hash": "u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce",
"ext": ".png",
"mime": "image/png",
"size": 2360.53,
"url": "/uploads/u6113228922_A_surreal_artistic_representation_of_programming_in_0c0b8b2a_fb88_40cf_aec8_0969f7e6c76e_7736a849ce.png",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:49:20.981Z",
"updatedAt": "2025-02-13T14:49:20.981Z",
"publishedAt": "2025-02-13T14:49:20.981Z"
},
{
"id": 320,
"documentId": "ahwgqeha97pxe9qkr5zexhsj",
"name": "u6113228922_A_clean_and_modern_infographic-style_illustration_o_1675a516-c18c-4dae-84fb-fdb37f01d443_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_clean_and_modern_infographic-style_illustration_o_1675a516-c18c-4dae-84fb-fdb37f01d443_resultat.webp",
"hash": "thumbnail_u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 5.11,
"sizeInBytes": 5114,
"url": "/uploads/thumbnail_u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2.webp"
},
"large": {
"name": "large_u6113228922_A_clean_and_modern_infographic-style_illustration_o_1675a516-c18c-4dae-84fb-fdb37f01d443_resultat.webp",
"hash": "large_u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 37.35,
"sizeInBytes": 37350,
"url": "/uploads/large_u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2.webp"
},
"medium": {
"name": "medium_u6113228922_A_clean_and_modern_infographic-style_illustration_o_1675a516-c18c-4dae-84fb-fdb37f01d443_resultat.webp",
"hash": "medium_u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 25.3,
"sizeInBytes": 25296,
"url": "/uploads/medium_u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2.webp"
},
"small": {
"name": "small_u6113228922_A_clean_and_modern_infographic-style_illustration_o_1675a516-c18c-4dae-84fb-fdb37f01d443_resultat.webp",
"hash": "small_u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 14.59,
"sizeInBytes": 14586,
"url": "/uploads/small_u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2.webp"
}
},
"hash": "u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2",
"ext": ".webp",
"mime": "image/webp",
"size": 154.48,
"url": "/uploads/u6113228922_A_clean_and_modern_infographic_style_illustration_o_1675a516_c18c_4dae_84fb_fdb37f01d443_resultat_dbf19222b2.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:46:04.506Z",
"updatedAt": "2025-02-13T14:46:04.506Z",
"publishedAt": "2025-02-13T14:46:04.506Z"
},
{
"id": 323,
"documentId": "zrkvxstdenf2kq4puukmtmpy",
"name": "u6113228922_A_close-up_of_a_programmer_working_intensely_on_a_l_2f0dc442-7c3f-4287-8558-397dd6418c89_resultat.webp",
"alternativeText": null,
"caption": null,
"width": 2912,
"height": 1632,
"formats": {
"thumbnail": {
"name": "thumbnail_u6113228922_A_close-up_of_a_programmer_working_intensely_on_a_l_2f0dc442-7c3f-4287-8558-397dd6418c89_resultat.webp",
"hash": "thumbnail_u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 245,
"height": 137,
"size": 6.44,
"sizeInBytes": 6438,
"url": "/uploads/thumbnail_u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d.webp"
},
"large": {
"name": "large_u6113228922_A_close-up_of_a_programmer_working_intensely_on_a_l_2f0dc442-7c3f-4287-8558-397dd6418c89_resultat.webp",
"hash": "large_u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 1000,
"height": 560,
"size": 38.74,
"sizeInBytes": 38742,
"url": "/uploads/large_u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d.webp"
},
"medium": {
"name": "medium_u6113228922_A_close-up_of_a_programmer_working_intensely_on_a_l_2f0dc442-7c3f-4287-8558-397dd6418c89_resultat.webp",
"hash": "medium_u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 750,
"height": 420,
"size": 27.24,
"sizeInBytes": 27236,
"url": "/uploads/medium_u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d.webp"
},
"small": {
"name": "small_u6113228922_A_close-up_of_a_programmer_working_intensely_on_a_l_2f0dc442-7c3f-4287-8558-397dd6418c89_resultat.webp",
"hash": "small_u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d",
"ext": ".webp",
"mime": "image/webp",
"path": null,
"width": 500,
"height": 280,
"size": 16.21,
"sizeInBytes": 16214,
"url": "/uploads/small_u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d.webp"
}
},
"hash": "u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d",
"ext": ".webp",
"mime": "image/webp",
"size": 161.32,
"url": "/uploads/u6113228922_A_close_up_of_a_programmer_working_intensely_on_a_l_2f0dc442_7c3f_4287_8558_397dd6418c89_resultat_46ae66cd8d.webp",
"previewUrl": null,
"provider": "local",
"provider_metadata": null,
"createdAt": "2025-02-13T14:46:27.785Z",
"updatedAt": "2025-02-13T14:46:27.785Z",
"publishedAt": "2025-02-13T14:46:27.785Z"
}
]
}
],
"meta": {
"pagination": {
"page": 1,
"pageSize": 25,
"pageCount": 1,
"total": 17
}
}
}