ory->update_indexables_author_to_reassigned( $limit ); }, 'clean_orphaned_user_indexables_without_wp_user' => function ( $limit ) { return $this->cleanup_repository->clean_indexables_for_orphaned_users( $limit ); }, 'clean_orphaned_user_indexables_without_wp_post' => function ( $limit ) { return $this->cleanup_repository->clean_indexables_for_object_type_and_source_table( 'posts', 'ID', 'post', $limit ); }, 'clean_orphaned_user_indexables_without_wp_term' => function ( $limit ) { return $this->cleanup_repository->clean_indexables_for_object_type_and_source_table( 'terms', 'term_id', 'term', $limit ); }, ], $this->get_additional_indexable_cleanups(), [ /* These should always be the last ones to be called. */ 'clean_orphaned_content_indexable_hierarchy' => function ( $limit ) { return $this->cleanup_repository->cleanup_orphaned_from_table( 'Indexable_Hierarchy', 'indexable_id', $limit ); }, 'clean_orphaned_content_seo_links_indexable_id' => function ( $limit ) { return $this->cleanup_repository->cleanup_orphaned_from_table( 'SEO_Links', 'indexable_id', $limit ); }, 'clean_orphaned_content_seo_links_target_indexable_id' => function ( $limit ) { return $this->cleanup_repository->cleanup_orphaned_from_table( 'SEO_Links', 'target_indexable_id', $limit ); }, ], $this->get_additional_misc_cleanups() ); } /** * Gets additional tasks from the 'wpseo_cleanup_tasks' filter. * * @return Closure[] Associative array of indexable cleanup functions. */ private function get_additional_indexable_cleanups() { /** * Filter: Adds the possibility to add additional indexable cleanup functions. * * @param array $additional_tasks Associative array with unique keys. Value should be a cleanup function that receives a limit. */ $additional_tasks = \apply_filters( 'wpseo_cleanup_tasks', [] ); return $this->validate_additional_tasks( $additional_tasks ); } /** * Gets additional tasks from the 'wpseo_misc_cleanup_tasks' filter. * * @return Closure[] Associative array of indexable cleanup functions. */ private function get_additional_misc_cleanups() { /** * Filter: Adds the possibility to add additional non-indexable cleanup functions. * * @param array $additional_tasks Associative array with unique keys. Value should be a cleanup function that receives a limit. */ $additional_tasks = \apply_filters( 'wpseo_misc_cleanup_tasks', [] ); return $this->validate_additional_tasks( $additional_tasks ); } /** * Validates the additional tasks. * * @param Closure[] $additional_tasks The additional tasks to validate. * * @return Closure[] The validated additional tasks. */ private function validate_additional_tasks( $additional_tasks ) { if ( ! \is_array( $additional_tasks ) ) { return []; } foreach ( $additional_tasks as $key => $value ) { if ( \is_int( $key ) ) { return []; } if ( ( ! \is_object( $value ) ) || ! ( $value instanceof Closure ) ) { return []; } } return $additional_tasks; } /** * Gets the deletion limit for cleanups. * * @return int The limit for the amount of entities to be cleaned. */ private function get_limit() { /** * Filter: Adds the possibility to limit the number of items that are deleted from the database on cleanup. * * @param int $limit Maximum number of indexables to be cleaned up per query. */ $limit = \apply_filters( 'wpseo_cron_query_limit_size', 1000 ); if ( ! \is_int( $limit ) ) { $limit = 1000; } return \abs( $limit ); } /** * Resets and stops the cleanup integration. * * @return void */ public function reset_cleanup() { \delete_option( self::CURRENT_TASK_OPTION ); \wp_unschedule_hook( self::CRON_HOOK ); } /** * Starts the cleanup cron job. * * @param string $task_name The task name of the next cleanup task to run. * @param int $schedule_time The time in seconds to wait before running the first cron job. Default is 1 hour. * * @return void */ public function start_cron_job( $task_name, $schedule_time = 3600 ) { \update_option( self::CURRENT_TASK_OPTION, $task_name ); \wp_schedule_event( ( \time() + $schedule_time ), 'hourly', self::CRON_HOOK ); } /** * The callback that is called for the cleanup cron job. * * @return void */ public function run_cleanup_cron() { if ( ! $this->indexable_helper->should_index_indexables() ) { $this->reset_cleanup(); return; } $current_task_name = \get_option( self::CURRENT_TASK_OPTION ); if ( $current_task_name === false ) { $this->reset_cleanup(); return; } $limit = $this->get_limit(); $tasks = $this->get_cleanup_tasks(); // The task may have been added by a filter that has been removed, in that case just start over. if ( ! isset( $tasks[ $current_task_name ] ) ) { $current_task_name = \key( $tasks ); } $current_task = \current( $tasks ); while ( $current_task !== false ) { // Skip the tasks that have already been done. if ( \key( $tasks ) !== $current_task_name ) { $current_task = \next( $tasks ); continue; } // Call the cleanup callback function that accompanies the current task. $items_cleaned = $current_task( $limit ); if ( $items_cleaned === false ) { $this->reset_cleanup(); return; } if ( $items_cleaned === 0 ) { // Check if we are finished with all tasks. if ( \next( $tasks ) === false ) { $this->reset_cleanup(); return; } // Continue with the next task next time the cron job is run. \update_option( self::CURRENT_TASK_OPTION, \key( $tasks ) ); return; } // There were items deleted for the current task, continue with the same task next cron call. return; } } }
Warning: Cannot modify header information - headers already sent by (output started at /htdocs/wp-content/plugins/wordpress-seo/src/integrations/cleanup-integration.php:1) in /htdocs/wp-content/plugins/post-views-counter/includes/class-counter.php on line 904
Histoire générale de l’Afrique Tome 5 - Réseau Scolaire

Histoire générale de l’Afrique Tome 5

2 Min Read

L’Afrique du XVIe au XVIIIe siècle

Le volume V couvre l’histoire de l’Afrique du début du XVIe siècle à la fin du XVIIIe siècle.

Deux grands thèmes se dégagent : la poursuite du développement interne des États et des cultures de l’Afrique au cours de cette période, et la participation croissante de l’Afrique au commerce international – avec des conséquences majeures, mais alors imprévisibles pour le reste du monde.

En Afrique du Nord, nous voyons les Ottomans conquérir l’Égypte et établir des régences à Tripoli, Tunis et Alger. Au sud du Sahara, l’effondrement de certaines puissances plus anciennes (Empire songhay, royaumes de l’ouest du Soudan, Éthiopie chrétienne) coïncide avec l’émergence de nouvelles bases de pouvoir (royaumes Ashanti, Dahomey, Sakalava). Des structures politiques et administratives très centralisées se mettent en place, entraînant l’apparition de classes sociales distinctes, et présentant souvent un caractère féodal prononcé. Les religions traditionnelles continuent à coexister avec le christianisme (plutôt en recul) et l’islam (en plein essor).

Le long de la côte, en particulier en Afrique de l’Ouest, les Européens tissent un réseau commercial qui, avec le développement de l’agriculture de plantation du Nouveau Monde, va devenir le centre de la traite négrière internationale. Les conséquences immédiates de ce commerce pour l’Afrique sont analysées, avec notamment l’idée que la traite portait en germe l’actuelle mondialisation de l’économie, avec toutes les inégalités qu’elle comporte.

 

Télécharger le document

Share This Article
Follow:
2022 - 2023 : Attestion de formation en Paludologie à l’hôtel Hobbé de Kolda du 11 au 16 décembre 2023 par le Programme National de Lutte contre le Paludisme. 2022 - 2023 : Certificat en Commerce Digital à l’Université numérique Cheikh Hamidou KANE (ex UVS) en collaboration avec la Fondation MasterCard. 2021 - 2022 : Certificat en écriture de Série / Scénariste à la Maison de la Culture Douta Seck de Dakar. 2019 - 2020 : Diplômé Assistant Infirmier d’Etat au centre régional de Formation en santé de Kolda du Ministère de la Santé et de l’Action Sociale. 2021 - 2022 : Certificat sur les mécanismes de financement, l'Éducation financière, l’élaboration d’un Business Plan et la préparation au Pitch du Programme INVEST IN AFRICA de la Fondation Mastercard. 2021 - 2022 : Attestation en Entreprenariat Privé à la Direction des Petites et Moyennes Entreprises. 2016 - 2017 : Licence 1 Biologie Chimie et Géosciences à l’Université Cheikh Anta Diop de Dakar. 2014 - 2015 : Baccalauréat S2 au Lycée Bouna Kane de Kolda. ________________________________________ 2021-2022 : Formation en Education Financière au Cabinet The Uptribe – Buntu Yokkuté –Giz. 2021-2022 : Formation sur les bases de l’infographie/Illustrator au Centre Consortium Jeunesse Sénégal de Dakar. 2020-2021 : Formation sur la Prise en charge du Paludisme de l’enfant et de la femme enceinte au Centre de Santé de Vélingara /Région Médicale de Kolda.
Quitter la version mobile