= ( $attributes['minutes'] ?? 0 ); $elements = $this->transform_duration_to_string( $days, $hours, $minutes ); $elements_length = \count( $elements ); switch ( $elements_length ) { case 1: return $elements[0]; case 2: return \sprintf( /* translators: %s expands to a unit of time (e.g. 1 day). */ \__( '%1$s and %2$s', 'wordpress-seo' ), ...$elements ); case 3: return \sprintf( /* translators: %s expands to a unit of time (e.g. 1 day). */ \__( '%1$s, %2$s and %3$s', 'wordpress-seo' ), ...$elements ); default: return ''; } } /** * Presents the duration text of the How-To block in the site language. * * @param array $attributes The attributes. * @param string $content The content. * * @return string The content with the duration text in the site language. */ public function present_duration_text( $attributes, $content ) { $duration = $this->build_duration_string( $attributes ); // 'Time needed:' is the default duration text that will be shown if a user doesn't add one. $duration_text = \__( 'Time needed:', 'wordpress-seo' ); if ( isset( $attributes['durationText'] ) && $attributes['durationText'] !== '' ) { $duration_text = $attributes['durationText']; } return \preg_replace( '/(

)(.*<\/span>)(.[^\/p>]*)(<\/p>)/', '

' . $duration_text . ' ' . $duration . '

', $content, 1 ); } /** * Optimizes images in the How-To blocks. * * @param array $attributes The attributes. * @param string $content The content. * * @return string The content with images optimized. */ public function optimize_how_to_images( $attributes, $content ) { if ( ! isset( $attributes['steps'] ) ) { return $content; } $content = $this->present_duration_text( $attributes, $content ); return $this->optimize_images( $attributes['steps'], 'text', $content ); } /** * Optimizes images in structured data blocks. * * @param array $elements The list of elements from the block attributes. * @param string $key The key in the data to iterate over. * @param string $content The content. * * @return string The content with images optimized. */ private function optimize_images( $elements, $key, $content ) { global $post; if ( ! $post ) { return $content; } $this->add_images_from_attributes_to_used_cache( $post->ID, $elements, $key ); // Then replace all images with optimized versions in the content. $content = \preg_replace_callback( '/]+>/', function ( $matches ) { \preg_match( '/src="([^"]+)"/', $matches[0], $src_matches ); if ( ! $src_matches || ! isset( $src_matches[1] ) ) { return $matches[0]; } $attachment_id = $this->attachment_src_to_id( $src_matches[1] ); if ( $attachment_id === 0 ) { return $matches[0]; } $image_size = 'full'; $image_style = [ 'style' => 'max-width: 100%; height: auto;' ]; \preg_match( '/style="[^"]*width:\s*(\d+)px[^"]*"/', $matches[0], $style_matches ); if ( $style_matches && isset( $style_matches[1] ) ) { $width = (int) $style_matches[1]; $meta_data = \wp_get_attachment_metadata( $attachment_id ); if ( isset( $meta_data['height'] ) && isset( $meta_data['width'] ) && $meta_data['height'] > 0 && $meta_data['width'] > 0 ) { $aspect_ratio = ( $meta_data['height'] / $meta_data['width'] ); $height = ( $width * $aspect_ratio ); $image_size = [ $width, $height ]; } $image_style = ''; } /** * Filter: 'wpseo_structured_data_blocks_image_size' - Allows adjusting the image size in structured data blocks. * * @since 18.2 * * @param string|int[] $image_size The image size. Accepts any registered image size name, or an array of width and height values in pixels (in that order). * @param int $attachment_id The id of the attachment. * @param string $attachment_src The attachment src. */ $image_size = \apply_filters( 'wpseo_structured_data_blocks_image_size', $image_size, $attachment_id, $src_matches[1] ); $image_html = \wp_get_attachment_image( $attachment_id, $image_size, false, $image_style ); if ( empty( $image_html ) ) { return $matches[0]; } return $image_html; }, $content ); if ( ! $this->registered_shutdown_function ) { \register_shutdown_function( [ $this, 'maybe_save_used_caches' ] ); $this->registered_shutdown_function = true; } return $content; } /** * If the caches of structured data block images have been changed, saves them. * * @return void */ public function maybe_save_used_caches() { foreach ( $this->used_caches as $post_id => $used_cache ) { if ( isset( $this->caches[ $post_id ] ) && $used_cache === $this->caches[ $post_id ] ) { continue; } \update_post_meta( $post_id, 'yoast-structured-data-blocks-images-cache', $used_cache ); } } /** * Converts an attachment src to an attachment ID. * * @param string $src The attachment src. * * @return int The attachment ID. 0 if none was found. */ private function attachment_src_to_id( $src ) { global $post; if ( isset( $this->used_caches[ $post->ID ][ $src ] ) ) { return $this->used_caches[ $post->ID ][ $src ]; } $cache = $this->get_cache_for_post( $post->ID ); if ( isset( $cache[ $src ] ) ) { $this->used_caches[ $post->ID ][ $src ] = $cache[ $src ]; return $cache[ $src ]; } $this->used_caches[ $post->ID ][ $src ] = $this->image_helper->get_attachment_by_url( $src ); return $this->used_caches[ $post->ID ][ $src ]; } /** * Returns the cache from postmeta for a given post. * * @param int $post_id The post ID. * * @return array The images cache. */ private function get_cache_for_post( $post_id ) { if ( isset( $this->caches[ $post_id ] ) ) { return $this->caches[ $post_id ]; } $cache = \get_post_meta( $post_id, 'yoast-structured-data-blocks-images-cache', true ); if ( ! $cache ) { $cache = []; } $this->caches[ $post_id ] = $cache; return $cache; } /** * Adds any images that have their ID in the block attributes to the cache. * * @param int $post_id The post ID. * @param array $elements The elements. * @param string $key The key in the elements we should loop over. * * @return void */ private function add_images_from_attributes_to_used_cache( $post_id, $elements, $key ) { // First grab all image IDs from the attributes. $images = []; foreach ( $elements as $element ) { if ( ! isset( $element[ $key ] ) ) { continue; } if ( isset( $element[ $key ] ) && \is_array( $element[ $key ] ) ) { foreach ( $element[ $key ] as $part ) { if ( ! \is_array( $part ) || ! isset( $part['type'] ) || $part['type'] !== 'img' ) { continue; } if ( ! isset( $part['key'] ) || ! isset( $part['props']['src'] ) ) { continue; } $images[ $part['props']['src'] ] = (int) $part['key']; } } } if ( isset( $this->used_caches[ $post_id ] ) ) { $this->used_caches[ $post_id ] = \array_merge( $this->used_caches[ $post_id ], $images ); } else { $this->used_caches[ $post_id ] = $images; } } /* DEPRECATED METHODS */ /** * Enqueue Gutenberg block assets for backend editor. * * @deprecated 22.7 * @codeCoverageIgnore * * @return void */ public function enqueue_block_editor_assets() { \_deprecated_function( __METHOD__, 'Yoast SEO 22.7' ); } } Séance d'aérobic au MCAT: la ministre Élise Foniyama ILBOUDO /THOMBIANO juge l'initiative capitale afin de continuer à travailler sainement - Infos Culture du Faso
jeu 21 novembre 2024

Suivez-nous sur les réseaux sociaux

spot_img

Séance d’aérobic au MCAT: la ministre Élise Foniyama ILBOUDO /THOMBIANO juge l’initiative capitale afin de continuer à travailler sainement

Une séance d’aérobic: c’est la raison qui a réuni le personnel du Ministère de la Culture, des Arts et du Tourisme (MCAT), ce mardi 09 février 2021 à Ouagadougou. Une activité sportive à laquelle a pris part Madame la première responsable du département en charge de Culture, Élise Foniyama ILBOUDO/THOMBIANO.

Madame la première responsable du département en charge de Culture, Élise Foniyama ILBOUDO/THOMBIANO en survêtement banc

C’est dans une ambiance chaleureuse et conviviale que les agents du ministère en charge de la Culture, des Arts et du Tourisme, ce sont retrouvés dans la soirée de ce 09 février 2021, dans la grande salle du bâtiment administratif sis à Ouagadougou, abritant ledit ministère pour une séance aérobic. Pour ce faire, la première responsable du MCAT, Élise Foniyama ILBOUDO/THOMBIANO a tenu à marquer de sa présence à cette partie de détentes sportives, et ce, en vue de soutenir l’initiative.

« On a coutume de dire qu’un homme sain, c’est quelqunun qui est saint d’esprit ; c’est quelqu’un qui est sain physiquement et moralement. Pour notre part, nous plaçons cette séance d’aérobic dans le cadre du sport qui maintient l’homme dans la santé ». C’est en ces mots que Madame Élise Foniyama ILBOUDO/THOMBIANO a situé le bien-fondé de cette activité sportive. Pour elle, il faut souvent marquer un temps d’arrêt pour penser à la santé du corps, au regard des efforts de recherches et de travaux physiques tout au long de chaque semaine. Cela est nécessaire pour décompresser, aérer afin de continuer à exercer les tâches assignées à tout un chacun, foi de cette dernière.

À l’en croire, il y’a une jonction entre la culture et le sport. Et ce n’est pas pour rien, selon elle, que les deux ministères de tutelles travaillent souvent ensemble sur des projets. « Je suis très satisfaite de la participation des agents de mon département ministériel. Et je pense que nous allons travailler à inclure celà dans notre programme », a-t-elle signifié.

Madame SANOU née TRAORÉ Hadjiratou, agent du MCAT

Même son de cloche pour madame SANOU née TRAORÉ Hadjiratou, agent du Ministère de la Culture, des Arts et d Tourisme. « C’est vraiment un grand plaisir de partager avec les autres collègues, ces moments de détentes sportives. Nous n’avons pas toujours l’occasion de faire des exercices physiques; aujourd’hui, nous avons de la chance d’en avoir une. De ce fait, nous devons beaucoup profité, en ce sens qu’au delà du facteur sport, ce sont des moments de thérapie et de communion entre agents. Aussi, voir notre première responsable se joindre à l’initiative laisse présager une bonne collaboration. En un mot, c’est très bénéfique pour ma santé », a-t-elle laissé entendre.

 

Boukari OUÉDRAOGO

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Publicité

spot_img

Publicité

spot_img

Publicité

spot_img

Publicité

spot_img

Plus d'articles

Soutien à l’effort de paix : des jeunes burkinabè font un don à l’endroit des VDP

Le Centre National de Formation des Volontaires pour la...

Concert d’Elka 33 au CENASA: le regard est désormais fixé sur Koudougou

Entre prière et ambiance ElKA 33 a réalisé un...

Festival International Pulaaku : les lampions s’éteignent sur la 6e édition

Les portes de la 6e édition du festival international...

Vous ne pouvez pas copier le contenu de cette page