cestca commited on
Commit
1b3073a
·
verified ·
1 Parent(s): 63486ed

peux tu me traduire le site en français

Browse files
Files changed (4) hide show
  1. components/footer.js +14 -14
  2. components/navbar.js +5 -5
  3. index.html +35 -33
  4. script.js +17 -18
components/footer.js CHANGED
@@ -12,27 +12,27 @@ class CustomFooter extends HTMLElement {
12
  <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
13
  <div>
14
  <h3 class="text-lg font-semibold text-gray-900 mb-4">SearchStellar</h3>
15
- <p class="text-gray-600 text-sm">Exploring scientific research through cosmic visualizations.</p>
16
- </div>
17
  <div>
18
- <h4 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Resources</h4>
19
- <ul class="space-y-2">
20
  <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Documentation</a></li>
21
- <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">API Access</a></li>
22
- <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Data Sources</a></li>
23
- </ul>
24
  </div>
25
  <div>
26
- <h4 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Legal</h4>
27
- <ul class="space-y-2">
28
- <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Privacy Policy</a></li>
29
- <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Terms of Service</a></li>
30
  <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Cookies</a></li>
31
- </ul>
32
  </div>
33
  <div>
34
- <h4 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Connect</h4>
35
- <div class="flex space-x-4">
36
  <a href="#" class="text-gray-600 hover:text-purple-600 transition-colors">
37
  <i data-feather="twitter"></i>
38
  </a>
 
12
  <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
13
  <div>
14
  <h3 class="text-lg font-semibold text-gray-900 mb-4">SearchStellar</h3>
15
+ <p class="text-gray-600 text-sm">Exploration de la recherche scientifique à travers des visualisations cosmiques.</p>
16
+ </div>
17
  <div>
18
+ <h4 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Ressources</h4>
19
+ <ul class="space-y-2">
20
  <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Documentation</a></li>
21
+ <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Accès API</a></li>
22
+ <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Sources de données</a></li>
23
+ </ul>
24
  </div>
25
  <div>
26
+ <h4 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Légal</h4>
27
+ <ul class="space-y-2">
28
+ <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Politique de confidentialité</a></li>
29
+ <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Conditions d'utilisation</a></li>
30
  <li><a href="#" class="text-gray-600 hover:text-purple-600 transition-colors text-sm">Cookies</a></li>
31
+ </ul>
32
  </div>
33
  <div>
34
+ <h4 class="text-sm font-semibold text-gray-900 uppercase tracking-wider mb-4">Nous suivre</h4>
35
+ <div class="flex space-x-4">
36
  <a href="#" class="text-gray-600 hover:text-purple-600 transition-colors">
37
  <i data-feather="twitter"></i>
38
  </a>
components/navbar.js CHANGED
@@ -22,11 +22,11 @@ class CustomNavbar extends HTMLElement {
22
  </a>
23
  </div>
24
  <div class="hidden md:flex items-center space-x-6">
25
- <a href="/" class="text-gray-700 hover:text-purple-600 transition-colors font-medium">Home</a>
26
- <a href="#" class="text-gray-700 hover:text-purple-600 transition-colors font-medium">About</a>
27
- <a href="#" class="text-gray-700 hover:text-purple-600 transition-colors font-medium">Databases</a>
28
- <a href="#" class="text-gray-700 hover:text-purple-600 transition-colors font-medium">Help</a>
29
- </div>
30
  <div class="flex items-center space-x-4">
31
  <button class="p-2 text-gray-600 hover:text-purple-600 transition-colors">
32
  <i data-feather="user"></i>
 
22
  </a>
23
  </div>
24
  <div class="hidden md:flex items-center space-x-6">
25
+ <a href="/" class="text-gray-700 hover:text-purple-600 transition-colors font-medium">Accueil</a>
26
+ <a href="#" class="text-gray-700 hover:text-purple-600 transition-colors font-medium">À propos</a>
27
+ <a href="#" class="text-gray-700 hover:text-purple-600 transition-colors font-medium">Bases de données</a>
28
+ <a href="#" class="text-gray-700 hover:text-purple-600 transition-colors font-medium">Aide</a>
29
+ </div>
30
  <div class="flex items-center space-x-4">
31
  <button class="p-2 text-gray-600 hover:text-purple-600 transition-colors">
32
  <i data-feather="user"></i>
index.html CHANGED
@@ -3,8 +3,10 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>SearchStellar - Cosmic Science Explorer</title>
7
- <link rel="stylesheet" href="style.css">
 
 
8
  <script src="https://cdn.tailwindcss.com"></script>
9
  <script src="https://unpkg.com/feather-icons"></script>
10
  <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
@@ -17,14 +19,14 @@
17
 
18
  <main class="flex-grow container mx-auto px-4 py-8">
19
  <div class="max-w-4xl mx-auto text-center mb-12">
20
- <h1 class="text-4xl md:text-5xl font-bold text-gray-900 mb-4">Explore Scientific Constellations</h1>
21
- <p class="text-xl text-gray-600">Discover the most influential medical research through our cosmic visualization</p>
22
- </div>
23
  <div class="bg-white rounded-xl shadow-lg p-8 mb-12">
24
  <div class="flex flex-col md:flex-row gap-4 mb-6">
25
  <div class="flex-grow relative">
26
- <input type="text" id="searchQuery" placeholder="Search for medical research..."
27
- class="w-full pl-12 pr-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-purple-500">
28
  <i data-feather="search" class="absolute left-4 top-3.5 text-gray-400"></i>
29
  </div>
30
  <button id="searchButton" class="px-6 py-3 bg-purple-600 text-white rounded-lg hover:bg-purple-700 transition-colors">
@@ -33,8 +35,8 @@
33
  </div>
34
  <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
35
  <div class="bg-gray-50 p-4 rounded-xl">
36
- <h3 class="text-sm font-medium text-gray-700 mb-3">Databases</h3>
37
- <div class="space-y-2">
38
  <label class="flex items-center space-x-2 cursor-pointer">
39
  <input type="checkbox" name="database" value="pubmed" checked class="rounded border-gray-300 text-purple-600 focus:ring-purple-500">
40
  <span class="text-gray-700">PubMed</span>
@@ -59,54 +61,54 @@
59
  </div>
60
 
61
  <div class="bg-gray-50 p-4 rounded-xl">
62
- <h3 class="text-sm font-medium text-gray-700 mb-3">Time Range</h3>
63
- <div class="space-y-2">
64
  <label class="flex items-center space-x-2 cursor-pointer">
65
  <input type="radio" name="timeRange" value="all" checked class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
66
- <span class="text-gray-700">All Time</span>
67
- </label>
68
  <label class="flex items-center space-x-2 cursor-pointer">
69
  <input type="radio" name="timeRange" value="10" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
70
- <span class="text-gray-700">Last 10 Years</span>
71
- </label>
72
  <label class="flex items-center space-x-2 cursor-pointer">
73
  <input type="radio" name="timeRange" value="5" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
74
- <span class="text-gray-700">Last 5 Years</span>
75
- </label>
76
  <label class="flex items-center space-x-2 cursor-pointer">
77
  <input type="radio" name="timeRange" value="2" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
78
- <span class="text-gray-700">Last 2 Years</span>
79
- </label>
80
  </div>
81
  </div>
82
 
83
  <div class="bg-gray-50 p-4 rounded-xl">
84
- <h3 class="text-sm font-medium text-gray-700 mb-3">Sort By</h3>
85
- <div class="space-y-2">
86
  <label class="flex items-center space-x-2 cursor-pointer">
87
  <input type="radio" name="sortBy" value="relevance" checked class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
88
- <span class="text-gray-700">Relevance</span>
89
- </label>
90
  <label class="flex items-center space-x-2 cursor-pointer">
91
  <input type="radio" name="sortBy" value="citations" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
92
  <span class="text-gray-700">Citations</span>
93
- </label>
94
  <label class="flex items-center space-x-2 cursor-pointer">
95
  <input type="radio" name="sortBy" value="date" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
96
  <span class="text-gray-700">Date</span>
97
- </label>
98
  </div>
99
  </div>
100
  </div>
101
  </div>
102
  <div id="loadingSpinner" class="hidden text-center py-16">
103
  <div class="animate-spin rounded-full h-16 w-16 border-t-4 border-b-4 border-purple-500 mx-auto mb-6"></div>
104
- <p class="text-gray-600 text-lg font-medium">Discovering research constellations...</p>
105
- </div>
106
  <div id="resultsContainer" class="hidden">
107
  <div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-8 gap-4">
108
- <h2 class="text-3xl font-bold text-gray-900">Research Constellation</h2>
109
- <div id="resultCount" class="text-lg text-purple-600 font-medium"></div>
110
  </div>
111
 
112
  <div class="bg-gradient-to-br from-purple-50 to-blue-50 rounded-xl shadow-lg p-6 h-[600px] relative overflow-hidden border border-gray-100">
@@ -118,11 +120,11 @@
118
  </div>
119
  <div id="noResults" class="hidden text-center py-16">
120
  <i data-feather="alert-circle" class="mx-auto text-gray-400 w-16 h-16 mb-6"></i>
121
- <h3 class="text-2xl font-bold text-gray-900 mb-3">No results found</h3>
122
- <p class="text-gray-600 text-lg">Try different search terms or filters</p>
123
  <button class="mt-6 px-6 py-3 bg-purple-600 text-white rounded-lg hover:bg-purple-700 transition-colors font-medium">
124
- Try Again
125
- </button>
126
  </div>
127
  </main>
128
 
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Rechercher
8
+ Stellar - Explorateur Scientifique Cosmique</title>
9
+ <link rel="stylesheet" href="style.css">
10
  <script src="https://cdn.tailwindcss.com"></script>
11
  <script src="https://unpkg.com/feather-icons"></script>
12
  <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
 
19
 
20
  <main class="flex-grow container mx-auto px-4 py-8">
21
  <div class="max-w-4xl mx-auto text-center mb-12">
22
+ <h1 class="text-4xl md:text-5xl font-bold text-gray-900 mb-4">Explorez les Constellations Scientifiques</h1>
23
+ <p class="text-xl text-gray-600">Découvrez les recherches médicales les plus influentes grâce à notre visualisation cosmique</p>
24
+ </div>
25
  <div class="bg-white rounded-xl shadow-lg p-8 mb-12">
26
  <div class="flex flex-col md:flex-row gap-4 mb-6">
27
  <div class="flex-grow relative">
28
+ <input type="text" id="searchQuery" placeholder="Rechercher des études médicales..."
29
+ class="w-full pl-12 pr-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-purple-500">
30
  <i data-feather="search" class="absolute left-4 top-3.5 text-gray-400"></i>
31
  </div>
32
  <button id="searchButton" class="px-6 py-3 bg-purple-600 text-white rounded-lg hover:bg-purple-700 transition-colors">
 
35
  </div>
36
  <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
37
  <div class="bg-gray-50 p-4 rounded-xl">
38
+ <h3 class="text-sm font-medium text-gray-700 mb-3">Bases de données</h3>
39
+ <div class="space-y-2">
40
  <label class="flex items-center space-x-2 cursor-pointer">
41
  <input type="checkbox" name="database" value="pubmed" checked class="rounded border-gray-300 text-purple-600 focus:ring-purple-500">
42
  <span class="text-gray-700">PubMed</span>
 
61
  </div>
62
 
63
  <div class="bg-gray-50 p-4 rounded-xl">
64
+ <h3 class="text-sm font-medium text-gray-700 mb-3">Période</h3>
65
+ <div class="space-y-2">
66
  <label class="flex items-center space-x-2 cursor-pointer">
67
  <input type="radio" name="timeRange" value="all" checked class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
68
+ <span class="text-gray-700">Toutes périodes</span>
69
+ </label>
70
  <label class="flex items-center space-x-2 cursor-pointer">
71
  <input type="radio" name="timeRange" value="10" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
72
+ <span class="text-gray-700">10 dernières années</span>
73
+ </label>
74
  <label class="flex items-center space-x-2 cursor-pointer">
75
  <input type="radio" name="timeRange" value="5" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
76
+ <span class="text-gray-700">5 dernières années</span>
77
+ </label>
78
  <label class="flex items-center space-x-2 cursor-pointer">
79
  <input type="radio" name="timeRange" value="2" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
80
+ <span class="text-gray-700">2 dernières années</span>
81
+ </label>
82
  </div>
83
  </div>
84
 
85
  <div class="bg-gray-50 p-4 rounded-xl">
86
+ <h3 class="text-sm font-medium text-gray-700 mb-3">Trier par</h3>
87
+ <div class="space-y-2">
88
  <label class="flex items-center space-x-2 cursor-pointer">
89
  <input type="radio" name="sortBy" value="relevance" checked class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
90
+ <span class="text-gray-700">Pertinence</span>
91
+ </label>
92
  <label class="flex items-center space-x-2 cursor-pointer">
93
  <input type="radio" name="sortBy" value="citations" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
94
  <span class="text-gray-700">Citations</span>
95
+ </label>
96
  <label class="flex items-center space-x-2 cursor-pointer">
97
  <input type="radio" name="sortBy" value="date" class="rounded-full border-gray-300 text-purple-600 focus:ring-purple-500">
98
  <span class="text-gray-700">Date</span>
99
+ </label>
100
  </div>
101
  </div>
102
  </div>
103
  </div>
104
  <div id="loadingSpinner" class="hidden text-center py-16">
105
  <div class="animate-spin rounded-full h-16 w-16 border-t-4 border-b-4 border-purple-500 mx-auto mb-6"></div>
106
+ <p class="text-gray-600 text-lg font-medium">Découverte des constellations de recherche...</p>
107
+ </div>
108
  <div id="resultsContainer" class="hidden">
109
  <div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-8 gap-4">
110
+ <h2 class="text-3xl font-bold text-gray-900">Constellation de Recherche</h2>
111
+ <div id="resultCount" class="text-lg text-purple-600 font-medium"></div>
112
  </div>
113
 
114
  <div class="bg-gradient-to-br from-purple-50 to-blue-50 rounded-xl shadow-lg p-6 h-[600px] relative overflow-hidden border border-gray-100">
 
120
  </div>
121
  <div id="noResults" class="hidden text-center py-16">
122
  <i data-feather="alert-circle" class="mx-auto text-gray-400 w-16 h-16 mb-6"></i>
123
+ <h3 class="text-2xl font-bold text-gray-900 mb-3">Aucun résultat trouvé</h3>
124
+ <p class="text-gray-600 text-lg">Essayez d'autres termes de recherche ou filtres</p>
125
  <button class="mt-6 px-6 py-3 bg-purple-600 text-white rounded-lg hover:bg-purple-700 transition-colors font-medium">
126
+ Réessayer
127
+ </button>
128
  </div>
129
  </main>
130
 
script.js CHANGED
@@ -57,28 +57,28 @@ const loadingSpinner = document.getElementById('loadingSpinner');
57
 
58
  // Generate central article
59
  articles.push({
60
- title: `The most influential study on ${query} in recent years`,
61
- authors: "Smith, J.; Johnson, A.; Lee, K. et al.",
62
- journal: "Nature Medicine",
63
  year: currentYear - Math.floor(Math.random() * (yearsFilter === 'all' ? 20 : parseInt(yearsFilter))),
64
  citations: centralArticleCitations,
65
  doi: "10.1038/nm.1234",
66
- abstract: `This groundbreaking study revolutionized our understanding of ${query} by demonstrating significant improvements in patient outcomes. The research team employed novel methodologies that have since become standard in the field.`
67
- });
68
 
69
  // Generate surrounding articles
70
  for (let i = 0; i < count - 1; i++) {
71
  const citationCount = Math.floor(Math.random() * centralArticleCitations * 0.8);
72
 
73
  articles.push({
74
- title: `Study ${i+1} on ${query}: ${['Novel', 'Comprehensive', 'Systematic', 'Randomized', 'Clinical'][i%5]} ${['findings', 'analysis', 'trial', 'review', 'evaluation'][i%5]}`,
75
- authors: `${['Brown', 'Taylor', 'Williams', 'Davis', 'Miller'][i%5]}, ${String.fromCharCode(65 + (i%26))}. et al.`,
76
- journal: ["JAMA", "NEJM", "The Lancet", "BMJ", "Annals"][i%5],
77
- year: currentYear - Math.floor(Math.random() * (yearsFilter === 'all' ? 20 : parseInt(yearsFilter))),
78
  citations: citationCount,
79
  doi: `10.1234/abcd.${1000 + i}`,
80
- abstract: `This ${['important', 'seminal', 'innovative', 'detailed', 'thorough'][i%5]} study examined ${query} through the lens of ${['clinical', 'epidemiological', 'molecular', 'biochemical', 'genomic'][i%5]} analysis. The results ${['confirmed', 'challenged', 'expanded', 'refined', 'redefined'][i%5]} previous understanding in the field.`
81
- });
82
  }
83
 
84
  return articles;
@@ -89,9 +89,8 @@ const loadingSpinner = document.getElementById('loadingSpinner');
89
  articles.sort((a, b) => b.citations - a.citations);
90
 
91
  // Update result count
92
- resultCount.textContent = `${articles.length} research papers found`;
93
-
94
- // Create constellation visualization
95
  createConstellation(articles);
96
 
97
  // Create article list
@@ -234,12 +233,12 @@ const loadingSpinner = document.getElementById('loadingSpinner');
234
  <p class="text-gray-700 text-sm line-clamp-2 mb-3">${article.abstract}</p>
235
  <div class="flex flex-wrap gap-2">
236
  <a href="https://doi.org/${article.doi}" target="_blank" class="text-xs px-3 py-1 bg-gray-100 text-gray-700 rounded-full hover:bg-gray-200 transition-colors">
237
- View Publication
238
- </a>
239
  ${index === 0 ? `
240
  <span class="text-xs px-3 py-1 bg-purple-100 text-purple-700 rounded-full">
241
- Most Cited
242
- </span>
243
  ` : ''}
244
  </div>
245
  </div>
 
57
 
58
  // Generate central article
59
  articles.push({
60
+ title: `L'étude la plus influente sur ${query} ces dernières années`,
61
+ authors: "Dupont, J.; Martin, A.; Leroy, K. et al.",
62
+ journal: "Nature Medicine",
63
  year: currentYear - Math.floor(Math.random() * (yearsFilter === 'all' ? 20 : parseInt(yearsFilter))),
64
  citations: centralArticleCitations,
65
  doi: "10.1038/nm.1234",
66
+ abstract: `Cette étude révolutionnaire a transformé notre compréhension de ${query} en démontrant des améliorations significatives des résultats pour les patients. L'équipe de recherche a employé des méthodologies innovantes qui sont depuis devenues standard dans le domaine.`
67
+ });
68
 
69
  // Generate surrounding articles
70
  for (let i = 0; i < count - 1; i++) {
71
  const citationCount = Math.floor(Math.random() * centralArticleCitations * 0.8);
72
 
73
  articles.push({
74
+ title: `Étude ${i+1} sur ${query}: ${['Nouvelle', 'Complète', 'Systématique', 'Randomisée', 'Clinique'][i%5]} ${['découverte', 'analyse', 'étude', 'revue', 'évaluation'][i%5]}`,
75
+ authors: `${['Dubois', 'Bernard', 'Petit', 'Moreau', 'Lefevre'][i%5]}, ${String.fromCharCode(65 + (i%26))}. et al.`,
76
+ journal: ["La Presse Médicale", "NEJM", "The Lancet", "BMJ", "Annales"][i%5],
77
+ year: currentYear - Math.floor(Math.random() * (yearsFilter === 'all' ? 20 : parseInt(yearsFilter))),
78
  citations: citationCount,
79
  doi: `10.1234/abcd.${1000 + i}`,
80
+ abstract: `Cette étude ${['importante', 'fondamentale', 'innovante', 'détaillée', 'approfondie'][i%5]} a examiné ${query} à travers l'analyse ${['clinique', 'épidémiologique', 'moléculaire', 'biochimique', 'génomique'][i%5]}. Les résultats ont ${['confirmé', 'remis en question', 'élargi', 'affiné', 'redéfini'][i%5]} les connaissances précédentes dans ce domaine.`
81
+ });
82
  }
83
 
84
  return articles;
 
89
  articles.sort((a, b) => b.citations - a.citations);
90
 
91
  // Update result count
92
+ resultCount.textContent = `${articles.length} articles de recherche trouvés`;
93
+ // Create constellation visualization
 
94
  createConstellation(articles);
95
 
96
  // Create article list
 
233
  <p class="text-gray-700 text-sm line-clamp-2 mb-3">${article.abstract}</p>
234
  <div class="flex flex-wrap gap-2">
235
  <a href="https://doi.org/${article.doi}" target="_blank" class="text-xs px-3 py-1 bg-gray-100 text-gray-700 rounded-full hover:bg-gray-200 transition-colors">
236
+ Voir la publication
237
+ </a>
238
  ${index === 0 ? `
239
  <span class="text-xs px-3 py-1 bg-purple-100 text-purple-700 rounded-full">
240
+ Plus cité
241
+ </span>
242
  ` : ''}
243
  </div>
244
  </div>