CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Comprendre et contrer n'importe quel champion de League of Legends pendant l'écran de chargement.
Le site est pensé pour les débutants : tu tapes le nom du champion adverse sur ton téléphone, et tu as en moins d'une minute :
mf, j4, kog…). Appuie sur Entrée pour ouvrir le premier résultat, / pour revenir dans la recherche et Échap pour quitter une fiche.sitemap.xml, robots.txt et une vraie page 404.vercel.json gère les routes de l'application)Aucune librairie de routage : deux pages ne le justifiaient pas. Un mini-routeur basé sur l'History API se trouve dans src/lib/router.js.
Prérequis : Node.js 20.19 ou plus récent.
npm install
npm run dev # http://localhost:5173
npm test # tests unitaires
npm run lint
npm run build # version de production dans dist/ (avec pré-rendu, voir plus bas)
npm run preview # sert dist/ en local
npm run build enchaîne trois étapes :
vite build : construit l'application pour le navigateur ;vite build --ssr src/entry-server.jsx : construit la même application pour Node ;node scripts/prerender.js : récupère les données Riot du dernier patch, génère avec React le HTML de l'accueil et de chaque champion (dist/champion/Darius.html…), puis écrit sitemap.xml, robots.txt et 404.html.Chaque page contient ses données : dans le navigateur, React reprend la main sur le HTML existant (hydratation) sans rien retélécharger. vercel.json (cleanUrls) sert champion/Darius.html à l'adresse /champion/Darius.
Le build a besoin d'accéder à Data Dragon. S'il échoue (serveurs de Riot indisponibles), Vercel garde la version précédente en ligne. L'adresse du site utilisée dans les balises se règle avec la variable VITE_SITE_URL (par défaut https://lol-en-1-minute.vercel.app).
src/
content/champions/ fiches rédigées (une par champion)
data/nicknames.js surnoms reconnus par la recherche
lib/ddragon.js accès à Data Dragon, cache, mise en forme des données
lib/search.js recherche tolérante (normalisation, surnoms, fautes de frappe)
lib/router.js mini-routeur
lib/seo.js titre, description, balises de partage et données structurées
entry-server.jsx point d'entrée du pré-rendu
scripts/prerender.js génère les pages HTML, le sitemap et robots.txt
pages/ accueil et fiche champion
components/ composants partagés
Base gris neutre, avec l'illustration officielle du champion fondue dans le haut de la page. Les couleurs vives sont réservées à ce qui doit se repérer vite ; toutes sont des variables en haut de src/styles.css :
--key-p … --key-r), identique partout. Dans une fiche, une touche citée seule (« son E », « (Q) ») est automatiquement affichée avec sa couleur ;--role-assassin, --role-mage…) ;--threat) pour ce qu'il faut craindre, vert (--counter) pour comment gagner, or (--gold) pour les actions.Crée src/content/champions/<id>.json, où <id> est l'identifiant Riot du champion en minuscules : darius, missfortune, kogmaw, ou monkeyking pour Wukong. Vite charge automatiquement tous les fichiers de ce dossier.
Inspire-toi de darius.json :
| Champ | Contenu |
|---|---|
plan | Son plan de jeu en une phrase |
aSurveiller | La menace numéro 1 et comment réagir |
genre | Optionnel : "f" pour une championne (« Comment la battre », « Quand elle devient forte ») |
menace | Optionnel : la touche du sort à surveiller ("E"). Sinon, la première touche citée dans aSurveiller est utilisée |
contrer | 3 conseils concrets pour le battre |
forces | 3 forces |
faiblesses | 3 faiblesses |
sorts | Un résumé d'une ligne pour P, Q, W, E et R |
momentFort | Ses fenêtres de puissance face à son adversaire direct (même voie ou jungle contre jungle) : niveaux clés, sort qui change tout quand il est disponible, bon schéma d'échange. Ex. Ahri : bon niveau 1 (auto, W, auto), dangereuse quand son charme (E) est prêt, puis au niveau 6. Pour un champion joué à deux rôles, deux textes : { "voie": "…", "jungle": "…" }, affichés avec « En voie : » et « En jungle : » |
patch | Le patch où la fiche a été vérifiée (ou null) |
Règle d'or : chaque phrase doit pouvoir se lire en quelques secondes.
Le site existe en français (à la racine : /champion/Darius), en anglais (/en/champion/Darius) et en espagnol (/es/champion/Darius). Un drapeau dans l'en-tête mène à la même page dans une autre langue. Chaque version a son titre, sa description et des balises hreflang qui relient les trois pages pour Google ; le sitemap les liste toutes.
src/i18n.js (un bloc par langue).fr_FR, en_US, es_ES).src/content/champions/en/<id>.json et src/content/champions/es/<id>.json. Elles ne contiennent que les textes (plan, aSurveiller, contrer, forces, faiblesses, sorts, momentFort) ; genre, menace, patch et auteur restent dans la fiche française, qui fait référence.Quand tu corriges une fiche française, pense à reporter la correction dans ses deux traductions. Les tests vérifient que chaque traduction existe, garde des phrases courtes et cite exactement les mêmes touches (Q, W, E, R) que la fiche française.
Pour ajouter une langue : une entrée dans LANGS et ses textes dans src/i18n.js, son drapeau dans src/components/LanguageSwitcher.jsx, puis un dossier de fiches traduites.
Les prochaines tâches sont listées dans TODO.md.
LoL en 1 minute n'est pas approuvé par Riot Games et ne reflète pas les opinions de Riot Games ni de quiconque officiellement impliqué dans la production ou la gestion de League of Legends. League of Legends et Riot Games sont des marques commerciales ou des marques déposées de Riot Games, Inc.