{"id":1855,"date":"2025-11-12T23:15:25","date_gmt":"2025-11-12T22:15:25","guid":{"rendered":"https:\/\/atti.tn\/?page_id=1855"},"modified":"2025-11-12T23:17:02","modified_gmt":"2025-11-12T22:17:02","slug":"install-ros-2-jazzy-on-ubuntu-24-04","status":"publish","type":"page","link":"https:\/\/atti.tn\/index.php\/install-ros-2-jazzy-on-ubuntu-24-04\/","title":{"rendered":"Install ROS 2 Jazzy on Ubuntu 24.04"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Formation ROS 2 &#8211; Syst\u00e8me d&#8217;Exploitation Robotique<\/title>\n    <style>\n        \/* Styles g\u00e9n\u00e9raux *\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n        }\n        \n        body {\n            background-color: #f5f7fa;\n            color: #333;\n            line-height: 1.6;\n        }\n        \n        .container {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 0 20px;\n        }\n        \n        \/* En-t\u00eate *\/\n        header {\n            background: linear-gradient(135deg, #1a2a6c, #b21f1f, #fdbb2d);\n            color: white;\n            padding: 20px 0;\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n        }\n        \n        .header-content {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            flex-wrap: wrap;\n        }\n        \n        .logo-section {\n            display: flex;\n            align-items: center;\n        }\n        \n        .logo {\n            height: 80px;\n            margin-right: 20px;\n        }\n        \n        .title-section h1 {\n            font-size: 2.2rem;\n            margin-bottom: 5px;\n        }\n        \n        .title-section p {\n            font-size: 1.1rem;\n            opacity: 0.9;\n        }\n        \n        \/* Section principale *\/\n        .hero {\n            background: url('https:\/\/images.unsplash.com\/photo-1485827404703-89b55fcc595e?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80') no-repeat center center\/cover;\n            height: 500px;\n            display: flex;\n            align-items: center;\n            position: relative;\n        }\n        \n        .hero::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: rgba(0, 0, 0, 0.5);\n        }\n        \n        .hero-content {\n            position: relative;\n            color: white;\n            max-width: 600px;\n            padding: 30px;\n            background: rgba(0, 0, 0, 0.6);\n            border-radius: 10px;\n        }\n        \n        .hero-content h2 {\n            font-size: 2.5rem;\n            margin-bottom: 20px;\n        }\n        \n        .hero-content p {\n            font-size: 1.2rem;\n            margin-bottom: 25px;\n        }\n        \n        .btn {\n            display: inline-block;\n            background: #fdbb2d;\n            color: #333;\n            padding: 12px 30px;\n            border-radius: 5px;\n            text-decoration: none;\n            font-weight: bold;\n            transition: all 0.3s ease;\n        }\n        \n        .btn:hover {\n            background: #ffa500;\n            transform: translateY(-3px);\n            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);\n        }\n        \n        \/* Sections de contenu *\/\n        .section {\n            padding: 60px 0;\n        }\n        \n        .section-title {\n            text-align: center;\n            margin-bottom: 40px;\n            font-size: 2rem;\n            color: #1a2a6c; \n        }\n        \n        .section-content {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 30px;\n        }\n        \n        .card {\n            background: white;\n            border-radius: 10px;\n            padding: 25px;\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\n            flex: 1;\n            min-width: 300px;\n        }\n        \n        .card h3 {\n            color: #1a2a6c;\n            margin-bottom: 15px;\n            font-size: 1.5rem;\n        }\n        \n        \/* Section formateur *\/\n        .trainer-section {\n            background: #1a2a6c;\n            color: white;\n        }\n        \n        .trainer-content {\n            display: flex;\n            align-items: center;\n            gap: 30px;\n            flex-wrap: wrap;\n        }\n        \n        .trainer-photo {\n            width: 200px;\n            height: 200px;\n            border-radius: 50%;\n            object-fit: cover;\n            border: 5px solid #fdbb2d;\n        }\n        \n        .trainer-info {\n            flex: 1;\n            min-width: 300px;\n        }\n        \n        \/* Section programme *\/\n        .programme-list {\n            list-style-type: none;\n        }\n        \n        .programme-list li {\n            padding: 10px 0;\n            border-bottom: 1px solid #eee;\n        }\n        \n        .programme-list li:last-child {\n            border-bottom: none;\n        }\n        \n        .day-section {\n            margin-bottom: 30px;\n        }\n        \n        .day-title {\n            color: #b21f1f;\n            margin-bottom: 15px;\n            padding-bottom: 10px;\n            border-bottom: 2px solid #fdbb2d;\n        }\n        \n        \/* Section inscription *\/\n        .inscription-details {\n            background: #f8f9fa;\n            padding: 30px;\n            border-radius: 10px;\n            margin-top: 20px;\n        }\n        \n        .price {\n            font-size: 2.5rem;\n            color: #1a2a6c;\n            font-weight: bold;\n            margin: 20px 0;\n            text-align: center;\n        }\n        \n        .payment-methods {\n            margin-top: 20px;\n        }\n        \n        .payment-methods ul {\n            list-style-type: none;\n            margin-top: 10px;\n        }\n        \n        .payment-methods li {\n            padding: 5px 0;\n        }\n        \n        \/* Section pr\u00e9requis *\/\n        .prerequisites-list {\n            list-style-type: none;\n        }\n        \n        .prerequisites-list li {\n            padding: 8px 0;\n            position: relative;\n            padding-left: 25px;\n        }\n        \n        .prerequisites-list li:before {\n            content: '\u2713';\n            position: absolute;\n            left: 0;\n            color: #1a2a6c;\n            font-weight: bold;\n        }\n        \n        \/* Options de formation *\/\n        .options-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n            gap: 20px;\n            margin-top: 30px;\n        }\n        \n        .option-card {\n            background: white;\n            border-radius: 10px;\n            padding: 25px;\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\n        }\n        \n        .option-card h3 {\n            color: #1a2a6c;\n            margin-bottom: 15px;\n            font-size: 1.3rem;\n        }\n        \n        \/* Installation guide *\/\n        .installation-guide {\n            background: #f0f8ff;\n            border-left: 4px solid #1a2a6c;\n            padding: 20px;\n            margin: 20px 0;\n        }\n        \n        .installation-steps {\n            margin-top: 15px;\n        }\n        \n        .step {\n            margin-bottom: 15px;\n            padding-left: 20px;\n        }\n        \n        .step-number {\n            background: #1a2a6c;\n            color: white;\n            border-radius: 50%;\n            width: 25px;\n            height: 25px;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            margin-right: 10px;\n            font-size: 0.8rem;\n        }\n        \n        \/* Styles pour la section inscription *\/\n        .discount-note {\n            font-size: 0.9rem;\n            color: #b21f1f;\n            font-style: italic;\n            display: block;\n            margin-top: 5px;\n        }\n        \n        .price-description {\n            text-align: center;\n            font-size: 1.1rem;\n            color: #666;\n            margin-bottom: 20px;\n        }\n        \n        .registration-cta {\n            background: #f8f9fa;\n            padding: 20px;\n            border-radius: 8px;\n            margin-top: 20px;\n            text-align: center;\n        }\n        \n        .registration-cta p {\n            margin-bottom: 15px;\n            color: #333;\n        }\n        \n        \/* Pied de page *\/\n        footer {\n            background: #1a2a6c;<!--#1a2a6c \/\/ #9AD9EA-->\n            color: white;\n            padding: 40px 0;\n            text-align: center;\n        }\n        \n        .footer-content {\n            display: flex;\n            justify-content: space-between;\n            flex-wrap: wrap;\n            gap: 30px;\n        }\n        \n        .footer-section {\n            flex: 1;\n            min-width: 250px;\n\t\t\tcolor: white;\n        }\n        \n        .footer-section h3 {\n            margin-bottom: 20px;\n            font-size: 1.3rem;\n        }\n        \n        .social-links {\n            display: flex;\n            justify-content: center;\n            gap: 15px;\n            margin-top: 20px;\n        }\n        \n        .social-links a {\n            color: white;\n            font-size: 1.5rem;\n            transition: color 0.3s ease;\n        }\n        \n        .social-links a:hover {\n            color: #fdbb2d;\n        }\n        \n        .copyright {\n            margin-top: 30px;\n            padding-top: 20px;\n            border-top: 1px solid rgba(255, 255, 255, 0.1);\n\t\t\tcolor: white;\n        }\n        \n        \/* Responsive *\/\n        @media (max-width: 768px) {\n            .header-content {\n                flex-direction: column;\n                text-align: center;\n            }\n            \n            .logo-section {\n                margin-bottom: 20px;\n                justify-content: center;\n            }\n            \n            .hero {\n                height: 400px;\n            }\n            \n            .hero-content h2 {\n                font-size: 2rem;\n            }\n            \n            .trainer-content {\n                flex-direction: column;\n                text-align: center;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <!-- En-t\u00eate -->\n    <header>\n        <div class=\"container\">\n            <div class=\"header-content\">\n                <div class=\"logo-section\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/logo-white-ROS.png\" alt=\"Logo ROS\" class=\"logo\">\n\t\t\t\t\t<!-- <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/logo-ucar-256x100-256x91-removebg-preview.png\" alt=\"Logo de l'association\" class=\"logo\">\n                    <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/LOGO-ISSATM-2024-x600-removebg-preview.png\" alt=\"Logo de l'association\" class=\"logo\">\t\t\t\t\t\n                    <!-- <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/logo-white-ROS.png\" alt=\"Logo ROS\" class=\"logo\"> -->\n\t\t\t\t\t<!-- <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/LOGO-CLUB-ATTI-ISSATM-removebg-preview.png\" alt=\"Logo de l'association\" class=\"logo\"> -->\n                    <!-- <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/03\/LOGO-ATTI-NO-BACKGROUND-ORIGINALE.png\" alt=\"Logo de l'association\" class=\"logo\">  -->\n                <\/div>\n                <div class=\"title-section\">\n                    <h1>Formation ROS 2<\/h1>\n                    <p>Introduction \u00e0 ROS 2 : Concepts th\u00e9oriques et graphe de calcul<\/p>\n\t\t    <h4>Samedi 22 Novembre 2025 \u00e0 l&#8217;ISSAT de Mateur<h4>\n                <\/div>\n\t\t\t\t<div class=\"logo-section\">\n\t\t\t\t\t<!-- <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/logo-white-ROS.png\" alt=\"Logo ROS\" class=\"logo\"> -->\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/logo-ucar-256x100-256x91-removebg-preview.png\" alt=\"Logo de l'association\" class=\"logo\">\n                    <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/LOGO-ISSATM-2024-x600-removebg-preview.png\" alt=\"Logo de l'association\" class=\"logo\">\t\t\t\t\t\n                    <!-- <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/logo-white-ROS.png\" alt=\"Logo ROS\" class=\"logo\"> -->\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/LOGO-CLUB-ATTI-ISSATM-removebg-preview.png\" alt=\"Logo de l'association\" class=\"logo\">\n                    <img decoding=\"async\" src=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/03\/LOGO-ATTI-NO-BACKGROUND-ORIGINALE.png\" alt=\"Logo de l'association\" class=\"logo\">\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/header>\n\n<!-- Section installation -->\n    <section class=\"section\" id=\"installation\">\n        <div class=\"container\">\n            <h2 class=\"section-title\">Guide d&#8217;installation ROS 2 Jazzy<\/h2>\n            <div class=\"card\">\n                <h3>Pr\u00e9paration de l&#8217;environnement<\/h3>\n                \n                <div class=\"installation-guide\">\n                    <h4>Option 1 : Linux Natif (Recommand\u00e9)<\/h4>\n                    <p>Ubuntu 24.04 LTS pour une compatibilit\u00e9 et performance optimales.<\/p>\n                <\/div>\n                \n                <div class=\"installation-guide\">\n                    <h4>Option 2 : WSL sur Windows<\/h4>\n                    <p>Pour les utilisateurs Windows, ex\u00e9cutez en tant qu&#8217;administrateur :<\/p>\n                    <div class=\"installation-steps\">\n                        <div class=\"step\">\n                            <span class=\"step-number\">1<\/span>\n                            <code>wsl --install<\/code>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <h3 style=\"margin-top: 30px;\">Installation de ROS 2 Jazzy<\/h3>\n                \n                <div class=\"installation-steps\">\n                    <div class=\"step\">\n                        <span class=\"step-number\">1<\/span>\n                        Configuration des locales :\n                        <code>sudo apt update && sudo apt install locales<\/code>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">2<\/span>\n                        G\u00e9n\u00e9ration des locales :\n                        <code>sudo locale-gen en_US en_US.UTF-8<\/code><br>\n                        <code>sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8<\/code><br>\n                        <code>export LANG=en_US.UTF-8<\/code>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">3<\/span>\n                        Activation des repositories :\n                        <code>sudo apt install software-properties-common<\/code><br>\n                        <code>sudo add-apt-repository universe<\/code>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">4<\/span>\n                        Ajout de la cl\u00e9 ROS 2 :\n                        <code>sudo apt update && sudo apt install curl -y<\/code><br>\n                        <code>sudo curl -sSL https:\/\/raw.githubusercontent.com\/ros\/rosdistro\/master\/ros.key -o \/usr\/share\/keyrings\/ros-archive-keyring.gpg<\/code>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">5<\/span>\n                        Ajout du repository ROS 2 :\n                        <code>echo \"deb [arch=$(dpkg --print-architecture) signed-by=\/usr\/share\/keyrings\/ros-archive-keyring.gpg] http:\/\/packages.ros.org\/ros2\/ubuntu $(. \/etc\/os-release && echo $UBUNTU_CODENAME) main\" | sudo tee \/etc\/apt\/sources.list.d\/ros2.list > \/dev\/null<\/code>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">6<\/span>\n                        Installation de ROS 2 :\n                        <code>sudo apt update && sudo apt install ros-dev-tools<\/code><br>\n                        <code>sudo apt upgrade -y<\/code><br>\n                        <code>sudo apt install ros-jazzy-desktop<\/code>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">7<\/span>\n                        Configuration de l&#8217;environnement :\n                        <code>echo \"source \/opt\/ros\/jazzy\/setup.bash\" >> ~\/.bashrc<\/code><br>\n                        <code>source ~\/.bashrc<\/code>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">8<\/span>\n                        V\u00e9rification de l&#8217;installation :\n                        <code>printenv ROS_DISTRO<\/code> (doit afficher &#8220;jazzy&#8221;)<br>\n                        <code>sudo rosdep init<\/code><br>\n                        <code>rosdep update<\/code>\n                    <\/div>\n                <\/div>\n                \n                <h3 style=\"margin-top: 30px;\">Test de l&#8217;installation<\/h3>\n                <div class=\"installation-steps\">\n                    <div class=\"step\">\n                        <span class=\"step-number\">1<\/span>\n                        Installation de Terminator (optionnel) :\n                        <code>sudo apt-get install terminator -y<\/code>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">2<\/span>\n                        Test avec les d\u00e9mos :\n                        <p>Dans un terminal : <code>ros2 run demo_nodes_cpp talker<\/code><\/p>\n                        <p>Dans un autre terminal : <code>ros2 run demo_nodes_py listener<\/code><\/p>\n                    <\/div>\n                    <div class=\"step\">\n                        <span class=\"step-number\">3<\/span>\n                        Installation de Turtlesim :\n                        <code>sudo apt install ros-jazzy-turtlesim<\/code><br>\n                        <code>ros2 pkg executables turtlesim<\/code>\n                    <\/div>\n                <\/div>\n\t\t\t\t<div class=\"registration-cta\">\n\t\t\t\t\t<p>Le guide d&#8217;installation de ROS2 Jazzy sur Ubuntu 24.04 (English-version) est disponible en t\u00e9l\u00e9chargement en appuyant sur le bouton ci-dessous<\/p>\n\t\t\t\t\t<a href=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/Guide_Jazzy_installation.pdf\" class=\"btn\" style=\"margin-top: 15px; display: block; text-align: center; background: #fdbb2d;\">Guide d&#8217;installation Jazzy (English-version)<\/a>\n\t\t\t\t\t<\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n\t\n\t\n\t    <!-- Pied de page -->\n    <footer>\n        <div class=\"container\">\n            <div class=\"footer-content\">\n                <div class=\"footer-section\">\n                    <h3>Contact<\/h3>\n                    <p>Email: atti.tunisie@gmail.com<\/p>\n                    <p>T\u00e9l\u00e9phone: +216 53 662 984<\/p>\n                    <p>Adresse: 5 Avenue Taha Hussein Montfleury, 1008 Tunis<\/p>\n                <\/div>\n                <div class=\"footer-section\">\n                    <h3>Liens utiles<\/h3>\n                    <p><a href=\"#\" style=\"color: white;\">Site web ROS 2<\/a><\/p>\n                    <p><a href=\"#\" style=\"color: white;\">Documentation officielle<\/a><\/p>\n                    <p><a href=\"https:\/\/atti.tn\/wp-content\/uploads\/2025\/11\/Guide_Jazzy_installation.pdf\" style=\"color: white;\">Guide d&#8217;installation Jazzy<\/a><\/p>\n                <\/div>\n                <div class=\"footer-section\">\n                    <h3>Suivez-nous<\/h3>\n                    <div class=\"social-links\">\n                        <a href=\"https:\/\/www.facebook.com\/p\/ATTI-61553673480060\/\">FB<\/a> <!-- style=\"color: black;\" -->\n                        <a href=\"https:\/\/www.linkedin.com\/company\/association-atti\/\">LI<\/a> <!-- style=\"color: black;\" -->\n                        <a href=\"https:\/\/www.youtube.com\/@ATTITunisie\">YT<\/a> <!-- style=\"color: black;\" -->\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"copyright\">\n                <p>&copy; 2025 Association Tunisienne des Techniques Intelligentes &#8211; Tous droits r\u00e9serv\u00e9s<\/p>\n            <\/div>\n        <\/div>\n    <\/footer>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Formation ROS 2 &#8211; Syst\u00e8me d&#8217;Exploitation Robotique Formation ROS 2 Introduction \u00e0 ROS 2 : Concepts th\u00e9oriques et graphe de calcul Samedi 22 Novembre 2025 \u00e0 l&#8217;ISSAT de Mateur Guide d&#8217;installation ROS 2 Jazzy Pr\u00e9paration de l&#8217;environnement Option 1 : Linux Natif (Recommand\u00e9) Ubuntu 24.04 LTS pour une compatibilit\u00e9 et performance optimales. Option 2 : [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"blank","meta":{"footnotes":""},"class_list":["post-1855","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/atti.tn\/index.php\/wp-json\/wp\/v2\/pages\/1855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atti.tn\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/atti.tn\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/atti.tn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atti.tn\/index.php\/wp-json\/wp\/v2\/comments?post=1855"}],"version-history":[{"count":1,"href":"https:\/\/atti.tn\/index.php\/wp-json\/wp\/v2\/pages\/1855\/revisions"}],"predecessor-version":[{"id":1856,"href":"https:\/\/atti.tn\/index.php\/wp-json\/wp\/v2\/pages\/1855\/revisions\/1856"}],"wp:attachment":[{"href":"https:\/\/atti.tn\/index.php\/wp-json\/wp\/v2\/media?parent=1855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}