0 votes

Partager un calendrier unique avec iCloud

Je voudrais partager un de mes calendriers avec un ami, sans télécharger mes autres calendriers, et sans rendre ce calendrier partagé public. Est-ce possible ?

2voto

Berk Ilgar Points 642

Si vous êtes sur Mac :

  • Ouvrez l'application Calendrier.
  • Faites un clic droit sur le calendrier spécifique que vous voulez partager avec quelqu'un.
  • Cliquez sur "Partager le calendrier..."
  • Inscrivez le nom de l'utilisateur iCloud avec lequel vous souhaitez partager ce calendrier.

Si vous êtes sur ios :

  • Ouvrez l'application Calendrier.
  • Trouvez le calendrier que vous voulez partager.
  • Appuyez sur l'icône "i" alignée à droite de chaque calendrier.
  • Cliquez sur "Ajouter une personne" et écrivez l'adresse iCloud de vos amis, leur nom, etc

Je dois préciser qu'il fonctionne principalement sur les calendriers iCloud, pas pour le calendrier du compte "Google" par exemple.

J'espère que cela vous aidera, n'hésitez pas à commenter ici si vous avez d'autres questions.

0voto

miguelmorin Points 865

Je poste ma solution au cas où elle aiderait quelqu'un. J'ai envisagé et abandonné trois fournisseurs :

  • Google Agenda, car le calendrier serait soit public sur l'internet, soit l'autre personne devrait créer un compte Google et le relier à son appareil (ce qu'elle est trop occupée pour faire) ;

  • Amazon Workmail, parce que la personne devrait soit vérifier le calendrier sur le web, soit relier son appareil (là encore, elle est trop occupée pour le faire) ;

  • iCloud, parce que j'aurais besoin de charger todo mes calendriers locaux, ce que je ne voulais pas faire pour des raisons de confidentialité.

Ma solution a consisté à exporter le calendrier local vers un fichier de type .ics et coder une fonction sur mon serveur NodeJS qui sert ce fichier sous trois conditions :

  • l'URL contient une clé secrète
  • l'URL contient un paramètre GET avec une clé secrète
  • la demande provient d'une adresse IP pré-approuvée.

Et cela fonctionne bien. Voici le code NodeJS :

/**
 *
 * GET /calendar
 *
 * URL: http://domain.com/secret1?secret2=secret2
 *
 **/
router.get('/secret1', async (req, res) => {

  // Access control
  let ips = ["", ":::fff:127.0.0.1"];
  if (!(ips.includes(req.ip))) {
    return res.redirect("/404");
  }
  if ("secret2" != req.query.secret2) {
    return res.redirect("/404");
  }
  let filepath = path.join(__dirname, "cal.ics");
  if (!fs.existsSync(filepath)) {
    console.error("*** Error in serving calendar file");
    return res.redirect("/404");
  }

  res.sendFile(filepath);
});

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X