ADVERTISEMENT

AFP, French military hold maritime drills in Mindanao to enhance readiness

Published Nov 29, 2025 01:31 pm
BRP Artemio Ricarte (PS-37) and a French frigate execute a close maneuver during coordinated naval drills in the southern portion of Eastern Mindanao's waters from Nov. 27 to 28, 2025. (Photo: Armed Forces of the Philippines)
BRP Artemio Ricarte (PS-37) and a French frigate execute a close maneuver during coordinated naval drills in the southern portion of Eastern Mindanao's waters from Nov. 27 to 28, 2025. (Photo: Armed Forces of the Philippines)
Days after completing a bilateral maritime cooperative activity (MCA) with India in the West Philippine Sea (WPS), the Armed Forces of the Philippines (AFP) held another similar drill with the French Armed Forces in the southern portion of Eastern Mindanao this week to strengthen operational readiness in one of the country’s most strategic sea lanes.
Unlike previous engagements which were largely focused on surface maneuvers, the exercise held from Nov. 27 to 28 placed greater emphasis on combined air-to-sea operations, according to AFP public affairs office chief Col. Xerxes Trinidad.
“The joint activity is expected to further bolster mutual trust, operational familiarity, and maritime cooperation between the two countries as they continue working together for regional stability,” Trinidad said on Saturday, Nov. 29. 
AFP naval and air platforms such as the Jacinto-class corvette BRP Artemio Ricarte (PS-37), a C-208B surveillance aircraft, a Black Hawk helicopter, and three FA-50 fighter jets conducted integrated drills with a French frigate and its onboard helicopter.
The exercise covered Division Tactical Maneuvers, Officer-of-the-Watch drills, and a Replenishment-at-Sea Approach which are drills designed to test command decisions, formation changes, and sustainability of operations under realistic conditions.
The AFP noted that the exercises were structured to mirror potential scenarios in which swift coordination between air and naval assets is crucial.
The drills were conducted in the waters stretching from south of Balut Island in Sarangani to the coastal areas off Davao Oriental.
The southern portion of Eastern Mindanao is considered a strategic maritime area as it opens directly to the Philippine Sea and the Pacific Ocean, serving as the country’s eastern maritime shield.
The coordinated deployment marked one of the most extensive cross-domain rehearsals between the two countries to date, Trinidad emphasized.
The AFP said the expanded scope of the MCA directly supports efforts to enhance maritime domain awareness and tighten interoperability with long-standing security partners.
Manila and Paris are negotiating a status of visiting forces agreement (SOVFA), a military pact that would govern the temporary presence and operations of both their militaries on each other’s soil.
President Marcos Jr. approved the negotiations for the VFA in March of this year, and the second round of talks are expected to begin this December.
The French Armed Forces underscored that continued engagement with regional allies, such as the AFP, strengthens its commitment to a stable and rules-based Indo-Pacific.
Last Oct. 26, the AFP held its second bilateral MCA with the Indian Armed Forces in the WPS.
Read: AFP, India boost naval ties with second maritime exercise in West Philippine Sea

Related Tags

AFP French Armed Forces France MCA Eastern Mindanao
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.