Home / Politics / PQ seeks to reclaim...

PQ seeks to reclaim Chicoutimi seat in by-election as PCQ aims to block it

Left 40% AI estimate Right 10%
Canada
February 21, 2026 (Updated: March 12, 2026) 1 min read 1 source 0 Center Neutral General AI Assisted
PQ seeks to reclaim Chicoutimi seat in by-election as PCQ aims to block it
AI-Generated Content — Learn More

TheWkly Analysis

A by-election is being held in Chicoutimi on Monday. The election is to fill the seat vacated by Andrée Laforest. The Parti Québécois (PQ, a provincial party advocating Quebec sovereignty) wants to reclaim the seat. The Parti conservateur du Québec (PCQ, a conservative provincial party) wants to prevent the PQ from regaining it. The contest highlights tensions between these two parties in the riding.

Multiple perspectives analyzed from 0 sources
What this means for you:
  • Chicoutimi residents gain or lose representation aligned with their sovereignty or conservative views, altering local policy advocacy on jobs and culture.
  • Andrée Laforest's former constituents experience policy shifts based on the winner's party platform in economic development.
  • Quebec voters outside the riding see momentum for PQ or PCQ, influencing their future ballot choices in provincial elections.
Your Wallet
This Quebec by-election is unlikely to shake up your finances right away, but if the pro-independence Parti Québécois picks up steam, it could spark more uncertainty about Quebec splitting from Canada. That might weaken the Canadian dollar and disrupt trade in things like lumber, aluminum, and energy we import, potentially bumping up costs for building homes, buying cars, or even your utility bills. For now, it's business as usual—keep an eye on it if you work in manufacturing or construction jobs tied to Canadian suppliers.

Key Entities

  • Parti Québécois (PQ) Organization

    Quebec provincial political party advocating for sovereignty from Canada.

  • Parti conservateur du Québec (PCQ) Organization

    Quebec provincial conservative party opposing PQ's separatist agenda.

  • Chicoutimi Place

    Riding in Quebec's Saguenay region holding the by-election.

  • Andrée Laforest Person

    Former PQ member whose vacancy prompted the Chicoutimi by-election.

Multi-Perspective Analysis

Left-Leaning View

Frames PQ's reclamation effort positively as defending Quebec identity against conservative upstarts like PCQ.

Centrist View

Presents the by-election as a straightforward partisan contest without endorsing either side.

Right-Leaning View

Highlights PCQ's defensive stand against PQ separatism, portraying it as protecting provincial unity.

Source & Verification

Source: Le Devoir RSS

Status: AI Processed

Want to dive deeper?

We've prepared an in-depth analysis of this story with additional context and background.

Featuring Our Experts' Perspectives in an easy-to-read format.

Future Snapshot

See how this story could impact your life in the coming months

Sign In to Generate

Exclusive Member Feature

Create a free account to access personalized Future Snapshots

Future Snapshots show you personalized visions of how insights from this story could positively impact your life in the next 6-12 months.

  • Tailored to your life indicators
  • Clear next steps and action items
  • Save snapshots to your profile

Related Roadmaps

Explore step-by-step guides related to this story, designed to help you apply this knowledge in your life.

Loading roadmaps...

Please wait while we find relevant roadmaps for you.

Your Opinion

Will PQ reclaim the Chicoutimi seat?

Your feedback helps us improve our content.

Support Independent Journalism

If you found this story valuable, consider supporting TheWkly to help us continue delivering quality news.

Comments (0)

Add your comment

Commenting as Guest

No comments yet. Be the first to share your thoughts!

Related Stories

TSA Officers Face No Pay and Departures Amid DHS Shutdown, Morale Low
Politics March 12, 2026

TSA Officers Face No Pay and Departures Amid DHS Shutdown, Morale Low

A lapse in funding at the Department of Homeland Security (DHS, U.S. agency overseeing border...

Uruguay lawmakers form commission to seek consensus on reducing speeding fine amounts
Politics March 12, 2026

Uruguay lawmakers form commission to seek consensus on reducing speeding fine amounts

In the House of Representatives, lawmakers have created a special commission to address a bill...

Pentagon Blocks Photographers from Last Two Hegseth Briefings on Iran Operation
Politics March 12, 2026

Pentagon Blocks Photographers from Last Two Hegseth Briefings on Iran Operation

The Pentagon did not allow photographers to cover the last two briefings by Defense Secretary...

Share this story
// Function to create a roadmap using our consolidated approach function createRoadmap(storyId) { // Show a loading indicator const loadingHtml = `

Creating your roadmap...

This may take a moment

`; document.body.insertAdjacentHTML('beforeend', loadingHtml); // Make the API call to create the roadmap using the enhanced unified approach fetch(`/api/roadmaps/create/${storyId}`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'IjQ5NjRlOThlNzVmODMxYzQzMTAwNTQxY2Q4ZjVjMmU0MDVlM2U3MmUi.abKhFQ.INKUaXO-oyMNxP3RSyUHY7HOAoY' } }) .then(response => response.json()) .then(data => { // Remove the loading indicator document.getElementById('loading-overlay').remove(); if (data.success) { // Show success message const successHtml = `

Roadmap Created!

Your learning path has been successfully created.

`; document.body.insertAdjacentHTML('beforeend', successHtml); } else { // Show error message const errorHtml = `

Error

${data.message || 'An error occurred while creating the roadmap.'}

`; document.body.insertAdjacentHTML('beforeend', errorHtml); } }) .catch(error => { // Remove the loading indicator document.getElementById('loading-overlay').remove(); // Show error message const errorHtml = `

Error

An unexpected error occurred. Please try again later.

`; document.body.insertAdjacentHTML('beforeend', errorHtml); console.error('Error creating roadmap:', error); }); } document.addEventListener('DOMContentLoaded', function() { // Auto-mark as read after 10 seconds // Function to load related roadmaps function loadRelatedRoadmaps() { // Load related roadmaps for this story console.log('Loading related roadmaps for story ID: 14996'); fetch('/api/stories/14996/related-roadmaps') .then(response => { if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } return response.json(); }) .then(data => { console.log('Related roadmaps API response:', data); const container = document.getElementById('roadmaps-container'); if (!container) { console.error('Roadmaps container not found in DOM'); return; } // Clear the loading indicator container.innerHTML = ''; if (data.roadmaps && data.roadmaps.length > 0) { console.log(`Found ${data.roadmaps.length} roadmaps to display`); // Render each roadmap card data.roadmaps.forEach(roadmap => { console.log(`Processing roadmap ID ${roadmap.id}: ${roadmap.title}`); const card = document.createElement('div'); card.className = 'p-4 bg-white rounded-lg border border-blue-200 hover:shadow-md transition-shadow'; let iconType = 'map'; if (roadmap.type === 'career') iconType = 'briefcase'; else if (roadmap.type === 'personal') iconType = 'user'; else if (roadmap.type === 'learning') iconType = 'graduation-cap'; else if (roadmap.type === 'financial') iconType = 'chart-line'; card.innerHTML = `

${roadmap.title}

${roadmap.description || 'Interactive step-by-step guide'}

${roadmap.step_count ? ` ${roadmap.step_count} steps` : ''} ${roadmap.created_by ? ` ${roadmap.created_by}` : ''}
`; container.appendChild(card); }); } else { console.log('No roadmaps found for this story'); // Show "no roadmaps" message with different content for logged in vs not logged in users const isLoggedIn = false; if (isLoggedIn) { container.innerHTML = `

No roadmaps found for this story yet.

Be the first to create one!

`; } else { container.innerHTML = `

Create your own roadmaps!

Sign up to create interactive step-by-step guides for this story and others.

`; } } }) .catch(error => { console.error('Error loading roadmaps:', error); const container = document.getElementById('roadmaps-container'); if (container) { container.innerHTML = `

Unable to load roadmaps at this time.

Error: ${error.message}

`; } }); } // Load roadmaps when page loads loadRelatedRoadmaps(); // Check for "roadmap_created" or "roadmap_updated" URL parameter and reload roadmaps if present const urlParams = new URLSearchParams(window.location.search); if (urlParams.has('roadmap_created') || urlParams.has('roadmap_updated')) { // Small delay to ensure the UI is ready setTimeout(loadRelatedRoadmaps, 500); } // Add event listeners to roadmap creation links to append return parameters document.querySelectorAll('a[href*="create_roadmap_from_story"], a[href*="create-roadmap-from-plan"]').forEach(link => { link.addEventListener('click', function(e) { // Store the current URL to return to this page const returnUrl = window.location.href.split('?')[0] + '?roadmap_created=true'; // Store in sessionStorage sessionStorage.setItem('roadmapReturnUrl', returnUrl); }); }); // Handle reaction buttons const reactionButtons = document.querySelectorAll('.reaction-btn'); reactionButtons.forEach(button => { button.addEventListener('click', function() { const reaction = this.dataset.reaction; const storyId = this.dataset.storyId; // Send reaction to server fetch(`/api/stories/${storyId}/reactions`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'IjQ5NjRlOThlNzVmODMxYzQzMTAwNTQxY2Q4ZjVjMmU0MDVlM2U3MmUi.abKhFQ.INKUaXO-oyMNxP3RSyUHY7HOAoY' }, body: JSON.stringify({ reaction_type: reaction }) }) .then(response => response.json()) .then(data => { if (data.success) { // Toggle active state if (data.added) { this.classList.add('border-blue-500', 'bg-blue-50', 'text-blue-700'); } else { this.classList.remove('border-blue-500', 'bg-blue-50', 'text-blue-700'); } // Update count if available const countElement = this.querySelector('.reaction-count'); if (data.count > 0) { if (countElement) { countElement.textContent = `(${data.count})`; } else { const countSpan = document.createElement('span'); countSpan.className = 'reaction-count'; countSpan.textContent = `(${data.count})`; const textElement = this.querySelector('span:not(.text-lg)'); textElement.appendChild(countSpan); } } else if (countElement) { countElement.remove(); } } }) .catch(error => { console.error('Error updating reaction:', error); }); }); }); });