Materializr
오픈소스 파라메트릭 3D CAD로 제약 스케치·솔리드 모델·나사·SVG·텍스트 조각·STL/STEP 내보내기를 지원합니다
빠르고 인터랙티브한 웹 앱으로 Bitmoji 포즈(단일·듀오)를 고해상도로 검색·필터·다운로드합니다
Une application web interactive et rapide permettant de rechercher, filtrer et télécharger des poses Bitmoji (Solo et Duo) en haute définition.
디자인JavaScript · HTMLGitHub @Kenny3231온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗🇫🇷 Français | 🇬🇧 English
Une application web interactive et rapide permettant de rechercher, filtrer et télécharger des poses Bitmoji (Solo et Duo) en haute définition.
.zip depuis l'interface web (limité par le navigateur).Cette fonctionnalité permet de télécharger automatiquement l'intégralité des poses et les fichiers de métadonnées directement dans votre stockage Home Assistant sans intervention manuelle.
Exécutez cette commande dans votre terminal Home Assistant (Add-on "Terminal & SSH") :
curl -sL "https://avatar-explorer.pages.dev/api/export?id1=VOTRE_ID&name1=Kenny&mode=solo&dir=bitmojis" | bash
[!NOTE] Le script généré ne contient que des URLs validées côté serveur. Chaque image doit provenir de
https://sdk.bitmoji.com/avec un jeu de caractères restreint : ni guillemet, ni$, ni backtick, ni\, ni espace. Chaque destination doit rester sous/config/www/. Une pose dont l'URL ne respecte pas ces règles est ignorée, et signalée en tête du script ainsi que dans l'en-tête HTTPX-Skipped-Items. Comme pour toutcurl | bash, vous pouvez d'abord inspecter le script en remplaçant| bashpar> script.sh.
| Paramètre | Description | Valeurs possibles |
|---|---|---|
id1 | (Requis) ID Bitmoji principal | Ex: 103719... |
id2 | ID Bitmoji ami (requis pour duo) | Ex: 284610... |
name1 | Dossier/Préfixe utilisateur 1 | Défaut: Utilisateur1 |
name2 | Dossier/Préfixe utilisateur 2 | Défaut: Utilisateur2 |
mode | Type de poses à récupérer | solo ou duo |
scale | Qualité de l'image (1x, 2x, 4x) | 1, 2, 4 |
dir | Dossier dans /config/www/ (sous-dossiers possibles avec /) | Défaut: bitmojis, ex: media/bitmojis |
lang | Langue du catalogue de poses | Défaut: fr. Voir langues disponibles |
| Code | Langue |
|---|---|
fr | Français (défaut) |
en | Anglais |
es | Espagnol |
fr-ca | Français (Canada) |
de | Allemand |
ja | Japonais |
ko | Coréen |
it | Italien |
pt | Portugais |
zh | Chinois |
tr | Turc |
pl | Polonais |
ro | Roumain |
el | Grec |
[!NOTE] Cette liste peut s'étendre avec le temps (cf.
SUPPORTED_LANGSdans functions/api/export.js). Chaque langue suppose l'existence d'un fichierpublic/templates_<lang>.json, généré par public/get_templates.js. Pour les langues à alphabet non-latin (ja,ko,zh,el), un champslugFallback(tag anglais correspondant) garantit que les noms de fichiers générés restent lisibles même quand le tag natif ne contient aucun caractère latin.
[!IMPORTANT] Pré-requis : Avant de lancer la commande, assurez-vous de créer manuellement vos dossiers de destination dans
/config/www/(ex:/config/www/bitmojis/Kenny/). Le script nécessite que les dossiers existent pour y déposer les fichiers.pnget.json.
aide.json)Le fichier aide.json est servi statiquement à la racine du site et expose entre autres la date du dernier import du catalogue. Utile pour qu'une application tierce (ex: Avatar Explorer HA) sache si elle doit relancer un import.
GET https://avatar-explorer.pages.dev/aide.json
{
"date_maj": "19 juillet 2026",
"last_updated_iso": "2026-07-19T10:10:28.730Z",
"stats": {
"fr": { "solo": 1261, "duo": 614 },
"en": { "solo": 1975, "duo": 1050 },
"es": { "solo": 1278, "duo": 607 },
"...": { "solo": "...", "duo": "..." }
},
"guide": {
"fr": "Bienvenue dans la Forge Bitmoji ! ...",
"en": "Welcome to the Bitmoji Forge! ...",
"es": "¡Bienvenido a la Forja Bitmoji! ...",
"...": "..."
}
}
| Champ | Type | Description |
|---|---|---|
date_maj | string | Date du dernier import, formatée en français (affichage uniquement, ne pas parser). |
last_updated_iso | string (ISO 8601) | Date du dernier import, à utiliser pour toute comparaison programmatique. |
stats.<lang> | { solo: number, duo: number } | Nombre de poses disponibles pour la langue <lang> (un des 14 codes ci-dessus), par mode. |
guide.<lang> | string (Markdown) | Texte affiché dans le centre d'aide de l'application, traduit pour la langue <lang>. |
const { last_updated_iso } = await fetch('https://avatar-explorer.pages.dev/aide.json').then(r => r.json());
const remoteDate = new Date(last_updated_iso);
if (remoteDate > localLastImportDate) {
// déclencher un nouvel import
}
[!NOTE] Le catalogue est recollecté chaque lundi (cron GitHub Actions), à chaque déclenchement manuel du workflow
update_data.ymlet à chaque push qui modifie le script de collecte.last_updated_isoetdate_majn'avancent que si le contenu d'au moins untemplates_<lang>.jsona réellement changé (empreinte SHA-256 comparée avant et après). Une collecte qui ne ramène rien de nouveau ne déclenche donc aucune resynchronisation chez les consommateurs. Un simple réordonnancement des poses par Bitmoji compte comme un changement, car il peut décaler les suffixes_2,_3des noms de fichiers.
git clone https://github.com/Kenny3231/Avatar_Explorer.git
cd Avatar_Explorer
index.html dans votre navigateur.npm run collect recollecte les templates_*.json, npm run collect:dry fait la même chose sans rien écrire, et npm run check valide hors ligne les fichiers déjà présents.