{% extends 'App::V2/base.html.twig' %} {% set site_name = site_name|default('RueduProf') %} {% set nav_items = nav_items|default([ {'label': 'Cours particuliers', 'href': app.request.getSchemeAndHttpHost() ~ path('app_home_page')}, {'label': 'Professeurs', 'href': '#itemlist'}, {'label': 'FAQ', 'href': '#faq'}, {'label': 'Blog', 'href': app.request.getSchemeAndHttpHost() ~ path('app_blog_show_index')} ]) %} {% set locationName = location.city ?? location.name %} {% set firstLetter = locationName|first|lower %} {% set needsApostrophe = firstLetter in ['a', 'e', 'i', 'o', 'u', 'h', 'é', 'è', 'ê', 'ë'] %} {% set dePrefix = location.slug == 'en-ligne' ? '' : (needsApostrophe ? "à " : "à ") %} {% set subjectPrefix = category.slug == 'coach-sportif' ? '' : (category.name|first|lower in ['a','e','i','o','u','h'] ? "d'" : 'de ') %} {% set listingType = category.type ? category.type : 'cours particuliers' %} {% set subjectName = category.name %} {% set cityLabel %}{% if location.city and location.slug == 'en-ligne' %}{% elseif location.city %} à {{ location.city }}{% endif %} {{ location.name|prefix }}{% if location.zipcode != 75 %} ({{ location.zipcode }}){% endif %}{% endset %} {% set pageTitle %} {% if category.slug == 'coach-sportif' %} Cours particuliers {{ subjectPrefix|raw }}{{ subjectName }}{{ cityLabel }} {% elseif category.type == 'formations' %} Formations {{ subjectPrefix|raw }}{{ subjectName }}{{ cityLabel }} {% else %} Cours particuliers {{ subjectPrefix|raw }}{{ subjectName }}{{ cityLabel }} {% endif %} {% endset %} {% set meta_h1 %} {% if category.slug == 'coach-sportif' %} {{ subjectName }}{{ cityLabel }} {% elseif category.type == 'formations' %} Formation {{ subjectPrefix }}{{ subjectName }}{{ cityLabel }} {% else %} {{ listingType|capitalize }} {{ subjectPrefix }}{{ subjectName }}{{ cityLabel }} {% endif %} {% endset %} {% set seoTitle = pageTitle|trim|raw %} {% set seoDescription %} {%- if category.slug == 'coach-sportif' -%} Trouvez un coach sportif{% if location.city and location.slug != 'en-ligne' %} à {{ location.city }}{% endif %}{% if location.name|prefix %} {{ location.name|prefix }}{% endif %}{% if location.zipcode and location.zipcode != 75 %} ({{ location.zipcode }}){% endif %} pour des séances personnalisées. Comparez les profils et tarifs, puis contactez gratuitement sans commission. {%- else -%} Trouvez {% if category.name|first|lower in ['a','e','i','o','u','h'] %}un professeur d'{% else %}un professeur de {% endif %}{{ category.name }}{% if location.city and location.slug != 'en-ligne' %} à {{ location.city }}{% endif %}{% if location.name|prefix %} {{ location.name|prefix }}{% endif %}{% if location.zipcode and location.zipcode != 75 %} ({{ location.zipcode }}){% endif %} pour des {% if category.type == 'formations' %}formations{% else %}cours particuliers{% endif %}. Comparez les profils et tarifs, puis contactez gratuitement sans commission. {%- endif -%} {% endset %} {% block title %}{{ seoTitle|trim|raw }}{% endblock %} {% block meta_title %}{% if category.slug != 'coach-sportif' %}Annonces {% endif %}{{ seoTitle|trim|raw }}{% endblock %} {% block og_title %}{{ seoTitle|trim|raw }}{% endblock %} {% block description %}{{ seoDescription }}{% endblock %} {% block meta_description %}{{ seoDescription }}{% endblock %} {% block og_description %}{{ seoDescription }}{% endblock %} {% block og_url %}https://www.rueduprof.com/{% if category.type %}{{ category.type }}{% else %}cours-particuliers{% endif %}/{{ category.slug }}/{{ location.slug }}{% endblock %} {% block canonical %}https://www.rueduprof.com/{% if category.type %}{{ category.type }}{% else %}cours-particuliers{% endif %}/{{ category.slug }}/{{ location.slug }}{% endblock %} {% set faq = [ { q: "Quel est le tarif moyen d’un" ~ (category.type == 'formations' ? 'e ' : ' ') ~ listingType ~ ' ' ~ subjectPrefix ~ subjectName ~ cityLabel ~ ' ?', 'a': 'Les tarifs des cours particuliers ' ~ subjectPrefix ~ subjectName ~ ' ' ~ dePrefix ~ locationName ~ ' varient selon le niveau de l’élève et l’expérience du professeur. En primaire, comptez généralement de 5 € à 30 € par heure. Au collège, les prix se situent le plus souvent entre 8 € et 35 € par heure. Pour le lycée, les tarifs vont en moyenne de 12 € à 50 € par heure. Enfin, pour les cours ' ~ subjectPrefix ~ subjectName ~ ' dans le supérieur, les prix observés sont généralement compris entre 15 € et 55 € par heure.' }, { q: "Quel crédit d'impôt pour les " ~ listingType ~ ' ' ~ subjectPrefix ~ subjectName ~ cityLabel ~ ' ?', a: "Jusqu'à 50% de crédit d’impôt peut s’appliquer selon la prestation et le cadre légal en vigueur. Vérifiez toujours les conditions exactes au moment de votre réservation." }, { q: 'Comment donner des ' ~ listingType ~ ' ' ~ subjectPrefix ~ subjectName ~ cityLabel ~ ' ?', a: 'La demande de cours particuliers à domicile et en ligne reste forte. Vous pouvez publier votre annonce sur RueduProf pour proposer vos services.' }, { q: 'Comment prendre des ' ~ listingType ~ ' ' ~ subjectPrefix ~ subjectName ~ cityLabel ~ ' ?', a: 'Vous pouvez rechercher gratuitement les professeurs disponibles, comparer leurs profils, puis les contacter directement selon votre besoin.' } ] %} {% block open_graph %} {% endblock %} {% block twitter_card %} {% endblock %} {% block snippet_json %} {% include 'App::schema/cours_particuliers_subject_city.html.twig' with { profileCategories: profileCategories, category: category, location: location, faq: faq } only %} {% endblock %} {% block body %} {% set priceFaqRows = [] %} {% if category.type == 'formations' or category.type == 'coach sportif' %} {% set priceFaqRows = [ {label: subjectName ~ ' pour débutants', price: 'de 5 €/h à 30 €/h'}, {label: subjectName ~ ' : intermédiaire', price: 'de 12 €/h à 50 €/h'}, {label: subjectName ~ ' : avancé', price: 'de 15 €/h à 55 €/h'} ] %} {% else %} {% set level1 = category.parent is defined and category.parent and category.parent.slug == 'langues' ? 'pour débutant' : 'primaire' %} {% set level2 = category.parent is defined and category.parent and category.parent.slug == 'langues' ? 'élémentaire (A1-A2)' : 'collège' %} {% set level3 = category.parent is defined and category.parent and category.parent.slug == 'langues' ? 'intermédiaire (B1-B2)' : 'lycée' %} {% set level4 = category.parent is defined and category.parent and category.parent.slug == 'langues' ? 'avancé (C1-C2)' : 'supérieur' %} {% set priceFaqRows = [ {label: 'Cours ' ~ subjectPrefix ~ subjectName ~ ' ' ~ level1, price: 'de 5 €/h à 30 €/h'}, {label: 'Cours ' ~ subjectPrefix ~ subjectName ~ ' ' ~ level2, price: 'de 8 €/h à 35 €/h'}, {label: 'Cours ' ~ subjectPrefix ~ subjectName ~ ' ' ~ level3, price: 'de 12 €/h à 50 €/h'}, {label: 'Cours ' ~ subjectPrefix ~ subjectName ~ ' ' ~ level4, price: 'de 15 €/h à 55 €/h'} ] %} {% endif %} {% set categorySlug = category ? category.slug : null %} {% set parentSlug = category and category.parent is defined and category.parent ? category.parent.slug : null %} {% set categoryHeroClassMap = { 'maths': 'listing-hero-maths', 'tennis': 'listing-hero-roland-garros', 'anglais': 'listing-hero-english', 'espagnol': 'listing-hero-spanish', 'italien': 'listing-hero-italian', 'allemand': 'listing-hero-german', 'japonais': 'listing-hero-japanese', 'portugais': 'listing-hero-portuguese', 'chinois': 'listing-hero-chinese', 'arabe': 'listing-hero-arabic', 'fle': 'listing-hero-french', } %} {% set parentHeroClassMap = { 'sciences': 'listing-hero-science', 'langues': 'listing-hero-yellow', 'musique': 'listing-hero-music', 'soutien-scolaire': 'listing-hero-green', 'litterature': 'listing-hero-philosophy', 'arts': 'listing-hero-art', 'sports': 'listing-hero-turquoise', 'sciences-humaines': 'listing-hero-history-geo', 'informatique': 'listing-hero-computer-science', 'entreprise': 'listing-hero-business' } %} {% set heroClass = 'listing-hero-blue' %} {% if categorySlug and categoryHeroClassMap[categorySlug] is defined %} {% set heroClass = categoryHeroClassMap[categorySlug] %} {% elseif parentSlug and parentHeroClassMap[parentSlug] is defined %} {% set heroClass = parentHeroClassMap[parentSlug] %} {% endif %} {# Emojis spécifiques par catégorie #} {% set categoryEmojiMap = { 'maths': ['🧮', '📐'], 'physique': ['⚛️', '🔭'], 'chimie': ['🧪', '⚗️'], 'sciences-de-l-ingenieur': ['⚙️', '🛠️'], 'statistiques': ['📊', '📈'], 'biologie': ['🧬', '🔬'], 'svt': ['🌱', '🔬'], 'prepas-scientifique': ['📐', '🚀'], 'ses': ['📊', '💶'], 'anglais': ['🇬🇧', '📘'], 'espagnol': ['🇪🇸', '💃'], 'italien': ['🇮🇹', '🍕'], 'allemand': ['🇩🇪', '🏰'], 'japonais': ['🇯🇵', '🌸'], 'portugais': ['🇵🇹', '🌊'], 'chinois': ['🇨🇳', '🐉'], 'arabe': ['🌙', '🕌'], 'fle': ['🇫🇷', '🥐'], 'musique': ['🎵', '🎸'], 'piano': ['🎹', '🎼'], 'guitare': ['🎸', '🎵'], 'chant': ['🎤', '🎶'], 'violon': ['🎻', '🎼'], 'batterie': ['🥁', '🎵'], 'peinture': ['🎨', '🖌️'], 'philosophie': ['🧠', '✍️'], 'tennis': ['🎾', '🏆'], 'coach-sportif': ['💪', '🏋️'], 'yoga': ['🧘', '🌿'], 'boxe': ['🥊', '🔥'], 'zumba': ['💃', '🎵'], 'histoire': ['🏛️', '📜'], 'geographie': ['🗺️', '🌍'], 'wordpress': ['🌐', '🛠️'], 'symfony-6': ['🎼', '⚙️'], 'magento': ['🛒', '📦'], 'drupal': ['💧', '🌐'], 'prestashop': ['🛍️', '⚙️'], 'shopify': ['🛒', '💚'], 'python': ['🐍', '💻'], 'java': ['☕', '💻'], 'intelligence-artificielle': ['🤖', '🧠'], 'javascript-et-typescript': ['🟨', '⚡'], 'laravel-10': ['🔴', '⚙️'] } %} {# Emojis par parent #} {% set parentEmojiMap = { 'sciences': ['🔬', '🧪'], 'langues': ['💬', '🌍'], 'musique': ['🎵', '🎸'], 'soutien-scolaire': ['📚', '✏️'], 'litterature': ['📖', '🖋️'], 'arts': ['🎨', '🖼️'], 'sports': ['🏅', '⚡'], 'sciences-humaines': ['🏛️', '🌍'], 'informatique': ['💻', '⚙️'], 'entreprise': ['💼', '📈'] } %} {% set emojis = ['📚', '✨'] %} {% if categorySlug and categoryEmojiMap[categorySlug] is defined %} {% set emojis = categoryEmojiMap[categorySlug] %} {% elseif parentSlug and parentEmojiMap[parentSlug] is defined %} {% set emojis = parentEmojiMap[parentSlug] %} {% endif %}

{{ countProfiles }} Professeurs disponibles pour des {% if category.slug == 'coach-sportif' %}{{ subjectName }}{{ cityLabel }}{% else %}cours particuliers {{ subjectPrefix|raw }}{{ subjectName }}{{ cityLabel }}{% endif %} {{ emojis[0] }} {{ emojis[1] }}

{{ meta_h1|trim|raw }}

{% if premia is defined and premia|length > 0 %} {% for key, item in premia %} {% if item.profile.user.id != 1 or (app.user and app.user.roles[0] == 'ROLE_SUPER_ADMIN') %} {% set profile = item.profile %} {% set user = profile.user %} {% set avatar = profile.avatar %} {% set isAndroid = user.device == 'ANDROID' %} {% set displayName = (profile.firstname and profile.lastname and not isAndroid) ? profile.firstname ~ ' ' ~ profile.lastname|first ~ '.' : profile.lastname ~ ' ' ~ profile.firstname|first ~ '.' %} {% set profileUrl = path('app_profile_user_show', { id: profile.id, slug: 'professeur-' ~ profile.department ~ '-' ~ profile.firstname|myslugify ~ '-' ~ profile.lastname|first|myslugify }) %} {% set adUrl = path('app_profileCategory_show', { profile: profile.id, slug: 'professeur-' ~ profile.department ~ '-' ~ profile.firstname|myslugify ~ '-' ~ profile.lastname|first|myslugify, skill: category.slug, id: item.id }) %} {% include 'App::Category/_teacher_card.html.twig' with { is_premium: true, item: item, category: category, subjectPrefix: subjectPrefix, subjectName: subjectName, location: location, card_variant: 'show' } only %} {#
#} {% endif %} {% endfor %} {% endif %} {% for key, item in profileCategories %} {% include 'App::Category/_teacher_card.html.twig' with { item: item, category: category, subjectPrefix: subjectPrefix, subjectName: subjectName, location: location, card_variant: 'show' } only %} {% else %}

Aucun professeur trouvé

Nous n’avons pas encore de profil disponible pour {{ subjectName }}{{ cityLabel }}.

{% endfor %}
{% if location.city and location.slug == 'en-ligne' %} Voir plus de profs {% else %} Voir plus de profs {% endif %}
{% if category.content %}
À propos

En savoir plus sur les {% if category.slug == 'coach-sportif' %}{{ subjectName }}{{ cityLabel }}{% else %}cours particuliers {{ subjectPrefix|raw }}{{ subjectName }}{{ cityLabel }}{% endif %}

{% autoescape %}{{ category.content|raw|nl2br }}{% endautoescape %}
{% endif %} {% set selectedDepartment = app.request.query.get('department') %} {% set districtConfig = null %} {% if location.slug == 'paris' or selectedDepartment starts with '75' %} {% set districtConfig = { city: 'Paris', title: 'par arrondissements', districts: [ { label: 'Paris 1er - Louvre', code: '75001' }, { label: 'Paris 2e - Bourse', code: '75002' }, { label: 'Paris 3e - Temple', code: '75003' }, { label: 'Paris 4e - Hôtel-de-Ville', code: '75004' }, { label: 'Paris 5e - Panthéon', code: '75005' }, { label: 'Paris 6e - Luxembourg', code: '75006' }, { label: 'Paris 7e - Palais-Bourbon', code: '75007' }, { label: 'Paris 8e - Élysée', code: '75008' }, { label: 'Paris 9e - Opéra', code: '75009' }, { label: 'Paris 10e - Entrepôt', code: '75010' }, { label: 'Paris 11e - Popincourt', code: '75011' }, { label: 'Paris 12e - Reuilly', code: '75012' }, { label: 'Paris 13e - Gobelins', code: '75013' }, { label: 'Paris 14e - Observatoire', code: '75014' }, { label: 'Paris 15e - Vaugirard', code: '75015' }, { label: 'Paris 16e - Passy', code: '75016' }, { label: 'Paris 17e - Batignolles-Monceau', code: '75017' }, { label: 'Paris 18e - Buttes-Montmartre', code: '75018' }, { label: 'Paris 19e - Buttes-Chaumont', code: '75019' }, { label: 'Paris 20e - Ménilmontant', code: '75020' } ] } %} {% elseif location.slug == '69-rhone' or selectedDepartment starts with '69' %} {% set districtConfig = { city: 'Lyon', title: 'par arrondissements', districts: [ { label: 'Lyon 1er', code: '69001' }, { label: 'Lyon 2e', code: '69002' }, { label: 'Lyon 3e', code: '69003' }, { label: 'Lyon 4e', code: '69004' }, { label: 'Lyon 5e', code: '69005' }, { label: 'Lyon 6e', code: '69006' }, { label: 'Lyon 7e', code: '69007' }, { label: 'Lyon 8e', code: '69008' }, { label: 'Lyon 9e', code: '69009' } ] } %} {% elseif location.slug == '13-bouches-du-rhone' or selectedDepartment starts with '13' %} {% set districtConfig = { city: 'Marseille', title: 'par arrondissements', districts: [ { label: 'Marseille 1er', code: '13001' }, { label: 'Marseille 2e', code: '13002' }, { label: 'Marseille 3e', code: '13003' }, { label: 'Marseille 4e', code: '13004' }, { label: 'Marseille 5e', code: '13005' }, { label: 'Marseille 6e', code: '13006' }, { label: 'Marseille 7e', code: '13007' }, { label: 'Marseille 8e', code: '13008' }, { label: 'Marseille 9e', code: '13009' }, { label: 'Marseille 10e', code: '13010' }, { label: 'Marseille 11e', code: '13011' }, { label: 'Marseille 12e', code: '13012' }, { label: 'Marseille 13e', code: '13013' }, { label: 'Marseille 14e', code: '13014' }, { label: 'Marseille 15e', code: '13015' }, { label: 'Marseille 16e', code: '13016' } ] } %} {% endif %} {% if districtConfig %}
{{ districtConfig.city }}

{{ listingType|capitalize }} {{ subjectPrefix }}{{ subjectName }} {{ districtConfig.title }}

{% for district in districtConfig.districts %} {% endfor %}
{% endif %} {% if category.slug == 'maths' and location.zipcode in ['75','95','94','93','92','91','78','77'] and locations is defined and locations|length > 0 %}
Île-de-France

Cours particuliers de maths dans les villes proches

Retrouvez aussi les pages locales les plus consultées en Île-de-France.

{% endif %}
FAQ

Questions fréquentes

{% for row in priceFaqRows %} {% endfor %}
Niveau Tarif indicatif
{{ row.label }} {{ row.price }}
{% for item in faq %}

{% if loop.index == 1 %}

{{ item.a }}

{% elseif loop.index == 3 %}

{{ item.a }}

Comment donner des {{ listingType }} {{ subjectPrefix }}{{ subjectName }}{{ cityLabel }}

{% elseif loop.index == 4 %}

{{ item.a }}

Rechercher des {{ listingType }} {{ subjectPrefix }}{{ subjectName }}{{ cityLabel }}

{% else %} {{ item.a }} {% endif %}
{% endfor %}
{% endblock %} {% block javascripts %} {% endblock %}