{"id":19789051,"url":"https://github.com/ponsfrilus/kata-birthday","last_synced_at":"2026-03-02T09:34:19.209Z","repository":{"id":150880540,"uuid":"471461231","full_name":"ponsfrilus/kata-birthday","owner":"ponsfrilus","description":"Kata : créer un système de rappel des anniversaires","archived":false,"fork":false,"pushed_at":"2024-01-20T23:19:45.000Z","size":3722,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-11T03:55:30.574Z","etag":null,"topics":["dojo","dojo-kata","epfl","epfl-dojo","epfl-dojo-kata","kata"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ponsfrilus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-18T17:37:30.000Z","updated_at":"2024-01-20T23:28:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"bdac7f99-8d29-4e61-8455-68591bc0a19c","html_url":"https://github.com/ponsfrilus/kata-birthday","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponsfrilus%2Fkata-birthday","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponsfrilus%2Fkata-birthday/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponsfrilus%2Fkata-birthday/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ponsfrilus%2Fkata-birthday/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ponsfrilus","download_url":"https://codeload.github.com/ponsfrilus/kata-birthday/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241125310,"owners_count":19913841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dojo","dojo-kata","epfl","epfl-dojo","epfl-dojo-kata","kata"],"created_at":"2024-11-12T06:29:40.692Z","updated_at":"2026-03-02T09:34:14.153Z","avatar_url":"https://github.com/ponsfrilus.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kata : Anniversaire\n\n\u003c!-- start:apropos --\u003e\n\u003e **À propos**\n\u003e\n\u003e ⓘ Ceci est la donnée d'un [kata], un _exercice de programmation_ qui se\n\u003e déroule généralement dans le cadre d'un [coding dojo]. Il est proposé aux\n\u003e membres du dojo de l'[EPFL] et fait partie d'une collection de différents\n\u003e katas identifiés par le tag **[epfl-dojo-kata]** sur GitHub.  \n\u003e Vous êtes plus que bienvenu·e d'essayer de le réaliser dans le langage de\n\u003e programmation de votre choix. Lorsque c'est terminé, ajoutez-vous à la liste\n\u003e de ceux qui l'ont fait dans ce document en proposant une [Pull Request]. Vous\n\u003e pouvez également partager votre intérêt pour ce dépôt en\n\u003e le «[stargazant]», c'est à dire en lui ajoutant une ⭐.  \n\u003e Bonne lecture et bon code !\n\n[kata]: https://fr.wikipedia.org/wiki/Coding_dojo#Kata\n[coding dojo]: https://fr.wikipedia.org/wiki/Coding_dojo\n[EPFL]: https://www.epfl.ch\n[epfl-dojo-kata]: https://github.com/topics/epfl-dojo-kata\n[Pull Request]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests\n[stargazant]: https://docs.github.com/en/get-started/exploring-projects-on-github/saving-repositories-with-stars\n\u003c!-- end:apropos --\u003e\n\n## But\n\nLe but de ce kata est d'implémenter, dans le langage de programmation de votre\nchoix, un programme qui envoie des mails de rappel d'anniversaire.\n\nLe programme a une liste composée des informations suivantes :\n  - Prénom Nom\n  - Date de naissance (au format [ISO-8601])\n  - Email\n\nLorsque le script est appellé, il effectue les actions suivantes :\n  1. Vérifie si c'est l'anniversaire d'une personne de la liste ;\n  2. Pour chaque personne dont c'est l'anniversaire, envoie un mail de rappel\n     à toutes les autres personnes.\n\nLe contenu du mail est laissé à charge du lecteur, mais voici une proposition\npour les plus indécis d'entre vous :\n\n\u003e Titre : C'est l'anniverssaire de John Doe !  \n\u003e\n\u003e Pssst,  \n\u003e\n\u003e C'est l'anniverssaire de John Doe aujourd'hui ! Il a 22 ans.  \n\u003e Tu peux lui envoyer un email à John Doe \u003cjohn.doe@example.com\u003e.\n\u003e\n\u003e A+  \n\u003e KataBirthday\n\n\n## Objectifs\n\n* Entraîner la programmation (structure de donnée, boucles, etc.)\n* Entraîner des tâches de _sysadmin_ :\n  * appels de script quotidiennement à une heure donnée ([cron])\n  * envois de mails ([sendmail], [MTA])\n\n\n## Je l'ai fait 💪\n\n* La version d'[@Azecko](https://github.com/Azecko) a été faite en `NodeJS` et\n  est disponible [ici](https://github.com/Azecko/kata-birthday).\n* La version de [@octocat](https://github.com/octocat) a été faite en `langage`\n  et est disponible [ici](https://#).\n\n\n## Pour aller plus loin\n\nVoici quelques idées pour faire évoluer le projet :\n* Ajouter une citation aléatoire dans le message ;\n* Ajouter une image / gif aléatoire dans le message (`cid:`);\n* Créer une interface de gestion des utilisateurs ;\n* Ajouter la possibilité de recevoir les messages par messagerie instantanée,\n  par exemple Discord ou Telegram ;\n* Envoyer les mails au format text et HTML ([MIME multipart](https://en.wikipedia.org/wiki/MIME#Multipart_messages));\n* etc...\n\n[ISO-8601]: https://fr.wikipedia.org/wiki/ISO_8601\n[cron]: https://fr.wikipedia.org/wiki/cron\n[sendmail]: https://fr.wikipedia.org/wiki/sendmail\n[MTA]: https://fr.wikipedia.org/wiki/Mail_Transfer_Agent\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fponsfrilus%2Fkata-birthday","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fponsfrilus%2Fkata-birthday","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fponsfrilus%2Fkata-birthday/lists"}