# FavMasToKey

FavMasToKey est un outil web permettant de migrer facilement vos favoris depuis Mastodon vers Misskey en quelques clics. L'application traite les favoris exportés depuis Mastodon et les ajoute à votre compte Misskey via l'API.

![logo](https://concepts.esenjin.xyz/cyla/fichiers/67dd4668ec5ec_1742554728.png)

## Fonctionnalités

- Import des favoris à partir d'un fichier JSON exporté de Mastodon
- Authentification simple par jeton d'accès Misskey
- Recherche et récupération des publications équivalentes sur le réseau fédéré
- Suivi de la progression en temps réel
- Possibilité de mettre en pause, reprendre ou annuler la migration
- Journal détaillé des opérations
- Interface responsive et conviviale

## Comment ça marche ?

1. **Exportation des favoris depuis Mastodon** : L'utilisateur exporte ses favoris depuis son compte Mastodon
2. **Import du fichier** : Le fichier JSON exporté est analysé par FavMasToKey
3. **Authentification Misskey** : L'utilisateur génère un jeton d'accès sur son instance Misskey
4. **Migration** : FavMasToKey recherche chaque publication sur le réseau fédéré et l'ajoute aux favoris de l'utilisateur
5. **Suivi** : L'utilisateur peut suivre la progression en temps réel

## Prérequis

- Serveur web avec PHP 7.4+ (Apache ou Nginx recommandé)
- Modules PHP requis :
  - php-curl
  - php-json
  - php-session
- Accès HTTPS (fortement recommandé pour la sécurité)

## Installation

### Option 1 : Installation manuelle

1. Téléchargez la dernière version de FavMasToKey
2. Décompressez les fichiers dans le répertoire de votre choix sur votre serveur web
3. Assurez-vous que le serveur web a les permissions d'écriture sur le répertoire
4. Configurez votre serveur web pour pointer vers le répertoire d'installation

### Option 2 : Installation avec Git

```bash
# Clonez le dépôt
git clone https://github.com/votre-utilisateur/favmastokey.git

# Accédez au répertoire
cd favmastokey

# Configurez les permissions si nécessaire
chmod 755 -R .
```

## Configuration

1. Ouvrez le fichier `includes/config.php`
2. Modifiez les paramètres suivants selon vos besoins :

```php
// Environnement (development ou production)
define('ENVIRONMENT', 'production'); // Changez en 'production' pour un environnement de production

// URL de base - Utilisée pour les liens dans l'application
$config = [
    'app_url' => 'https://votre-domaine.com/favmastokey', // Changez pour l'URL réelle
    
    // Paramètres pour le traitement
    'batch_size' => 2,     // Nombre de favoris à traiter en une fois
    'timeout' => 90,       // Timeout des requêtes en secondes
    'max_retries' => 3,    // Nombre maximal de tentatives par favori
    'delay_between_requests' => 3000 // Délai entre les requêtes en millisecondes
];
```

3. Configurez votre fichier `.htaccess` ou équivalent pour protéger le répertoire `includes/`

## Utilisation

1. Accédez à votre installation de FavMasToKey via votre navigateur
2. Suivez les instructions à l'écran :
   - Exportez vos favoris depuis Mastodon (Préférences > Exporter et importer > Exporter > Favoris)
   - Téléchargez le fichier JSON sur FavMasToKey
   - Générez un jeton d'accès sur votre instance Misskey (Paramètres > API > Générer un nouveau jeton)
   - Connectez-vous avec votre jeton et lancez la migration

## Dépannage

Si vous rencontrez des problèmes lors de la migration, voici quelques pistes :

- **Problème d'authentification** : Vérifiez que votre jeton a les permissions nécessaires (afficher les informations du compte, afficher et gérer les favoris)
- **Publications non trouvées** : Certaines publications peuvent ne pas être accessibles depuis votre instance Misskey en raison de problèmes de fédération
- **Erreurs de timeout** : Essayez d'augmenter les valeurs de timeout dans `config.php`
- **Problèmes de rate limiting** : Augmentez le délai entre les requêtes dans `config.php`

Pour un diagnostic plus approfondi, utilisez la page `diagnostic.php` accessible depuis votre installation.

## Limitations connues

- Les publications supprimées ou rendues privées ne peuvent pas être migrées
- Les performances dépendent de la réactivité des instances Mastodon et Misskey concernées
- La fédération entre les instances peut parfois être incomplète, empêchant certaines publications d'être trouvées

## Confidentialité et sécurité

FavMasToKey a été conçu avec la confidentialité à l'esprit :
- Aucune donnée utilisateur n'est stockée sur le serveur
- Les jetons d'accès sont conservés uniquement pendant la session active
- Aucune donnée n'est envoyée à des services tiers

## Licence

FavMasToKey est distribué sous la [licence MIT](LICENSE).

## Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou à proposer une pull request pour améliorer l'application.

---

Développé avec Claude.ai