IT & Cybersecurity Jobs in International Organisations
← DashboardMyCIEL is a personal, working remake of CIEL (Carrières Internationales en Ligne), the French Ministry for Europe and Foreign Affairs' portal of vacancies in international organisations — which is not updated anymore. MyCIEL scrapes the career portals of the organisations directly, every two days, stores everything in a local database, and highlights the postings that match a senior ICT / cybersecurity profile (keyword match + minimum grade per organisation, e.g. AD6+ for EU institutions, P4+ for the UN system, A3+ for NATO).
The dashboard lets you search, filter by organisation, seniority, domain and status, and export to CSV. A notification with the newly found jobs is pushed after each scrape.
This table is generated live from the database.
| Organisation | Jobs tracked | Relevant |
|---|---|---|
| Loading… | ||
Two stages. Postings that are not staff vacancies are never stored: internships, studentships, traineeships, apprenticeships, fellowships and postdocs, graduate programmes, consultancies and secondments (including Seconded National Experts). Of what remains, a posting is flagged relevant when its title matches the ICT / cybersecurity keyword list and it meets the minimum grade for that organisation; General Service posts and locally-recruited positions outside France are kept but never flagged.
The dashboard opens on Relevant & open. Switch the Status filter to "All jobs" to browse everything that was stored.
Matching keywords also produce the domain tags used by the filter (IT, cybersecurity, cloud, networking, AI/ML, architecture, software, data, devops, telecom, digital). Jobs that match no keyword carry no tag, so picking a domain never returns unrelated postings. Matching is done on the title only — and on the title minus any appended organisation name, so a "Legal Officer" at ENISA is not flagged just because its employer is a cybersecurity agency.
Python scrapers (requests/BeautifulSoup, plus HTTP/2 and Playwright where needed) → SQLite → small Flask API → this static dashboard. Runs on a home server behind nginx; a cron job scrapes every two days at 07:00 and pushes a Home Assistant notification with a link to the newly added entries. Moving the hosting to the cloud is on the to-do list — likely keeping the scrape at home (better luck with anti-bot filters from a residential IP) and publishing the dashboard to a static host.